我有一个带有自定义对象的 ArrayList。每个自定义对象都包含各种字符串和数字。即使用户离开 Activity 然后想稍后再回来,我也需要数组保持不变,但是在应用程序完全关闭后我不需要数组可用。我通过使用 SharedPreferences 以这种方式保存了很多其他对象,但我不知道如何以这种方式保存我的整个数组。这可能吗?也许 SharedPreferences 不是解决这个问题的方法?有没有更简单的方法?
最佳答案
您可以使用 ObjectInputStream
和 ObjectOutputStream
序列化 ArrayList
,因为您的所有对象看起来都是可序列化的。
这里描述了序列化:http://java.sun.com/developer/technicalArticles/Programming/serialization/
在 Android 中,推荐的保存此类文件的位置是使用 Context.getCacheDir()
指定的目录,因此,在您的 Activity 上您只需调用 this.getCacheDir()
获取它,然后构建一个唯一的文件名,您将其提供给 ObjectStream 对象。
关于android - 如何在没有数据库以及 Android 中没有共享首选项的情况下永久保存 arrayList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10619793/