Android/Java中Loopj库的回调函数
我尝试在已经实现的get函数之外访问请求的变量。我试图弄清楚为什么首先调用情感[0],然后打印空白([]),然后调用响应变量。我已经在谷歌上搜索了一段时间,但似乎没有太多人来处理这个问题,所以我有点想我误解了什么。感谢所有能给我的帮助Android/Java中Loopj库的回调函数,java,asynchronous,async-await,get,loopj,Java,Asynchronous,Async Await,Get,Loopj,我尝试在已经实现的get函数之外访问请求的变量。我试图弄清楚为什么首先调用情感[0],然后打印空白([]),然后调用响应变量。我已经在谷歌上搜索了一段时间,但似乎没有太多人来处理这个问题,所以我有点想我误解了什么。感谢所有能给我的帮助 final JSONArray[] emotions = {new JSONArray()}; String emotionurl = "/posts/1"; APIClient.get(emotionurl, null, new JsonHt
final JSONArray[] emotions = {new JSONArray()};
String emotionurl = "/posts/1";
APIClient.get(emotionurl, null, new JsonHttpResponseHandler() {
@Override
public void onSuccess(int statusCode, Header[] headers, JSONArray response) {
System.out.println(response);
emotions[0] = response;
}
});
System.out.println(emotions[0]);
通过以下客户端类的实现:
public class APIClient {
private static final String BASE_URL = "http://jsonplaceholder.typicode.com";
private static AsyncHttpClient client = new AsyncHttpClient();
public static void get(String url, RequestParams params, AsyncHttpResponseHandler responseHandler) {
System.out.println(getAbsoluteUrl(url));
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 API_URL + relativeUrl;
}
}