[英]Android database connection best practice
什么是處理數據庫連接的最佳實踐? (我省略了DatabaseHelper類中的構造函數和onUpgrade方法)這只是我在Internet上找到的兩種方法,也許您有更好的處理方法? 我很想聽聽。
選項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
}
}
}
此外,是否每次使用選項2中的數據庫都需要調用close()? 至於使用選項1,我猜您需要在調用應用程序的onDestroy時調用close()嗎?
我曾經為此擔心,但是最近我開始使用ORMLite 。 這是帶有Android庫的非常輕巧的ORM,省去了您為此類問題而煩惱的麻煩。
我要說的是,這很快將成為最佳實踐,因為它在處理數據庫時消除了很多重復的代碼。 它還會定期進行更新,維護人員會非常迅速地響應查詢。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.