我需要一些关于将数据从服务器导入本地设备的良好做法的建议。数据量不是很大~1-3 MB所以,我必须选择:
我知道,每种方法都有效,但如果有人能提出一些论据,我们将不胜感激。
答案 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
您将通过网络发送二进制文件。如果发生了不好的事情,在尝试打开数据库并发现它失败之前,您将无法知道它。
此外,您仍然坚持服务器决定的数据库方案。我认为让你的设备自己处理数据库方案会更好。服务器负责传输格式正确的数据。然后,您的设备负责以的方式存储。