Android 数据存储,何时使用 Sqlite,何时使用 JSON,Linq 替代方案
Posted
技术标签:
【中文标题】Android 数据存储,何时使用 Sqlite,何时使用 JSON,Linq 替代方案【英文标题】:Android data storage, When to use SqlLite and when to use JSON, Linq alternatives 【发布时间】:2013-03-12 05:12:00 【问题描述】:我在使用 .Net 和 C# 的 webdev 方面有几年的经验......我真正喜欢的一个功能是用于查询数据的 linq-expressions.. android 有什么类似的东西可以用来查询 JSON还是针对 SqlLite 数据库? (我想我正在寻找一个类型化的表达式/查询框架)。
对于我的下一个问题.. 我应该使用 JSON 方法和 SQLLite 方法中的哪一种.. 什么时候?我知道这已经被问了一百万次了..但似乎没有任何严格的答案..
SQLLite 是否用于更复杂的查询以及当我有大量数据时,而使用 JSON 而数据量较少且不需要太多查询?
我可以将所有 JSON 数据存储在内存中以便更快地读取/写入访问吗?..因为我听说将其存储在存储中/磁盘上可能是一个缓慢的过程。
但另一方面,我也听说 SQLLite 通常很慢...
最后..当我们谈到“慢”时,它是像单个读/写查找整个应用程序几毫秒一样慢,还是像执行查询的内存数据库一样慢和快如闪电的东西
【问题讨论】:
【参考方案1】:何时使用 SQLite
SQLite
是如何保存数据、如何保护数据的一种形式。通常,如果您想存储更大的数据量并快速访问它们(并且如果这些数据是“敏感的”),SQLite
是不错的选择。因此,我不同意您认为 SQLite
很慢的观点,我猜绝对不是。
我有 SQLite
数据库,大约有 650 000 条记录,并且性能仍然很好(有时需要使用索引)。
何时使用 JSON
JSON
是为人类可读的数据交换而设计的轻量级数据结构,主要是与语言无关的。如果您想通过网络发送数据(将数据发送到远程服务器等),这是一个非常好的选择(也许是最好的选择),但我认为对于数据持久化不是很好,而且它也不像 SQLite 那样安全。
通常您应该比较 JSON
和 XML
但您不能比较 SQLite 和 JSON,因为它们是两个不同的东西。
【讨论】:
【参考方案2】:总体思路
SqlLite:For Local Storage
JSON:For Server SideStore
【讨论】:
【参考方案3】:比较 SQLite 和 JSON 是没有意义的。一种是存储方案,一种是数据格式。
在决定选择哪种存储解决方案(SQLite、首选项、文件系统...)之前,您可能应该阅读官方指南:http://developer.android.com/guide/topics/data/data-storage.html
如果您想使用 SQLite 持久性,您可以使用一些第三方 ORM 来简化查询(例如,ORMLite 是最受欢迎的)
【讨论】:
是的,我知道 JSON 是一种格式 :).. 因此,与使用 SQLLite 相比,我真正的意思是在文件中存储 json 格式的文本,以便以后对该文件进行读写操作: )。 好吧对不起,我不明白你的问题是关于 SQLite VS 文件存储的。无论如何,我提到的链接应该对您有所帮助。以上是关于Android 数据存储,何时使用 Sqlite,何时使用 JSON,Linq 替代方案的主要内容,如果未能解决你的问题,请参考以下文章