1

アクティビティからデータベース操作を実行している場合、同時にAndroidサービスが開始されている場合(データベース挿入も実行している場合)、Androidのsqlite3データベースに複数回同時に書き込むにはどうすればよいですか?データベース操作を処理する方法。

アンドロイド開発者のウェブサイトが言うように http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html#setLockingEnabled%28boolean%29

そのSetLocakingEnabled"メソッドは非推奨になりました"。では、データベースで複数の書き込み(挿入)操作にアクセスする方法を説明します。

http://www.sqlite.org/faq.html#q5をロックするためのsqliteのドキュメントも参照しました

同じ例を教えてください。

ありがとう

4

1 に答える 1

0

複数の書き込みアクセスの意味がわかりません。しかし、おそらくやりたいことは、トランザクションでデータベースをロックして挿入を実行し、完了したらトランザクションを終了することです。

//in your database access class...assuming you have a list of objects to insert

public function void multiple_write(ArrayList<Object> list) {
  //this locks the database
  db.beginTransaction();
  for (Object obj : list) {
    db.insert(TABLE_NAME, null, getContentValues(obj));
  }

  db.setTransactionSuccessful();
  //this completes your transaction
  db.endTransaction();
}
于 2012-08-22T15:43:52.477 に答える