私はAndroidアプリの開発を学んでおり、UIとネットワークAPI呼び出しを行う部分を分離する必要があります。将来、キャッシュが行われる可能性があります。
データのフェッチとキャッシュをまとめるためにコンテンツプロバイダークラスを使用する必要がありますか?どのように私はそれから利益を得るでしょうか?
または、カスタムクラスを作成する必要がありますか?
私はAndroidアプリの開発を学んでおり、UIとネットワークAPI呼び出しを行う部分を分離する必要があります。将来、キャッシュが行われる可能性があります。
データのフェッチとキャッシュをまとめるためにコンテンツプロバイダークラスを使用する必要がありますか?どのように私はそれから利益を得るでしょうか?
または、カスタムクラスを作成する必要がありますか?
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.
もう1つの考えは、Googleのローダークラスを使用することです。これは、ローテーションを通じて存続し、ローダーを実装して、ここに示すように基本的なHttp接続を実行できるためです。Evosが言ったことはすべて真実であったことを覚えておいてください。これは単なる別のアイデア/代替案です。
AsyncTasksも調べてください
2つのライブラリを使用し、それを1つのカスタムクラスに結合しました。
はAsyncHttpClient
、ネットワーク呼び出しとDataManagement
(単純なデータベース)キャッシングを行うために使用されます。
カスタムクラスは、データベースでキャッシュが使用可能かどうかを確認します。使用可能な場合は、キャッシュからデータを返します。そうでない場合は、ネットワーク呼び出しが行われ、応答がデータベースにキャッシュされます。