我目前正在制作一个只有三个班级的应用程序。两个活动和一个Application类。从我到目前为止学到的应用程序,该类在程序开始时初始化,这是否意味着我不需要在每个Activity中初始化类的Object?
我的程序每次都在开始时崩溃并且返回一个ClassCastException,我假设它与我的Application类有关,因为它是我在所有代码中进行的唯一类转换。作为一个局部变量,我有
protected BluetoothApplication myBt;
并在我的onCreate()方法中调用
myBt = (BluetoothApplication)getApplication();
答案 0 :(得分:2)
不,您不需要手动初始化它,但您可以使用getApplicationContext()
获取应用程序类的实例,例如: -
MyApplication application = ((MyApplication)getApplicationContext());
您还可以通过将Context传递给该类,然后使用该上下文获取Application类的实例,从非活动类访问Application类,
MyApplication application = ((MyApplication)context.getApplicationContext());
答案 1 :(得分:1)
BluetoothApplication是Android默认应用程序类的自定义子类吗?如果是这样,那么您是否告诉AndroidManifest.xml中的Android使用该类而不是默认的Application类?
有关详细信息,请参阅Android Application API。