首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从AsyncHttpClient获取响应

从AsyncHttpClient获取响应
EN

Stack Overflow用户
提问于 2013-08-11 16:22:52
回答 2查看 2.5K关注 0票数 0

我正在使用lib:http://loopj.com/android-async-http/来发出我的所有请求&&目前让我的代码混乱的最大问题是,我还没能成功地从onSuccess()中获得异步Http请求响应,这样数据就可以自由地提供给类的其余部分了。到目前为止,我一直在解析响应处理程序onSuccess(){}的curly中的所有请求响应

我在Stack上偶然发现了这篇文章:How to get the result of OnPostExecute() to main activity because AsyncTask is a separate class?

但是还没有让它与这个库一起工作。

代码语言:javascript
复制
import com.loopj.android.http.*;

public class TwitterRestClient {
  private static final String BASE_URL = "http://api.twitter.com/1/";

  private static AsyncHttpClient client = new AsyncHttpClient();

  public static void get(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {
      client.get(getAbsoluteUrl(url), params, responseHandler);
  }

  public static void post(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {
      client.post(getAbsoluteUrl(url), params, responseHandler);
  }

  private static String getAbsoluteUrl(String relativeUrl) {
      return BASE_URL + relativeUrl;
  }
}




import org.json.*;
import com.loopj.android.http.*;

class TwitterRestClientUsage {
    public void getPublicTimeline() throws JSONException {
        TwitterRestClient.get("statuses/public_timeline.json", null, new JsonHttpResponseHandler() {
            @Override
            public void onSuccess(JSONArray timeline) {
                // Pull out the first event on the public timeline
                JSONObject firstEvent = timeline.get(0);
                String tweetText = firstEvent.getString("text");

                // Do something with the response
                System.out.println(tweetText);
            }
        });
    }
}
EN

回答 2

Stack Overflow用户

发布于 2013-09-13 11:33:24

我不知道这是否有帮助,但我不得不面对同样的问题(我在java和android方面还是个新手)。使用了一个接口。http://www.gdgankara.org/2013/03/25/android-asynchronous-http-client-a-callback-based-http-client-library-for-android-and-android-smart-image-view/

票数 0
EN

Stack Overflow用户

发布于 2019-04-30 06:39:28

试试这个:

代码语言:javascript
复制
public static void get(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {
                client.get(getAbsoluteUrl(url), params, responseHandler);
                String response = new String(responseHandler);
                Log.i("RESPONSE", response);
            }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18170091

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档