2011-04-12 79 views
4

我想存储结构类型数据(即通话记录的信息,如姓名,号码,号码类型,日期,时间,持续时间)。哪种方法最好,哪个更快? SQLiteDatabase(使表和插入,删除日志)或使用文件存储(意味着为所有参数创建一个类并使用输入/输出流和可序列化将它们的对象写入文件),或者我听说的另一种方式是XML解析器,但我不知道这一点。SQLiteDatabase vs文件存储

请帮帮我。提前致谢。

回答

0

就个人而言,如果您知道数据库的基础知识,我会使用sqlite数据库。这在Android中非常简单。就速度而言,我不知道哪个速度更快,但如果您没有数百万个数据集,则无关紧要。

3

这取决于你正在尝试做什么。

如果你的目标是速度,SQLite会给你一笔钱(尤其是如果你把多个插入到事务中)。 SQLite已经针对你所提到的所有内容进行了优化,并且可以很容易地利用它可以提供给你的速度。

如果可移植性是您的目标,那么文件可能会轻松一点。文件可以很容易地来回移动,而SQLite可能需要更多的努力。

如果能够搜索是您的目标,那么您将不会使用SQLite,因为它非常擅长搜索和过滤结果。

+0

谢谢。但给我你的建议。目前我的目标是只存储20个未接来电,已接电话的日志。那你更喜欢哪个?如果它是SQLite那么请给出一些理由为什么文件操作不是首选? – Dep 2011-04-12 17:52:08

+1

@Dep ...伙计 - 我无法为你做出决定。我可以告诉你两者的起伏,但是你必须决定你想要写什么。找出你需要做的,并选择最好的方法。这两种方法都可以工作,所以找出哪一个更容易*你*。 – riwalk 2011-04-12 17:59:39

0

根据我的经验,在大多数情况下,文件中的JSON就足够了(大多数情况下,您需要存储数组或对象或只是单个数字或字符串)。我很少需要SQLite(需要更多时间来设置和使用它)。