目前我正在构建一个应用程序来显示来自服务器的数据。 要求是从服务器下载数据(JSON格式)并插入手机的本地数据库。
获取数据的过程如下: 应用程序必须调用url转到json服务(例如A)并获取另一个URL(http://www.XXX.json)以转到另一个JSON服务(B)以获取确切数据。
一个
{
“return_code”:0,
“return_msg”:“好的”,
“num_files”:1,
“total_size_bytes”:1691857,
“files”:{
“0”:{
“size_bytes”:1691857,
“url”:“http://www.XXX.json”
}
},
“请求”:“http://www .......”
}
乙 { “表”: {“测试”:[ [“30094394”,“23432”,“TESTING”,“33342”,“”,“”,“”] ] ...... } }
我尝试过AsynTask,但我不确定这种方法是否正确?我需要的解决方案是下载数据并将数据插入到后台运行的DB中。 我希望能得到一些专家的建议。
感谢。
答案 0 :(得分:1)
AsyncTask是实现这一目标的好方法。
搜索“异步任务json”。你应该找到很多教程。
我的第一次尝试是编写两个单独的AsyncTasks,第一个从服务A下载JSON并完成启动第二个AsyncTask,传入从服务A收到的URL。然后第二个AsyncTask从所述URL加载JSON将其保存到数据库中(全部在doInBackground
)。
答案 1 :(得分:0)
按照以下步骤将数据从服务器获取到Android应用程序。
1)在Manifest.xml文件中添加Internet权限
2)将JSON文件的URL传递给asynctask as params并在doInBackground()上获取该数据。 http://developer.android.com/reference/android/os/AsyncTask.html
3)使用HTTpClient从doInBackground()获取所有数据作为响应 http://developer.android.com/reference/org/apache/http/client/HttpClient.html
4)解析来自doInBackground()的数据,作为onPostExecute()的结果。 http://www.androidhive.info/2012/01/android-json-parsing-tutorial/
5)使用您想要的数据执行操作