我有一些的Android項目,其中大部分與SQLite數據庫連接。我感興趣的是使用靜態類如「DatabaseHelper.class」,其中我將擁有與數據庫操作相關的所有靜態方法,這是一種很好的編程習慣(或不好的習慣)。例如可以使用靜態「數據庫幫助程序」類嗎?
public static int getId(Context context, String name) {
dbInit(context);
Cursor result = db.rawQuery("SELECT some_id FROM table WHERE some_name = '" + name + "'", null);
result.moveToFirst();
int id = result.getInt(result.getColumnIndex("some_id"));
result.close();
return id;
}
其中DBINIT(上下文)是
private static void dbInit(Context context) {
if (db == null) {
db = context.openOrCreateDatabase(DATABASE_NAME, Context.MODE_PRIVATE, null);
}
}
後來,當我需要的東西,我可以很容易地調用這些方法(在數據庫manipluation我所有的靜態方法使用) (一個或多個)與例如
int id = DatabaseHelper.getId(this, "Abc");
編輯:是否必須在每個連接上使用dbClose或將其保留爲每個活動並關閉每個活動?那麼,我是否已經將上面的代碼更改爲這樣的內容?
...
dbClose();
return id;
}
private static void dbClose() {
if (db != null) {
db.close();
}
}
一個池是一個單純的sqlite連接的矯枉過正,因爲那些只需要花費0.2ms打開,所以這樣做,但跳過池 – 2011-02-27 09:40:34
@丹,因此「初始池可以非常簡單」... – 2011-02-27 09:54:02