想写一个 SQLite 的小项目,我想在任何线程地方直接对数据库进行修改,想做个静态对象。测试发现只有最开始创建 Helper 的时候用到了 Context ,所以有两种方法。
- 第一种,在程序最开始就在 Activity 中调用一次
getWritableDatabase然后以后就可以应该就不用 Context 了 - 第二种,单独建一个 Activity 提供 Context ,这样也解决很多其他的问题,比如某线程内使用 Toast ,但是总觉得这种方式不太好。
望各位 V 友指教 Orz
ps. 其实就是对 Context 这种东西不是很熟,各位是怎么用的?
private static MyDatabaseHelper dbHelper = null;//静态对象引用
public static MyDatabaseHelper getInstance(Context context) {
if (dbHelper == null) {
Log.i(TAG, "getInstance: 创建 helper");
// 发现只有最开始创建的时候使用了 Context ,以后也不会再用了。
dbHelper = new MyDatabaseHelper(context);
}
return dbHelper;
}
private MyDatabaseHelper(Context context) {
super(context, DB_NAME, null, VERSION);
}