4

カスタム AsyncTaskLoaders を実装する方法に関するチュートリアルがいくつかありますが、データ キャッシュの処理方法について説明しているチュートリアルは見つかりませんでした。それらのすべてで、データがロードされて配信されるだけです。

キャッシュされたバージョンのデータをすぐに返すカスタム AsyncTaskLoader を実装する方法のヒントを教えてください。同時に、データの更新を要求し、更新されたバージョンを到着するとすぐに配信します。これはローダーでも可能ですか、それとも別のメカニズムを使用する必要がありますか?

背景: データ読み込みのリクエストを受け入れ、ブロードキャストで結果を配信する IntentService があります。ArrayAdapter または CrusorAdapter からのデータを表示する UI (ListView) があります。最新の既知のバージョンのデータをすぐに表示できるようにする「キャッシュ」レイヤーが必要ですが、新しいデータが到着するとすぐに更新を発行して再表示します。

これは、即時バージョン用のダムSQLiteデータベースと新しいデータ更新用のブロードキャストレシーバーを使用して実行できますが、ローダー派生クラスIMHOのように、この「バックゴーランド」データ読み込みメカニズムを透過的にするものを優先します。

4

1 に答える 1

-1

はい、AsycnTaskこれを行うための最良の方法です。のキャッシュに書き込むだけonPostExecute()ですAsyncTask。これは、データ時間を比較するタイム スタンプを作成することで実行できます。新しい時間があれば、そのデータを使用します。そうしないと、すべてのデータを比較する必要があり、貴重な時間とリソースがかかる可能性があるため、データの量によって異なります。

役立つリンクは次のとおりです。

http://developer.android.com/training/effective-downloads/redundant_redundant.html

于 2012-08-21T13:17:20.453 に答える