1

私はAndroidアプリの開発を学んでおり、UIとネットワークAPI呼び出しを行う部分を分離する必要があります。将来、キャッシュが行われる可能性があります。

データのフェッチとキャッシュをまとめるためにコンテンツプロバイダークラスを使用する必要がありますか?どのように私はそれから利益を得るでしょうか?

または、カスタムクラスを作成する必要がありますか?

4

3 に答える 3

2

First of all you could check this Google I/O video about REST best practices - it's real nice)))

ContentProvider would give you a possibility to use ContentObserver to monitor changes in ContentProvider and automatically refetch data to UI. But you would need to implement lot's of different things and write lots of code.

Second approach is to use SQLiteOpenHelper + manually notify you UI about changes in DB (your cache) via LocalBroadcast, for example.

I think both ways are useable, so it's up to you and depends only on your requirements.

于 2013-01-24T11:55:02.840 に答える
1

もう1つの考えは、Googleのローダ​​ークラスを使用することです。これは、ローテーションを通じて存続し、ローダーを実装して、ここに示すように基本的なHttp接続を実行できるためです。Evosが言ったことはすべて真実であったことを覚えておいてください。これは単なる別のアイデア/代替案です。

AsyncTasksも調べてください

于 2013-01-24T12:01:17.607 に答える
1

2つのライブラリを使用し、それを1つのカスタムクラスに結合しました。

AsyncHttpClient、ネットワーク呼び出しとDataManagement(単純なデータベース)キャッシングを行うために使用されます。

カスタムクラスは、データベースでキャッシュが使用可能かどうかを確認します。使用可能な場合は、キャッシュからデータを返します。そうでない場合は、ネットワーク呼び出しが行われ、応答がデータベースにキャッシュされます。

于 2013-01-24T15:16:58.153 に答える