从库项目扩展应用程序



我知道如何从我的主项目扩展应用程序类,但目前我也从库项目扩展(解耦代码),所以我以这种方式执行:

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 架构中的某些东西或其他什么。

如果您确定在 LibraryApp 类中覆盖的所有方法中调用 super.xx(),这将正常工作。

但是,使用应用程序类基本上会限制您的用户很多。许多库使用自己的应用程序类(像你一样),并且由于只能有 1 个应用程序类,而您只能在 Java 中扩展 1 个类,因此将用户限制为 1 个使用 Application 类的库。

是否确实需要扩展应用程序类?
最好创建一个将应用程序上下文作为参数的单一实例初始值设定项类。然后,您仍然可以访问上下文,并且可以注册所需的任何内容。然后,用户不限于扩展应用程序类。

相关内容

  • 没有找到相关文章

最新更新