私のアプリにはたくさんFragments
あります。ViewPager
アプリケーションの開始時に、そのうちの 3 つがデータベースに接続してデータを取得しようとします。
データベースの処理には、シングルトン パターンを使用しSQLiteOpenHelper
ます。データベースが必要なときは、次のように呼び出しますSQLiteDatabase db=DatabaseHelper.getInstance(this.getContext()).getWritableDatabase();
。
問題:
でデータベースを閉じないと、当然のdb.close()
ことになります。android.database.sqlite.DatabaseObjectNotClosedException
私もです。しかし、これはシングルトン アプローチであるため、フラグメントの 1 つがデータの取得を完了すると、データベースが閉じられ、残りのフラグメントはそれを使用できなくなります。
データベースから何かを読み取るたびに、データベースが開いているかどうかを確認するのは非常に冗長に思えます。他に何ができますか?