2

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

4

2 回答 2

1

您可以序列化ArrayListusingObjectInputStreamObjectOutputStream因为您的所有对象似乎都是可序列化的。

序列化在这里描述: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 回答