我有一个带有自定义对象的 ArrayList。每个自定义对象都包含各种字符串和数字。即使用户离开活动然后想稍后再回来,我也需要数组保持不变,但是在应用程序完全关闭后我不需要可用的数组。我通过使用 SharedPreferences 以这种方式保存了许多其他对象,但我不知道如何以这种方式保存我的整个数组。这可能吗?也许 SharedPreferences 不是解决这个问题的方法?有没有更简单的方法?
问问题
1036 次
2 回答
1
您可以序列化ArrayList
usingObjectInputStream
和ObjectOutputStream
因为您的所有对象似乎都是可序列化的。
序列化在这里描述:http: //java.sun.com/developer/technicalArticles/Programming/serialization/
在 Android 中,保存此类文件的推荐位置是使用Context.getCacheDir()
so 指定的目录,在您的 Activity 上,您只需调用this.getCacheDir()
即可获取它,然后构建一个唯一的文件名,然后将其提供给 ObjectStream 对象。
于 2012-05-16T14:07:47.453 回答
0
如果您在应用程序被杀死后不需要它,也许您可以尝试使用onSaveInstanceState()和onRestoreInstanceState()。
这是一个简短的示例,展示了如何使用它!
于 2012-05-16T13:51:48.897 回答