Json VS SQLite更适合Android/iOS开发

Json VS SQLite更适合Android/iOS开发,android,ios,json,sqlite,Android,Ios,Json,Sqlite,我们正在开发一个应用程序,将数据本地存储在手机、服务器上,并在用户之间共享。每个用户每天大约有20次访问存储和检索数据,主要由字符串组成。该应用程序将是跨平台的Android/iOS。因此,在开始开发DB之前,您建议Json与SQlite还是使用HTTP方法:GET、POST。 每种方法的优缺点是什么,你有什么建议。这个问题实际上取决于你自己的专业领域。如果您对JSON有很好的理解,那么就使用它。XML是通过SOAP(或REST)将数据分发到平台服务器->设备->服务器的另一种好方法。我自己的经

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

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


但正如前面所说,这完全取决于实现。

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


但正如前面所说,这一切都取决于实现。

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

我建议使用sqlite或Core数据存储数据,因为如果以后需要查询数据,您会很乐意使用它。数据库就是用来存储和检索数据的

作为一种选择,您还可以考虑在服务器上建立SQLite数据库,并将该文件实际下载到设备上。这有它的好处,因为您不需要在设备上执行实际的sqlite处理

我建议不要使用XML,不是因为它不好,而是因为将JSON数据传回已经成为标准,而且许多大公司正因为所需的处理能力而远离XML格式


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

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

我建议使用sqlite或Core数据存储数据,因为如果以后需要查询数据,您会很乐意使用它。数据库就是用来存储和检索数据的

作为一种选择,您还可以考虑在服务器上建立SQLite数据库,并将该文件实际下载到设备上。这有它的好处,因为您不需要在设备上执行实际的sqlite处理

我建议不要使用XML,不是因为它不好,而是因为将JSON数据传回已经成为标准,而且许多大公司正因为所需的处理能力而远离XML格式


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

你需要所有这些:使用GET请求获取JSON数据,然后将这些对象持久存储在SQLite数据库中。请注意,JSON不是DB;问“Json vs Sqlite或使用HTTP方法:GET,POST”一点意义都没有:这些是相互无法替代的正交概念。但是,您可以使用XML而不是JSON,或者使用SQLite以外的其他持久存储,或者使用TCP上的自定义协议而不是HTTP。您将需要所有这些:使用GET请求获取JSON数据,然后将这些对象持久存储在SQLite数据库中。请注意,JSON不是DB;问“Json vs Sqlite或使用HTTP方法:GET,POST”一点意义都没有:这些是相互无法替代的正交概念。但是,您可以使用XML代替JSON,或者使用SQLite以外的其他持久存储,或者使用TCP上的自定义协议代替HTTP。