5

SQLite データベースが開いているかどうかを確認したいのですが、開いている場合は、サービス クラス内でそのデータベースにアクセスしたいと考えています。

データベースへの複数の open 呼び出しが衝突し、例外がスローされることを心配しています。Activity クラスと Service クラスの両方でデータベースにクエリを実行するため、Commonsware が推奨するソリューションを実装しようとしています: When to close db connection on android? 操作が終了した後、またはアプリが終了した後。ただし、アクティビティで必要になる可能性がある場合は、 Service クラス内でデータベースを閉じてから開きたくありません。この回答からなぜ SQLiteDatabase よりも SQLiteOpenHelper を使用するのですか? 、複数の呼び出しを行う問題を解決するために SQLiteOpenHelper を実装することは理にかなっているように見えます。

お世話になりました!

4

2 に答える 2

-2

アクティビティ put datasource.open(); の onCreate で 次に、必要なことを行い、アクティビティの最後にこれを閉じます:

  /** Call after close activity */
@Override
protected void onStop() {
    super.onStop();
    //Close dataSource
    datasource.close();
}
于 2013-06-27T16:48:31.653 に答える