将ArrayList保存到SharedPreferences我有一个ArrayList自定义对象。每个自定义对象都包含各种字符串和数字。即使用户离开活动然后想要稍后返回,我也需要数组保持不变,但是在应用程序完全关闭后我不需要数组可用。我通过这种方式保存了很多其他对象,SharedPreferences但我无法弄清楚如何以这种方式保存整个数组。这可能吗?也许SharedPreferences这不是解决这个问题的方法吗?有更简单的方法吗?
3 回答
LEATH
TA贡献1936条经验 获得超7个赞
使用这个对象 - > TinyDB - Android-Shared-Preferences-Turbo 非常简单。
TinyDB tinydb = new TinyDB(context);
放在
tinydb.putList("MyUsers", mUsersArray);要得到
tinydb.getList("MyUsers");UPDATE
可以在此处找到一些有用的示例和疑难解答:Android共享首选项TinyDB putListObject frunction
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
提交
取消
