请求JSON数据并插入片段

时间:2015-08-04 05:43:51

标签: android android-layout android-fragments android-activity android-xml

我的应用中有3个标签,每个标签都有自己的Fragment。我需要使用需要从我网站的REST API中检索的数据填充每个选项卡的Fragment

据我了解,onCreate类中的onCreateView / Fragment方法是我应该请求JSON数据的地方(我该如何请求它?)。

然后我会遍历数据并将其插入单独的列表或卡片中(我该怎么做?)。

对不起初学者的问题,但我不知道从哪里开始。

2 个答案:

答案 0 :(得分:0)

有两种方法可以做到这一点

1)通过原生android

  private void makeGetRequest() {
    HttpClient client = new DefaultHttpClient();
    HttpGet request = new HttpGet("http://www.example.com"); 
                            // replace with your url

    HttpResponse response;
    try {
        response = client.execute(request);

        Log.d("Response of GET request", response.toString());
    } catch (ClientProtocolException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}

2)使用第三方库。请参阅此网址https://github.com/square/retrofit

实施例 https://github.com/square/retrofit/blob/master/samples/src/main/java/com/example/retrofit/SimpleService.java

这个库将执行GET,POST,Sync,Async和Error Handling等所有操作。

答案 1 :(得分:0)

你必须使用AsyncTask当你从服务器请求任何东西时,Asynctask在背景中运行,所以你的UI线程不会被它阻止。

否则你可以尝试使用Volly库而不需要AsyncTask来工作。它无论如何都将在后台线程中工作'

它还为您提供了成功失败处理程序(如果你进入ajax并且它对你来说更容易)

看看Volly Library