我知道如何从我的主项目扩展Application类,但目前我也在扩展一个库项目(将代码解偶联),所以我以这样的方式执行:
1- public class MyMainApplication extends LibraryApp {...
2- public class LibraryApp extends Application {...
我的舱单:
<application
android:name="com.something.MyMainApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/MyMainAppTheme">事实上,所有的代码都很好用,但我想知道这种编码是否会破坏Android体系结构或其他什么东西。
发布于 2017-02-03 13:25:35
如果您确信在您的super.xx类中覆盖的所有方法中调用了LibraryApp (),那么这种方法就能很好地工作。
尽管如此,使用Application类基本上限制了您的用户。许多库使用自己的Application类(就像您一样),因为只有一个Application类,而且您只能在Java中扩展一个类,这就限制了用户使用应用程序类的一个库。
您真的需要扩展应用程序类吗?
最好是创建一个以应用程序上下文作为参数的单例初始化器类。然后您仍然可以访问上下文,并且可以注册您想要的任何内容。然后,用户不仅限于扩展应用程序类。
https://stackoverflow.com/questions/42025282
复制相似问题