在android中扩展Application类两次

时间:2017-03-15 15:45:16

标签: android

是否可以在android中扩展Application类两次并在应用程序中有两个孩子?还有为什么我们需要它&扩展它的目的是什么?

3 个答案:

答案 0 :(得分:1)

  

是否可以在android中扩展Application类两次并在应用程序中有两个子类?

Application元素的android:name属性中只能有一个已注册的<application>子类。您可以根据需要创建Application的子类,但只能使用一个。{1}}。不过,欢迎您MyApp延长ApplicationMyOtherApp延长MyApp,并在清单中注册MyOtherApp

  

还有我们为什么需要它

很少有应用需要它。引用the documentation,“通常不需要子类化应用程序”。

  

扩展它的目的是什么?

如果您每次Android为您分配流程时都需要执行应用程序逻辑,Application是触发该逻辑的常见位置。例如,大多数崩溃日志记录库(例如,ACRA)都可以在Application子类中对它们进行配置,这样它们就可以处理应用程序中其他任何位置的崩溃事件。

答案 1 :(得分:1)

你想要这样的东西吗?

MyApp extends Application
MySecondApp extends MyApp

这是可能的。有几个用例。例如,为您的应用程序定义一个应用程序,但为特定的构建类型或产品风格(例如调试)覆盖它。或者您的(Android)测试的自定义应用程序:

MyApp extends Application
MyDebugApp extends MyApp
MyTestApp extends MyApp/MyDebugApp

根据AndroidManifest定义每个Application Class:

MyApp => main package
MyDebugApp => debug package
MyTestApp => androidTest package

答案 2 :(得分:0)

是的,这是可能的。扩展类的原因是重用父类中编写的代码并扩展其功能。