2
什麼被認爲是處理數據庫連接的最佳實踐? (我忽略了DatabaseHelper類中的構造函數和onUpgrade方法)這些只是我在互聯網上找到的兩種方式,也許你有更好的處理方式?我很想聽到。Android數據庫連接最佳實踐
選項1
public class DatabaseManager {
private SQLiteDatabase mDb;
public DatabaseManager(Context context) {
DatabaseHelper helper = new DatabaseHelper(context);
helper.getWritableDatabase();
}
// ... methods that use mDb
private class DatabaseHelper extends SQLiteOpenHelper {
@Override
public void onCreate(SQLiteDatabase db) {
mDb = db;
//create database
}
@Override
public void onOpen(SQLiteDatabase db) {
mDb = db;
}
}
}
選項2
public class DatabaseManager {
private DatabaseHelper mDbHelper;
public DatabaseManager(Context context) {
mDbHelper = new DatabaseHelper(context);
}
// ... methods that fetch the db
private void sampleMethod() {
SQLiteDatabase db = mDbHelper.getWritableDatabase();
//do stuff with database
mDbHelper.close();
}
private static class DatabaseHelper extends SQLiteOpenHelper {
@Override
public void onCreate(SQLiteDatabase db) {
//create database
}
}
}
而且,是它需要調用close()每次你選擇2中使用的數據庫?至於使用選項1,我猜你需要在應用程序的onDestroy被調用時調用close()方法?