在Android中导入数据库的最佳方式

时间:2015-10-02 08:21:26

标签: android json sqlite csv

我需要一些关于将数据从服务器导入本地设备的良好做法的建议。数据量不是很大~1-3 MB所以,我必须选择:

  1. 接收json - 解析它,使用GSON lib简化并将数据插入本地数据库
  2. 以cvs格式接收整个数据库,然后填充我的数据库,如描述here
  3. 或直接从服务器端接收整个数据库,并以某种方式使用本地数据库
  4. 我知道,每种方法都有效,但如果有人能提出一些论据,我们将不胜感激。

3 个答案:

答案 0 :(得分:0)

您可以使用您的应用提供已填充的数据库(将其放入资产文件夹中)。

然后,您所要做的就是使用时间戳字段或任何sql请求更新应用程序上必须更新的字段,以查找过时的字段或数据库中不存在的条目。

通过这种方式,您可以避免在应用程序中使用无用的进程来填充数据库,并且可以将查询限制在服务器上,以便在特定时间之后瞄准数据,这次是数据库的最后一次更新。

答案 1 :(得分:0)

对我有用的是我的php文件正在从sql读取数据......

因此我使用缓冲读取器快速轻松地阅读这些文件上的内容

为我工作

public String getInternetData() throws Exception{

        BufferedReader in=null;
        String data=null;
        try{
            HttpClient client=new DefaultHttpClient();
            URI website=new URI("http://address of that paticular page.php");
            HttpGet request=new HttpGet();

            request.setURI(website);

            HttpResponse response=client.execute(request);
            HttpEntity ent=response.getEntity();
            String dt=EntityUtils.toString(ent);


            data=dt;
            //in=new BufferedReader(new InputStreamReader(response.getEntity().getContent()));


        }catch(Exception e){


        }

        return data; 

答案 2 :(得分:0)

tl; dr;

我将保留第一个解决方案。

<强>参数

解决方案1 ​​

JSON是一个标准!您可以使用任何您想要的库,如果您有任何问题,甚至可以更改为另一个库!而且,JSON是一种轻量级格式。

此外,通过这种方式传输数据,您可以按照自己的意愿存储:使用相同的方案或使用另一个方案;你将能够删除无用的数据......

唯一的问题是:您无法验证收到的数据是否与您的想法相符。您必须在手机上处理验证。

解决方案2

我认为这个解决方案与JSON的解决方案相同,但使用的是非常难看的格式......我绝对不会使用它!

解决方案3

您将通过网络发送二进制文件。如果发生了不好的事情,在尝试打开数据库并发现它失败之前,您将无法知道它。

此外,您仍然坚持服务器决定的数据库方案。我认为让你的设备自己处理数据库方案会更好。服务器负责传输格式正确的数据。然后,您的设备负责以的方式存储