Android 安卓单例法

Android 安卓单例法,android,singleton,Android,Singleton,因此,我尝试使用Singleton方法创建一个应用程序。我想要一个类来存储关于我的设备的蓝牙状态/连接/设备的所有信息,并且我想要创建可以访问这些方法的多个活动 我知道我需要一个扩展应用程序的类,然后我可以通过调用getApplication()访问所有内容。我不明白的是,我在哪里初始化这个对象。从我的参考框架来看,我有所有这些独立的活动,如果我在其中初始化对象,我将需要使用意图将对象传递到下一个活动,这完全违背了使用singleton方法的目的 感谢您的帮助。如果您扩展了应用程序,您的类将在应

因此,我尝试使用Singleton方法创建一个应用程序。我想要一个类来存储关于我的设备的蓝牙状态/连接/设备的所有信息,并且我想要创建可以访问这些方法的多个活动

我知道我需要一个扩展应用程序的类,然后我可以通过调用getApplication()访问所有内容。我不明白的是,我在哪里初始化这个对象。从我的参考框架来看,我有所有这些独立的活动,如果我在其中初始化对象,我将需要使用意图将对象传递到下一个活动,这完全违背了使用singleton方法的目的


感谢您的帮助。

如果您扩展了应用程序,您的类将在应用程序启动时创建。可以使用getApplication()在活动类中检索它。

如果您扩展了应用程序,则会在应用程序启动时创建您的类。可以使用getApplication()在活动类中检索它,只需从android.app.Application扩展即可。然后在您的
AndroidManifest.xml
中将其注册为应用程序类:

<application android:name="mypackage.MyApplication" ...>
您将能够在其中初始化全局实例

在“活动”中,通过以下方式获取MyApplication向下广播的实例:

MyApplication app = (MyApplication) getApplication();

希望这能有所帮助。

只需从
android.app.Application
扩展即可。然后在您的
AndroidManifest.xml
中将其注册为应用程序类:

<application android:name="mypackage.MyApplication" ...>
您将能够在其中初始化全局实例

在“活动”中,通过以下方式获取MyApplication向下广播的实例:

MyApplication app = (MyApplication) getApplication();
希望对您有所帮助。

请点击此处:

在这里:

这里:

检查这里:

在这里:


这里:

我不知道你说的哈哈哈是什么意思。我不知道你说的哈哈哈是什么意思。谢谢!那么它是自动初始化的?因此,如果我为类创建一个构造函数,它会在类启动之前执行,基本上,每当我想在任何活动中访问它时,我都会调用“getApplication().anyMethod()?”它有一个onCreate方法,它将被自动调用,您可以在其中进行初始化。是的,您可以使用getApplication()访问它。谢谢!那么它是自动初始化的?因此,如果我为类创建一个构造函数,它会在类启动之前执行,基本上,每当我想在任何活动中访问它时,我都会调用“getApplication().anyMethod()?”它有一个onCreate方法,它将被自动调用,您可以在其中进行初始化。是的,你可以用getApplication()访问它。我给了另一个人答案,因为他首先回答了。对不起:/如果你可以用静态变量创建一个简单的单独类,那么这有什么好处?@mschonaker我不知道你是否知道错在哪里,但我非常关注这个示例,但我遇到了一些问题。无论我在哪里调用(MyApplication)getApplication(),程序都会崩溃,我收到一个“ClassCastException”如果你对我应该做什么有任何想法,请告诉我我给了其他人答案,因为他先回答了对不起:/如果你可以创建一个带有静态变量的简单独立类,这有什么好处?@mschonaker我不知道你是否知道错在哪里,但是我非常关注这个例子,但是有一些问题。无论我在哪里调用(MyApplication)getApplication(),程序都会崩溃,我会收到一个“ClassCastException”。如果您对我应该做什么有任何想法,请告诉我