Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从库项目扩展应用程序_Java_Android_Architecture_Extends_Extending Classes - Fatal编程技术网

Java 从库项目扩展应用程序

Java 从库项目扩展应用程序,java,android,architecture,extends,extending-classes,Java,Android,Architecture,Extends,Extending Classes,我知道如何从我的主项目扩展应用程序类,但目前我也从库项目扩展(以解耦代码),因此我以这种方式执行: 1-公共类MyMain应用程序扩展LibraryApp{… 2-公共类LibraryApp扩展应用程序{… 还有我的舱单: <application android:name="com.something.MyMainApplication" android:allowBackup="true" android:icon="@mipmap/ic_launcher"

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

1-
公共类MyMain应用程序扩展LibraryApp{…

2-
公共类LibraryApp扩展应用程序{…

还有我的舱单:

<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(),这将很好地工作

不过,使用应用程序类基本上会对用户造成很大的限制。许多库都使用自己的应用程序类(像您一样),而且由于只能有一个应用程序类,并且您只能在Java中扩展一个类,因此用户只能使用一个使用该应用程序类的库

您真的需要扩展应用程序类吗?

最好创建一个以应用程序上下文为参数的单例初始值设定项类。这样,您仍然可以访问上下文,并且可以注册任何您想要的内容。这样,用户就不局限于扩展您的应用程序类。

是的,我需要扩展应用程序类,因为其中包含第三方库正如我在他们的官方文件中看到的那样,我的图书馆项目正在那里初始化。