0

初めてログインしたときにサーバーからデータを取得してリストビュー内に表示するように、アプリにtwitterのような機能を実装したいのですが、ログアウトせずにアプリを再度開いた場合、アプリにリクエストさせたくない同じデータを取得するためにサーバーを再度使用するので、以前に取得したデータをどこに保存するかが問題になるため、アプリはサーバーに再度要求しません。新しいデータを取得するために、更新可能なリストビューを実装したので、ユーザーはリストを更新して新しいデータを取得します.

そしてもう1つ、リフレッシュした後、新しいデータも以前のデータが保存されたのと同じ場所に保存し、メモリオーバーフローを防ぐために20個のアイテムのみを保存したい. 誰か助けてください。

サーバーからのフェッチ中にデータを格納している arraylist ArrayList> fetch があります。

4

1 に答える 1

0

サーバーは、JSON または XML 形式で情報を返す必要があります。単純に共有設定に入れ、後でいくつかの内部フラグに基づいて取得/表示します。

たとえば、共有設定に何かを保存するサンプル コードは次のとおりです。

private void writeStrToPreferences(String strKey, String str){
        if(strKey == null) return;
        if(str == null) return;
        if(str.length() <= 0) return;

        SharedPreferences.Editor ed = getSharedPreferences(strKey, 0).edit();
        ed.putString(strKey, str);
        ed.commit();
    }

読み返しも同様でシンプルになります

private String readStrFromPreferences(String strKey){
        if(strKey == null)return "NA";
        if(strKey.length() <= 0) return "NA";
        return getSharedPreferences(strKey, 0).getString(strKey, "NA");
    }

詳細については、こちらのドキュメントを確認してください: http://developer.android.com/reference/android/content/SharedPreferences.html

于 2013-10-09T15:24:37.363 に答える