所以我正在尝试使用Singleton方法创建一个应用程序。我想有一个类存储有关我的设备的蓝牙状态/连接/设备的所有信息,我想制作多个可以访问这些方法的活动。
我知道我需要一个扩展Application的类,然后我可以通过调用getApplication()来访问所有内容。我不明白的是我初始化这个对象的地方。从我的参考框架,我有所有这些单独的活动,如果我将对象初始化为一个,我将需要使用意图将对象传递给下一个活动,这完全违背了使用单例的目的方法。
任何帮助都将不胜感激,谢谢。
答案 0 :(得分:2)
只需从android.app.Application
延伸即可。然后在AndroidManifest.xml
:
<application android:name="mypackage.MyApplication" ...>
在课堂上,您会收到常规的Android通话,例如
@Override
public void onCreate() { }
您可以在其中初始化全局实例。
在活动中使用以下命令获取MyApplication向下转型的实例:
MyApplication app = (MyApplication) getApplication();
希望有所帮助。
答案 1 :(得分:1)
如果您扩展了应用程序,您的课程将在您的应用程序启动时创建。可以使用getApplication()
在Activity类中检索它答案 2 :(得分:1)