假设我在库项目中定义了一个共享活动类,对于使用它的任何应用程序都不更改,因此不需要进行子类化,是否可以找到一种创建应用程序的方法而不为它们继承此活动?
为了更好地解释我的问题,请说我在图书馆项目中有一个活动:
public class LibActivity extends Activity {
...
}
现在我正在使用该Library项目创建一个应用程序。我真的需要创建
public class AppActivity extends LibActivity {
// totally empty!
}
只有这样,应用程序才能在自己的AndroidManifest.xml
?
我是否可以采用简约方法,只有在需要修改库的活动核心行为时,我才会将活动子类化?
答案 0 :(得分:2)
以下是完全合格的答案:
是的,基于活动的应用程序不必从库的活动中派生活动。应用程序只是逐字地使用库的活动,未经修改。
是的,我可以通过简约方法获得一种方法,其中我将活动子类化仅当我需要修改库的活动核心行为时。
我已经能够在库和应用程序中使用相同的AndroidManifest.xml
来验证这一点。看看是否可以消除一些冗余将是有趣的。我会试验一下并报告回来。
UPDATE:果然,可以创建一个运行良好的应用程序,其中唯一的活动是在库中定义的,而库AndroidManifest.xml
没有任何{{1或<application>
!如果应用程序<activity>
拥有它们,则可以这样做。
答案 1 :(得分:1)
您可以直接从应用程序AndroidManifest.xml引用库Activity类。只需指定完全限定的名称,例如android:name="com.example.LibActivity"