我只是需要一些驗證,這是分享在我Activities
和我的應用程序的Services
一個SQLlite
數據庫連接一個可行的方法,通過使用一個輔助類:共享數據庫連接
public class DatabaseHelper
{
private static DBItems dbItems;
private static SQLiteDatabase sdbItemsRead, sbItemsWrite;
public static synchronized DBItems getHelper(Context context)
{
if (dbItems == null)
dbItems = new DBItems(context);
return dbItems;
}
public static synchronized SQLiteDatabase select(Context context)
{
if (sdbItemsRead == null)
sdbItemsRead = getHelper(context).getReadableDatabase();
return sdbItemsRead;
}
public static synchronized SQLiteDatabase write(Context context)
{
if (sbItemsWrite == null)
sbItemsWrite = getHelper(context).getWritableDatabase();
return sbItemsWrite;
}
}
在我的代碼我打電話是此選擇數據:
DatabaseHelper.select(this).rawQuery("SELECT * FROM TABLE");
和這個寫數據:
DatabaseHelper.write(this).update("tbl_items", cv, "[id] = ?", new String[] { itemId.toString() });
我需要這樣做,因爲我打電話從不同的線程(UI和背景)和我得到的數據庫「數據庫被鎖定」拋出異常。
什麼是你對寫作內容提供商? –
你的問題是什麼? – 2012-04-29 17:51:13
@sixfeetsix如果這是共享數據庫連接的好方法。在做我自己的研究之後,只是尋找一些驗證。 –