我对Android编程比较陌生。所以,请原谅我写作或要求任何愚蠢的东西。我正在开发一个Android应用程序,我在其中使用SQLite数据库来存储数据。我需要从更多活动访问这个数据库,经过一些研究后我得出结论,最好的方法是使用Application类。但这是我的程序停止工作的地方。
我有我的Application类:
import android.app.Application;
public class MyApplication extends Application {
public CONTACT_DB = new CONTACT_DB(this);
}
其中CONTACT_DB类是我定义数据库的地方,并且有这个构造函数:
private final Context context;
private DatabaseHelper DBHelper;
public CONTACT_DB(Context ctx) {
this.context = ctx;
DBHelper = new DatabaseHelper(context);
}
现在在我的Activity中,我需要访问此数据库
public class Add_contact extends Activity {
CONTACT_DB db;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.add_contact_layout);
MyApplication appState = ((MyApplication)getApplicationContext());
db = appState.db;
}
}
我的程序工作正常,但是当它符合要求时
MyApplication appState = ((MyApplication)getApplicationContext());
然后它崩溃了。我试图只使用一个简单的int而不是我的CONTACT_DB类,它仍然会崩溃。有什么想法吗?
答案 0 :(得分:1)
您是否在清单中声明了自定义应用程序类?
例如:
<application
android:name="com.yournamespace.appname.MyApplication"
android:icon="@drawable/icon"
android:label="@string/app_name">