使用序列化对象列表

时间:2012-02-18 00:45:39

标签: java android

我正在学习Android / Java编程,但我对持久性数据感到困惑。 经过大量研究后,似乎存储对象的最佳方法是在文件中序列化它们,但我找不到一种简单的方法来检索这些对象。

如果我创建了两个对象并保存了它们的序列化版本,我该如何撤消并列出它们?我是否需要为文件名中包含特定ID的每个对象创建一个文件,以便我可以使用getFilesDir列出它们?

2 个答案:

答案 0 :(得分:3)

取决于这些对象的复杂程度(我猜你的个人喜好),我之前使用SharedPreferences存储简单对象,只是为了简单起见,而同事则大量使用SQLite,但这符合他的需要。

由于您没有说明存储的内容,我现在可以给您的最佳建议是阅读here,它涵盖了如何在Android上处理持久性数据。

答案 1 :(得分:0)

“最好”的方式?请定义您的标准。

有数据库(关系和非关系)或文件系统。您可以通过多种方式序列化:Java序列化,XML,Google的protobuf等。

是的,您需要一种方法来指定其对象的唯一表示。在关系数据库中,您将使用主键。在你使用的任何系统中都需要类似的东西。

如果通过某种机制将序列化到文件系统,则必须将对象写入所需的格式并将其流式传输到文件中。换句话说,指定对象的键,读取序列化数据,然后将其解析回对象。