将ArrayList保存到SharedPreferences

将ArrayList保存到SharedPreferences

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



慕的地6264312
浏览 1117回答 3
3回答

LEATH

使用这个对象 - > TinyDB - Android-Shared-Preferences-Turbo 非常简单。TinyDB tinydb = new TinyDB(context);放在tinydb.putList("MyUsers", mUsersArray);要得到tinydb.getList("MyUsers");UPDATE可以在此处找到一些有用的示例和疑难解答:Android共享首选项TinyDB putListObject frunction

BIG阳

保存Array在SharedPreferences:public&nbsp;static&nbsp;boolean&nbsp;saveArray(){ &nbsp;&nbsp;&nbsp;&nbsp;SharedPreferences&nbsp;sp&nbsp;=&nbsp;PreferenceManager.getDefaultSharedPreferences(this); &nbsp;&nbsp;&nbsp;&nbsp;SharedPreferences.Editor&nbsp;mEdit1&nbsp;=&nbsp;sp.edit(); &nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;sKey&nbsp;is&nbsp;an&nbsp;array&nbsp;*/ &nbsp;&nbsp;&nbsp;&nbsp;mEdit1.putInt("Status_size",&nbsp;sKey.size());&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;for(int&nbsp;i=0;i<sKey.size();i++)&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mEdit1.remove("Status_"&nbsp;+&nbsp;i); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mEdit1.putString("Status_"&nbsp;+&nbsp;i,&nbsp;sKey.get(i));&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;mEdit1.commit();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}Array从中加载数据SharedPreferencespublic&nbsp;static&nbsp;void&nbsp;loadArray(Context&nbsp;mContext){&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;SharedPreferences&nbsp;mSharedPreference1&nbsp;=&nbsp;&nbsp;&nbsp;PreferenceManager.getDefaultSharedPreferences(mContext); &nbsp;&nbsp;&nbsp;&nbsp;sKey.clear(); &nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;size&nbsp;=&nbsp;mSharedPreference1.getInt("Status_size",&nbsp;0);&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;for(int&nbsp;i=0;i<size;i++)&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sKey.add(mSharedPreference1.getString("Status_"&nbsp;+&nbsp;i,&nbsp;null)); &nbsp;&nbsp;&nbsp;&nbsp;}}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android
Java