为了账号安全,请及时绑定邮箱和手机立即绑定

将ArrayList保存到SharedPreferences

将ArrayList保存到SharedPreferences

慕的地6264312 2019-05-29 15:27:12
将ArrayList保存到SharedPreferences我有一个ArrayList自定义对象。每个自定义对象都包含各种字符串和数字。即使用户离开活动然后想要稍后返回,我也需要数组保持不变,但是在应用程序完全关闭后我不需要数组可用。我通过这种方式保存了很多其他对象,SharedPreferences但我无法弄清楚如何以这种方式保存整个数组。这可能吗?也许SharedPreferences这不是解决这个问题的方法吗?有更简单的方法吗?
查看完整描述

3 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

使用这个对象 - > TinyDB - Android-Shared-Preferences-Turbo 非常简单。

TinyDB tinydb = new TinyDB(context);

放在

tinydb.putList("MyUsers", mUsersArray);

要得到

tinydb.getList("MyUsers");

UPDATE

可以在此处找到一些有用的示例和疑难解答:Android共享首选项TinyDB putListObject frunction


查看完整回答
反对 回复 2019-05-29
?
BIG阳

TA贡献1859条经验 获得超6个赞

保存ArraySharedPreferences

public static boolean saveArray(){
    SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
    SharedPreferences.Editor mEdit1 = sp.edit();
    /* sKey is an array */
    mEdit1.putInt("Status_size", sKey.size());  

    for(int i=0;i<sKey.size();i++)  
    {
        mEdit1.remove("Status_" + i);
        mEdit1.putString("Status_" + i, sKey.get(i));  
    }

    return mEdit1.commit();     }

Array从中加载数据SharedPreferences

public static void loadArray(Context mContext){  
    SharedPreferences mSharedPreference1 =   PreferenceManager.getDefaultSharedPreferences(mContext);
    sKey.clear();
    int size = mSharedPreference1.getInt("Status_size", 0);  

    for(int i=0;i<size;i++) 
    {
     sKey.add(mSharedPreference1.getString("Status_" + i, null));
    }}


查看完整回答
反对 回复 2019-05-29
  • 3 回答
  • 0 关注
  • 1113 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信