Json VS SQLite更适合Android / iOS开发

时间:2014-04-01 14:36:41

标签: android ios json sqlite

我们正在开发一个应用程序,它将本地数据存储在手机上,服务器上并在用户之间共享。对于每个用户,存储和检索数据的访问权限大约是每天20次,它主要由字符串组成。该应用程序将跨平台Android / iOS。所以在开始开发DB之前,你建议使用Json vs SQlite或使用HTTP方法:GET,POST。 各自的优点和缺点是什么,你有什么建议。

2 个答案:

答案 0 :(得分:3)

我不同意sql很慢。这并不是说这些设备正在使用旋转磁盘。在我的应用程序中,我实现了一个RESTful API,可以传回JSON数据。这很简单,因为在iOS上,json可以很容易地转换为iOS Native NSDictionary对象。

我建议使用sqlite或Core Data存储数据,因为如果您需要查询数据,以后会很高兴。这就是数据库容易用于存储和检索数据的原因。

作为替代方案,您还可以考虑在服务器上构建SQLite数据库,并实际将该文件下载到设备。这有它的好处,因为您不需要在设备上进行实际的sqlite处理。

我建议远离XML,不是因为它很糟糕,而是因为传递JSON数据已成为标准,并且由于所需的处理能力,许多大公司正在逐渐远离XML格式。

在设计RESTful API时,最好使用已有的HTTP请求方法。使用GET检索数据,使用POST创建新数据,使用PUT更新数据,使用DELETE删除数据。一旦你拥有一个设计精美的REST api,所有的东西都应该落实到位,你将拥有一个可在客户端和服务器端维护和扩展的应用程序。

答案 1 :(得分:1)

这个问题实际上取决于您自己的专业领域。如果您对JSON有很好的理解,那就使用它。 XML是另一种通过SOAP(或REST)将数据分发到您的平台的好方法,服务器 - >设备 - >服务器。我自己的经验是,使用GZIP的JSON小而快,并且存在很多快速的解析器。 XML的缺点是它很快变大,但由于语法是在XML的“命名空间”中设置的,因此通常更容易维护。 SQLite很慢,因为它基于磁盘,应该只用于持久存储数据。在运行时尽可能少地访问它。我的建议:服务器/设备上的JSON + GZIP,REST-api,尽可能存储在设备的内存中,SQLite用于设备上的持久存储,最后是服务器上的MySQL用于持久存储(如果正确完成视图和方法)。

但如上所述,这完全取决于实施。