データベースフレームワークを実装する「Android の方法」とは何ですか?
2 つの目標:
- 「データベース」がsqliteデータベースまたはネットワーク上の何かになるように、十分に一般的である必要があります。
- マルチスレッドセーフである必要があります。(更新:「スレッドセーフ」とは、メイン UI スレッドで実行してはならず、データベース呼び出しが互いに競合してはならず、システムが結果をメイン UI スレッドに戻す方法を認識している必要があることを意味します。)
- 更新:構成の変更 (電話の向きの変更など) を認識する必要があります。
これは、ここと Android ドキュメントから収集したものです。
- データのクエリには LoaderManager を使用します。
- ContentProvider を作成します (1 & 2 でスレッドセーフになります)
- ContentProvider とデータの間に追加のクラスを配置します。
しかし、データの作成、更新、および削除についてはどうでしょうか。私が知る限り、LoaderManager はクエリ専用です。AsyncQueryHandler を使用する必要がありますか?
更新: AsyncQueryHandler は構成の変更を認識しません。Fragmentsが進むべき道かもしれないと読みました。または... AsyncQueryHandler 実装が構成の変更を処理することを確認する必要があります。