Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 存储JSON对象:SQLite与磁盘序列化_Java_Android_Json_Sqlite - Fatal编程技术网

Java 存储JSON对象:SQLite与磁盘序列化

Java 存储JSON对象:SQLite与磁盘序列化,java,android,json,sqlite,Java,Android,Json,Sqlite,将构建一个应用程序,该应用程序将从web服务中提取JSON对象,数量很少,每个相对较小,比如说每个20kb 除了显示这些POJO、下载新的和更新的POJO以及删除过时的POJO之外,该应用程序将不会做更多的事情。持久存储这些对象的首选方法是什么?我猜两个主要的竞争者正在将它们存储在SQLite数据库中,可能使用ORMLite来减少开销,或者只是将对象序列化到磁盘,可能在一个大文件中,并使用一个非常快速的JSON解析器 P>一个DBMS(如SQLLITE)应该具有查询、索引和排序功能(以及其他标

将构建一个应用程序,该应用程序将从web服务中提取JSON对象,数量很少,每个相对较小,比如说每个20kb

除了显示这些POJO、下载新的和更新的POJO以及删除过时的POJO之外,该应用程序将不会做更多的事情。持久存储这些对象的首选方法是什么?我猜两个主要的竞争者正在将它们存储在SQLite数据库中,可能使用ORMLite来减少开销,或者只是将对象序列化到磁盘,可能在一个大文件中,并使用一个非常快速的JSON解析器


<> P>一个DBMS(如SQLLITE)应该具有查询、索引和排序功能(以及其他标准SQL DBMS特性),如果需要的话,您应该考虑一下。您计划在生产环境中拥有多少对象?如果说一百万磁盘序列化方法可能没有比例。

可以考虑使用CouCHDB作为移动客户端和WebService之间的缓存。 CouchDB必须在internet上的服务上运行,缓存来自webservice的对象。在客户端上,您可以使用TouchDB Android:。TouchDB Android可以自动与互联网上运行的CouchDB Inance同步。然后,应用程序本身将单独访问TouchDB。TouchDB会自动检测是否有互联网连接,因此即使没有互联网,您的应用程序也会保持运行

优点: -JSON调用的缓存 -当internet连接关闭时,客户端仍在工作,当internet连接再次打开时,客户端将自动同步。 -承担Web服务的负载,并且可以进行扩展


我们以前使用过这种设置,允许Android软件无缝工作,即使Internet连接频繁中断,我们访问数据的服务速度非常慢,容量有限。

对象将以不同的视图显示,即按类别、按日期显示,因此需要进行某种类型的查询和排序。不过,我相信这两种实现都不会有问题。对于im设计的应用程序类型,对象不可能超过几百个