从服务器插入sqlite中的数据

时间:2014-09-16 07:55:14

标签: android sql-server sqlite sync

我正在尝试将一些数据从服务器导入我的Android应用程序。服务器从sql server获取数据并返回它抛出HttpRequest。我解析HttpResponse中的数据,并在解析JSONObject时将其存储在sqlite数据库中。

但是,要插入的对象数量很高,可能会故意(按暂停)或无意(互联网问题)取消操作。所以我有以下选择:

1-解析JSONObject后忽略插入数据库并等待服务器完全成功响应:此解决方案非常糟糕,因为如果出现问题,用户应该再次开始导入数据。

2-向数据库插入行时向服务器发送反馈。因此,如果我继续导入数据,只需从服务器导入新记录:它很好,但会施加额外的网络通信,也可能会影响性能。

3-获取一个数据打包文件并尝试解析它:所以我确信暂停操作不会导致数据丢失。但我更喜欢另一种解决方案,而不是使用文件。

处理此问题的最佳方法是什么?

由于

1 个答案:

答案 0 :(得分:0)

两周前我经历了这个选择。

我发现管理这些数据的更好方法是在服务器中构建一个Web服务(例如,在PHP中;我使用的是wordpress博客),向Web服务发送偏移和限制请求,然后下载JSON格式的数据。

通过这种方式,如果你有100行要查询,你可以告诉web服务给你前10个结果,然后你可以解析并存储它们,然后,你可以回到另一个查询询问结果从第11行到第20行,依此类推。

通过这种方式,应用程序将管理许多顺序请求(以及相关的低权重JSON答案),而不是非常大的JSON文件。

您还可以在后台或使用AsyncTask管理所有这些操作,因此,在此期间,用户可以处理前台活动。