如何在没有数据库的情况下永久保存arrayList。
如果你能举一个例子那就太棒了。
谢谢!
答案 0 :(得分:6)
如果它只是一个ArrayList,并且您没有对数据存储区进行任何复杂的排序,我只会将其以二进制格式保存到内部存储中。这将为您节省大量开销,尝试以XML或JSON等文本格式对文件进行编码和解码。
结帐的链接是Data Storage。
编辑:我把一个快速而肮脏的github repo放在一起举个例子。这不是我要复制并粘贴到项目中的东西,但它应该向您展示基本的机制。
编辑2:请注意,ArrayList中的所有对象都需要实现Serializable或者是原始类型才能使其工作。
答案 1 :(得分:1)
将ArrayList导出到一个特定格式的文件(Xml,JSON,csv等)。然后在需要时准备好数据。
伪:
String data;
i = 0;
Loop Array
data += array[i]
i++;
End loop
Write data to file
你可以像你想要的那样轻松/努力。但是我想到了这个想法:)
答案 2 :(得分:0)
你见过这个example吗?
但是在关机或重启后你会丢失数据。
答案 3 :(得分:0)
您可以使用Java中的Serialize内容。 ArrayList
中的对象应该实现Serializble对象。然后,您可以将生成的二进制文件保存到存储并重新加载它。以下是如何执行此操作的示例:http://www.jondev.net/articles/Android_Serialization_Example_%28Java%29