データのリストを示すフラグメントと、バックグラウンドでデータを更新するさまざまなスレッド/クラス間の参照を処理するにはどうすればよいですか。このため、Observer-infまたは類似のものを介してフラグメントの外部から強制的に更新する必要があります。ベストプラクティス:フラグメント間のアンドロイドデータベース参照の管理
現在、私はデフォルトの設定に基づいて、新しいSqlLiteDatabaseオブジェクトを作成するためにdummy factory-classを使用しています。
public static SQLiteDatabase initFor(Context context) {
db = context.openOrCreateDatabase(NAME, SQLiteDatabase.CREATE_IF_NECESSARY, null);
db.setLocale(Locale.getDefault());
db.setVersion(1);
db.setLockingEnabled(true);
return db; }
それから私は、同じデータ・インサータ・スレッドに適用され、各フラグメントからこれを呼び出すとアダプタを設定します。データベースを閉じるために、私は自分のアクティビティのonDestroy()をオーバーライドして、initFor(this).close();を呼び出します。 。
これは非常に醜いので、方向変更に失敗します。私はSQLiteOpenHelperについて考えているが、それがどのように役立つのかわからない。
この問題に関する解決策はまだありますか? –
まあまあではありませんが、ベストプラクティスのsoloutionは常に高く評価されています。 とにかく、ActiviteがSqlLiteDatabaseへの参照を扱う抽象クラスDatabaseActivityを継承するようになりました。私はシングルトンを避けることを好む。 – tkhduracelll
将来的に他の人が分かりやすくなるように、フラグメントが変更されたら、同じクエリとカーソルを使用していたのでしょうか、それらを再構築していましたか? –