2016-07-22 9 views
1
私は2を考えてる

はJSONファイル Androidのキャッシュ読み取り専用のREST APIレスポンスオフライン

  • のJava POJOをキャッシュとしてJSONレスポンスをキャッシュ

    • に近づく(JSONレスポンスはすでにデシリアライズされ Retrofitを使用して)Reservoirを使用してください。データの

    説明:私はここにキャッシュしたい
    データは、電子商取引サイトからの20の製品のリストです。複雑なオブジェクトではなく、ここではjsonapi.orgの仕様が使用されているため、ネストはありません。 Retrofitでは、Productが10個未満のJavaモデルクラスであるProduct POJOを20個取得できます。

    どちらのアプローチが優れているのですか?その理由は何ですか?私は

    • データの整合性は、例えば
    • がある書き込み操作を必要とする場合、それはより高価でのみ適していると思うので、

      私はSQLiteのデータベースを考慮していませんよそれは実際に2つの主要な要因に依存して複雑な関係
  • 答えて

    1

    とのデータのショッピングカート

  • 大きな金額: 1.ユースケース 2.特定のシステムであるどのように快適。

    あなたの意見はあなたに合っています。あなたが本当にDBやデータ構造のようなDBを必要とするなら、SQLiteはOKです。 SQLiteをGreenDAOやORMLiteのようなORMシステムでラップすることができます。また、Realm、より多くのObject Orientedアプローチ(問題あり)もあります。

    SharedPreferences(個人的にはこのアプローチが嫌いです)を選択することもできますし、ファイルへのパーサブルまたはJavaシリアル化を使用してPOJOをシリアル化することもできます。それは本当にあなたが達成したいと思っているアプローチに依存します。 SQLの場合は

    指向良いですが、あなたはその良いマッピングをする必要はありませんSQLの大きなユーザーベースは、DBの存在です。

    レルム、モバイルデバイス用のDB(良い)に次の大きいものになるが、それはまだ未熟だとあなたは(悪い)を取得する際に具体的なクラスと仕事をしなければならないかもしれませんが、私は抽象/インターフェース/ベースをお勧めしますクラス。

    Parcelable - あなたは多くのコード(悪い)を記述する必要がありますが、それはかなり速いです(良い

    Javaのシリアライズ - 任意の直列化可能クラス、シリアル化なしのコードを、リファクタリングしやすい良い中小規模のデータの場合本当に大量のデータの場合はRef30を使用するため、それほどうまくいきません。

  • 関連する問題