私は大量のデータを含むListViewを持っています。
初めて、Webサービスからすべてのデータを読み込みます。AndroidでListViewのキャッシュを実装する方法
ここでデータをキャッシュして、そのページを再び開くと、Webサービスに再度クエリするのではなく、キャッシュからデータを取得できるようにしたいと思います。
どうすればよいですか。
私は大量のデータを含むListViewを持っています。
初めて、Webサービスからすべてのデータを読み込みます。AndroidでListViewのキャッシュを実装する方法
ここでデータをキャッシュして、そのページを再び開くと、Webサービスに再度クエリするのではなく、キャッシュからデータを取得できるようにしたいと思います。
どうすればよいですか。
私は(あなたがそれを編集した前にあなたがあなたの質問に述べたように。)あなたは直列化可能なオブジェクトにWebService
から取得したデータを保存していると仮定し
あなたはファイルにシリアライズ可能なオブジェクトを格納し、後でそれらを読み込むことができます。
ストア:
FileOutputStream fileOutputStream = yourContext.openFileOutput(fileName, Context.MODE_PRIVATE);
ObjectOutputStream objectOutputStream = new ObjectOutputStream(fileOutputStream);
objectOutputStream.writeObject(yourObject);
objectOutputStream.close();
ロード:
FileInputStream fileInputStream = yourContext.openFileInput(fileName);
ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
Object yourObject = (Object)objectInputStream.readObject();
objectInputStream.close();
ArrayList
'ArrayList'はデフォルトで直列化可能です。' FollowerInfo'も直列化可能であるため、 'ArrayList'全体の格納/ロードに問題はありません。 – fardjad
これをあなたのコードにどのように適用できますか?私の配列リストはどこに置かれますか?objectOutputStream.writeObject(followers);ロード時にyourobjectがタイプファイルなので、私は再びarraylistとして作っていきたいですか? – jithu
これは、Webサービスを介して取得したデータをSQLiteデータベースに保存し、これに応じて構造化することで可能です。データベースの最後のレコードより新しいデータを取得する場合は、SharedPreferencesファイルにキー値を保存するよりも新しいデータを取得することをお勧めします。例:
私は、Webサービスからすべてのカレンダーイベントを取得したいと思い、
今日のみなしイベントから1月のイベントにアクセスしたユーザ。 1からイベント番号。 10(これらは初めてWebサービスを通じて取得され、SQLiteデータベースにローカルに保存され、カーソルを使用して表示されます)。明日、ユーザがアプリケーションをロードすると、既に取得されたデータがSQLiteデータベース(キャッシュ)からロードされ、ユーザはWebサービスを通じて10より新しいイベントしか取得しません。前日の処理を繰り返す(すなわち、検索されたエントリーをSQLite DBに格納し、それらをすべて1から 'x'に表示する)。
この場合、イベント1〜10をデータベースに保存し、取得したエンティティの次のバッチの開始点を知るために、共有プリファレンスに「11」を保存します。私はあなたを導くことができたと思う。
は、Android上で利用可能なストレージオプションを見てみましょう:http://developer.android.com/guide/topics/data/data-storage.html
すべてのベスト:)
あなたの場合は、その1つのようなものです:
How to cache listview data in android?
あなたがどうかを判断する必要がありますあなたは、アプリケーションの寿命よりも長い情報を手に入れたい場合は、SQLデータベースを使用します。そうしないと、アダプタは問題ありません。
SDKパッケージのサンプルで提供されているApiデモには、Listを使用したListのいくつかの例があります。たとえば、List5.javaです。
sql liteにarraylistを挿入できますか?これを文字列に変更することなく – jithu
この質問の詳細な回答はありますか? –
これのサンプルコードは何ですか? – jithu