0

我目前正在制作一个只有三个类的应用程序。两个活动和一个应用程序类。从到目前为止我对 Applications 的了解来看,该类在程序开始时会自行初始化,这是否意味着我不需要在每个 Activity 中初始化该类的 Object?

我的程序每次都在开始时崩溃并返回一个 ClassCastException,我假设这与我的 Application 类有关,因为它是我在所有代码中所做的唯一类强制转换。作为一个局部变量,我有

protected BluetoothApplication myBt;

在我的 onCreate() 方法中,我调用

myBt = (BluetoothApplication)getApplication();
4

2 回答 2

2

不,您不需要手动初始化它,但您可以使用它getApplicationContext()来获取应用程序类的实例,例如:-

MyApplication application = ((MyApplication)getApplicationContext());

您还可以通过将 Context 传递给该类,然后使用该上下文获取 Application 类的实例,从非活动类访问 Application 类,

MyApplication application = ((MyApplication)context.getApplicationContext());
于 2012-06-18T13:03:48.573 回答
1

BluetoothApplication 是 Android 默认应用程序类的自定义子类吗?如果是这样,那么您是否在 AndroidManifest.xml 中告诉 Android 使用该类而不是默认的 Application 类?

有关详细信息,请参阅Android 应用程序 API 。

于 2012-06-18T13:01:36.713 回答