我一生都无法弄清楚如何通过 Android 应用程序中的多个活动访问 SQLite DB。我尝试使用应用程序类,但它不起作用。有人可以向我展示一个如何工作的例子吗?我基本上有一个标签栏设置,需要从每个标签访问数据库。
谢谢
也许这可以让你开始:
private MessagesDatabaseAdapter mDatabaseAdapter;
...
private void someMethod(Context context) {
mDatabaseAdapter.open();
mDatabaseAdapter.insertMessage(timestamp, number, body);
mDatabaseAdapter.close();
}
在你的 DBClass
/*Inserts a message into the db */
public void insertMessage(long timestamp, String number, String body) {
ContentValues initialValues = new ContentValues();
initialValues.put(KEY_TIMESTAMP, timestamp);
initialValues.put(KEY_NUMBER, number);
initialValues.put(KEY_BODY, body);
db.insert(Constants.DATABASES_TABLE_MESSAGES, null, initialValues);
}
/* opens the database */
public MessagesDatabaseAdapter open() throws SQLException {
db = DBHelper.getWritableDatabase();
return this;
}
/* closes the database */
public void close() {
DBHelper.close();
}
这个教程非常好,虽然它不是你提到的你可以从中获得基础知识。
使您的 DB 类成为单例,您将能够在所有活动中使用它。不要关闭数据库,app进程结束时会自动关闭。