android - 如何在没有数据库以及 Android 中没有共享首选项的情况下永久保存 arrayList?

标签 android sharedpreferences

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

最佳答案

您可以使用 ObjectInputStreamObjectOutputStream 序列化 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/

相关文章:

java - 具有 SharedPreferences 的 AppWidget 必须更新两次

android - 如何在 Android 中保存用户登录状态?

android - 何时使用多个首选项文件?

Android SharedPreferences 使用 HashMap/For each 循环设置/检索复选框

java - SharedPreferences 和 TimePickerDialog

android - 如何从代码中找出我的 Android 应用程序是在模拟器还是真实设备上运行?

java - 调整平移不适用于 ScrollView 之外的参数

android - 如何在 webview 中处理回调

android - 使用 SharedPreferences 设置 Android 主题背景颜色

android - 从 Dropbox Android Studio 的共享链接中读取 .txt 文件