2012-05-01 83 views
2

我有一个位置对象的ArrayList。 ArrayList通常具有从1000到10000个位置对象的 。如何将Android Parcelable数组保存到文件中?

我希望能够坚持ArrayList中,然后在 读回来后。

我假设将整个 位置对象的ArrayList作为单个文件写出,而不是在SQLiteDB中存储每个Location对象的 会快得多。

有人能告诉我一些示例代码读/写 定位对象的ArrayList,或提出一个更好的解决方案?

回答

0

你真的不得不存储所有的10K位置,将它们全部删除,并储存了一套新的每次10K的位置吗?或者偶尔做一些更新? (如删除或添加多行)。如果后者比您想要使用SQLite更为容易,可以使用Db执行这些操作。

另请注意,SQLite也仅仅是文件系统上的一个存储文件,例如,没有像MySQL那样的数据库服务器。

这且不说,这已经讨论之前,SO,所以你可能想看看这些:

Android data storage - File vs SQLite

Sqlite vs File based data storing?

+0

每个数据集是一组固定的。没有插入,删除,没有搜索。在我看来,将一个列表或一个对象数组作为二进制数据保存到文件,然后作为二进制数据读回比使用基于文本文件的AFAIK的SQLite或JSON要快得多。 Java有ObjectOutputStream和ObjectInputStream来处理这种情况;但我明白,这些依赖于序列化,我知道Android非常慢。我希望在Android中有一些ObjectOutputStream的高效模拟,但显然不是? – Ted

+0

您应该实现Serializable.see这http://stackoverflow.com/questions/7135086/storing-a-parcelable-object-to-a-file-in-android –

+0

如果你担心速度,我想你最好的呼叫是测试您需要的数据类型的解决方案并对结果进行基准测试。 –

相关问题