我打算在我的Android应用程序上创建sqlite表。数据来自服务器通过webservice。
我想知道最好的方法是什么。 我应该从sqlite db文件中的webservice传输数据并将其合并,还是应该将所有数据作为soap请求获取并将其解析到表中,还是应该使用rest调用。
数据的一般大小为2MB,包含100列。
请告知最佳情况,我可以快速获取此数据,同时减少设备负载。
我的工作流程是:
我尝试了上述所有方法,并且发现从服务器获取数据库文件并将数据复制到数据库比使用XML或JSON获取数据并解析它更快。请告知我是对还是错。
答案 0 :(得分:1)
如果您计划使用同步适配器,则需要实现内容提供程序(或至少一个存根)和身份验证器。 Here是一个很好的例子,你可以遵循。
此外,您还没有详细说明此类Web服务的用例是什么来决定建议的Web服务架构。但REST是编写服务的好方式,因为数据格式效率(或更好地给protocol-buffer一次),建议使用基于XML的JSON是可取的
是的,同步适配器最好使用,因为它们已经提供了一组很好的功能,否则当你作为后台服务编写时(例如,周期性同步,自动同步,指数退避等)
要减少设备负载,您可以实现内容提供商支持的同步适配器。从服务器上载/下载数据时,您可以序列化/反序列化数据。当您需要从服务器保留数据时,您可以在内容提供程序中使用 bulkInsert()方法并在事务中保留所有数据