首页 文章

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

提问于
浏览
2

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

2 回答

  • 1

    您可以使用 ObjectInputStreamObjectOutputStream 序列化 ArrayList ,因为您的所有对象似乎都是可序列化的 .

    序列化在这里描述:http://java.sun.com/developer/technicalArticles/Programming/serialization/

    在Android中,保存此类文件的推荐位置是使用 Context.getCacheDir() 指定的目录,因此,在您的Activity上,只需调用 this.getCacheDir() 即可获取它,然后构建一个唯一的文件名,输入ObjectStream对象 .

  • 0

    如果您在应用程序被杀后不需要它,也许您可以尝试使用onSaveInstanceState()onRestoreInstanceState() .

    Here是一个简短的例子,展示了如何使用它!

相关问题