基于活动的应用程序可以没有活动吗?

发布于 2024-11-17 21:46:33 字数 455 浏览 3 评论 0原文

假设我在库项目中定义了一个共享活动类,对于任何使用它的应用程序来说,它都不会发生变化,因此不需要子类化,我可以找到一种方法吗创建应用程序而不为它们子类化此活动?

为了更好地解释我的问题,假设我在图书馆项目中有一个活动:

public class LibActivity extends Activity {
 ...
}

现在我正在使用该图书馆项目创建一个应用程序。我真的需要创建

public class AppActivity extends LibActivity {
 // totally empty!
}

Only 以便应用程序拥有自己的 Activity 以在其自己的 AndroidManifest.xml 中引用吗?

我是否可以找到一种采用简约方法的方法,即仅当我需要修改库的活动核心行为时才对活动进行子类化?

Assuming I have a shared activity class defined in a Library project, which does not change for any application using it and thus does not need to be subclassed, can I get a way with creating applications without subclassing this activity for them?

To better explain my question, say I have a single activity in a Library project:

public class LibActivity extends Activity {
 ...
}

And now I am creating an application using that Library project. Do I really need to create

public class AppActivity extends LibActivity {
 // totally empty!
}

Only so that the application have its own activity to be referenced in its own AndroidManifest.xml?

Can I get a way with a minimalistic approach, in which I subclass the activity only if I need to modify the library's activity core behavior?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

这是完全合格的答案:

是的,基于活动的应用程序不必从库的活动中派生活动。该应用程序只是逐字使用该库的活动,未进行修改。

是的,我可以采用一种简约的方法,其中仅当我需要修改库的活动核心行为时才对活动进行子类化。

我已经能够使用库和应用程序中相同AndroidManifest.xml 来验证这一点。看看是否可以消除其中一些冗余将会很有趣。我将对此进行实验并报告。

更新:果然,可以创建一个完美运行的应用程序,其中唯一的活动在库中定义,并且库的 AndroidManifest.xml 没有任何 <代码><应用程序>或<代码><活动>!如果应用程序的 AndroidManifest.xml 包含它们,则这是可能的。

Here is the fully qualified answer:

Yes, an activity based application doesn't have to derive an activity from the library's activity. The application simply uses the library's activity verbatim, unmodified.

Yes, I can get a way with a minimalistic approach, in which I subclass the activity only if I need to modify the library's activity core behavior.

I have been able to verify this with an AndroidManifest.xml that is identical in both the library and the application. It would be interesting to see whether some of this redundancy can be eliminated. I will experiment with this and report back.

UPDATE: Sure enough, it is possible to create a perfectly running application in which the only activity is defined in the library and the library's AndroidManifest.xml doesn't have any <application> or <activity>! This is possible if the application's AndroidManifest.xml has them.

如此安好 2024-11-24 21:46:33

您可以直接从应用程序 AndroidManifest.xml 引用库 Activity 类。只需指定完全限定名称,如下所示 android:name="com.example.LibActivity"

You can reference library Activity classes directly from your application AndroidManifest.xml. Just specify the fully qualified name like so android:name="com.example.LibActivity"

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文