如何使用Android-Async-Http执行多个API请求?

时间:2016-01-18 02:28:15

标签: android api request android-async-http

在我的应用程序中,我必须在活动开始后调用API约20次。没有可能在一次通话中获得所有数据。

目前我只使用Android-Async-Http进行一次这样的调用,效果很好:

client = new AsyncHttpClient();
        client.get(DetailsActivity.this, url, new AsyncHttpResponseHandler() {

            @Override
            public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
//working with the data
            }

            @Override
            public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {

            }
        });

但对API进行多次调用的最佳方法是什么?

好的,这就是我现在这样做的方式:

protected String doInBackground(String... params) {

         URL url;
         BufferedReader reader = null;
         String s = "";
         try {
             url = new URL(params[0]);
             URLConnection con = url.openConnection();
             reader = new BufferedReader(new InputStreamReader(con.getInputStream()));
             String line = null;
             while ((line = reader.readLine()) != null) {
                 s = s + line;
             }
         } catch (MalformedURLException e) {
             e.printStackTrace();
         } catch (IOException e) {
             e.printStackTrace();
         }  catch (Exception e) {
             e.printStackTrace();
         } finally {
             if (reader != null) {
                 try {
                     reader.close();
                 } catch (IOException e) {
                     e.printStackTrace();
                 }
             }
         }
         Log.i(null, "response: " + s);
         return s;
     }

这允许我同时启动大量请求。

提前致谢

迈克尔

0 个答案:

没有答案