我有一個類延伸SQLiteOpenHelper
來管理我的數據庫的東西。我覺得很乏味要編寫這樣的代碼,使用我的數據庫(DBHelper
是SQLiteOpenHelper
對象):SQLiteOpenHelper靜態方法最佳實踐
DBHelper dbHelper = new DBHelper(context);
FeedResponse feedResponse = dbHelper.getFeedResponse(...);
dbHelper.close();
這有什麼錯用靜態方法代替上面的代碼,並使用它像這樣?在實施像這樣的數據庫訪問時,我會遇到哪些麻煩?
FeedResponse feedResponse = DBHelper.getFeedResponse(context, ...);
public static FeedResponse getFeedResponse(Context context, ...) {
DBHelper dbHelper = new DBHelper(context);
FeedResponse feedResponse = dbHelper.getFeedResponse(...);
dbHelper.close();
return feedResponse;
}
public FeedResponse getFeedResponse(...) {
//returns data from database
}
這樣做確實減少了總是創建(打字)的DBHelper
一個新實例,並關閉它沒有大驚小怪。這一切都在幕後進行。