【发布时间】:2014-03-08 06:21:55
【问题描述】:
我正在从 java 转向 android 开发。以前我在 java 中研究过 Hybernates。所以android sqlite数据库处理让我有点困惑。我正在使用单例数据库帮助程序类,并创建了用于在我的帮助程序类本身中打开和关闭 daabase 的方法,如下所示...
public class DatabaseManager extends SQLiteOpenHelper {
private static DatabaseManager instance;
public static DatabaseManager getInstance(Context context) {
if (instance == null)
instance = new DatabaseManager(context);
return instance;
}
public static DatabaseManager getInstance() {
return instance;
}
@Override
public void onCreate(SQLiteDatabase db) {
//CREATING TABLES...
}
public SQLiteDatabase getReadableDatabase(String logMsg) {
Log.d(TAG, "Readable database opening from :" + logMsg);
return super.getReadableDatabase();
}
public SQLiteDatabase getWritableDatabase(String logMsg) {
Log.d(TAG, "Writable database opening from :" + logMsg);
return super.getWritableDatabase();
}
public void closeDb(SQLiteDatabase db, String logMsg) {
db.close();
Log.d(TAG, "Closing db from :" + logMsg);
}
}
现在我的情况是我正在开发一个消息传递应用程序。因为会有一些监听器跑回来,他们在应用程序数据库的这些表之一中插入/检索数据。我计划在我的活动中使用内容提供程序从消息表中加载带有ResourceCursorAdapter 的列表视图。如果我在后台和活动中打开和关闭数据库(onResume,onPause)会导致问题吗?如果这不是正确的方法,我应该如何处理这种情况?提前谢谢....
【问题讨论】:
标签: android android-listview android-asynctask android-sqlite android-cursoradapter