如何在没有数据库的情况下永久保存arrayList

时间:2011-03-31 09:54:08

标签: android

如何在没有数据库的情况下永久保存arrayList。

如果你能举一个例子那就太棒了。

谢谢!

4 个答案:

答案 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