所以我正在尝试使用单例方法制作应用程序。我想有一个类来存储有关我设备的蓝牙状态/连接/设备的所有信息,并且我想进行多个可以访问这些方法的活动。
我知道我需要一个扩展 Application 的类,然后我可以通过调用 getApplication() 来访问所有内容。我不明白的是我在哪里初始化这个对象。从我的参考框架来看,我有所有这些单独的活动,如果我将对象初始化为一个,我将需要使用意图将对象传递给下一个活动,这完全违背了使用单例的目的方法。
任何帮助将不胜感激,谢谢。
简单地从android.app.Application
. 然后将其注册为您的应用程序类AndroidManifest.xml
:
<application android:name="mypackage.MyApplication" ...>
在您的课堂上,您将收到通常的 Android 电话,例如
@Override
public void onCreate() { }
您将能够在其中初始化全局实例。
在活动中获取 MyApplication 向下转换的实例:
MyApplication app = (MyApplication) getApplication();
希望有帮助。
如果您扩展应用程序,您的类将在您的应用程序启动时创建。可以使用 getApplication() 在 Activity 类中检索它
在这里检查:http ://www.kodejava.org/examples/12.html
在这里: http: //www.devahead.com/blog/2011/06/extending-the-android-application-class-and-dealing-with-singleton/
在这里:http: //inhoo.net/mobile-development/android-development/android-global-variables/