存储列表视图数据时出现问题

时间:2013-10-09 15:04:48

标签: android listview twitter hashmap

我想在我的应用程序中实现类似twitter的功能,因为当您第一次从服务器获取数据并在listview中显示它时,如果您再次打开应用程序而不注销我不想要应用程序再次请求服务器获取相同的数据所以我的问题是在哪里存储以前获取的数据,所以app不会再次请求服务器和获取新数据我已经实现了可刷新的列表视图,因此用户将通过以下方式获取新数据刷新清单。

还有一件事是刷新后我想将新数据存储到保存以前数据的同一个地方,我只想存储20个项目以防止内存溢出。请帮助别人。

我有一个arraylist ArrayList>获取从服务器获取数据时存储数据的位置。

1 个答案:

答案 0 :(得分: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