我的android应用程序中有一个数组,我想在应用程序关闭时存储,然后在应用程序再次打开时恢复。我知道人们通常会在SQLite数据库中存储大量的数据。但我只有一些我想存储的数组。因此,我想知道最好的方法是什么。
Best对我来说意味着以下几点:
表现良好
简单,非复杂的代码
能够存储多维数组和数组列表
以下是我提出的可能性:
JSON
XML
元编程,您将数组存储在文本文件中,就像初始化它一样,然后使用元编程读取它。这并不容易,但在Java中可行。
虽然那当然不是一个详尽的清单。根据上述标准,用Java存储数组的最佳方法是什么?
我知道这不是典型的问答,但我认为因为我提供了明确的标准和示例,所以它并没有违反stackoverflow“问题规则”
答案 0 :(得分:4)
Android中有4 basic methods个数据存储空间。
为了存储一组高分,我使用了内部存储文件夹,它似乎对我的目的来说效果很好。选择方法后,您应该能够弄清楚如何正确地编写/获取数据。如果你不能,可以随意提出另一个问题来帮助解决这个问题。
答案 1 :(得分:0)
如果数组中的对象是 Serializable ,则可以将它们写入存储在SD卡上的文件中。这样您就不需要使用数据库了。像这样:
ObjectOutputStream dataOutputStream = new ObjectOutputStream(new FileOutputStream(myFile));
dataOutputStream.writeObject(myList);
然后检索数组:
ObjectInputStream inputStream = new ObjectInputStream(new FileInputStream(myFile));
List<MyObject> myList = (List<MyObject>) inputStream.readObject();