この優れたユーザビリティパターンに従いたいと思います。アプリはデータをオフラインで保存して応答を高速化し、新しいデータをオンラインで取得したときに更新します。
そして、私はで使用Loaders
しLoaderManager
ます。
さて、前述のアプローチを実装するための正しいアプローチは何Loaders
ですか?
現在、私は2つのアプローチを使用していますが、欠点があり、一般的にあまりエレガントではありません。
- SQLiteではなくアプリケーションコンテキストにデータを保存する
- 2つの別々の
AsyncTaskLoaders
-offlineLoader
とonlineLoader
。1つ目はSQLiteデータベースからデータをフェッチし、そこにある場合はすぐに表示し、2つ目は外部サーバーからデータをロードしてデータベース(offlineLoaderの場合)に書き込み、オフラインデータを置き換えます
私が本当に欲しいのは:
データをオフラインでフェッチしてLoaderManagerに返す単一のローダーですが、その後も引き続き機能し、準備ができたら新しいオンラインデータを返します。したがって、2回戻る必要があります-それも可能ですか?