を共有私は、これはヘルパークラスを使用することによって、私の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とバックグラウンド)からデータベースを呼び出しているので、 "データベースがロックされています"という例外がスローされているので、これを行う必要があります。
コンテンツプロバイダを作成するにはどうすればよいですか? –
あなたの質問は何ですか? –
@sixfeetsixこれがデータベース接続を共有する良い方法であれば。私自身の研究をした後、いくつかのバリデーションを探しています。 –