将ArrayList保存到SharedPreferences我有一个ArrayList自定义对象。每个自定义对象都包含各种字符串和数字。即使用户离开活动然后想要稍后返回,我也需要数组保持不变,但是在应用程序完全关闭后我不需要数组可用。我通过这种方式保存了很多其他对象,SharedPreferences但我无法弄清楚如何以这种方式保存整个数组。这可能吗?也许SharedPreferences这不是解决这个问题的方法吗?有更简单的方法吗?
3 回答
![?](http://img1.sycdn.imooc.com/545845e900013e3e02200220-100-100.jpg)
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
![?](http://img1.sycdn.imooc.com/5333a1920001d36402200220-100-100.jpg)
BIG阳
TA贡献1859条经验 获得超6个赞
保存Array
在SharedPreferences
:
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)); }}
添加回答
举报
0/150
提交
取消