Android应用程序使用Asynctask从服务器下载JSON数据

时间:2015-02-05 09:47:29

标签: android json download

目前我正在构建一个应用程序来显示来自服务器的数据。 要求是从服务器下载数据(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中。 我希望能得到一些专家的建议。

感谢。

2 个答案:

答案 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)使用您想要的数据执行操作