我想在我的应用程序中使用这个很棒的库来处理我的服务器请求,以便在地图上做一些工作我的需求是,当服务器请求过程发生时,我想每2分钟发出一次服务器请求,而不会在屏幕上阻止用户交互,在onSuccess回调中,我会在地图上做一些工作我该如何使用这个图书馆来满足我的需要?以及与Android活动和碎片生命周期相结合的库
有关图书馆信息,请参阅本网站。http://loopj.com/android-async-http/
实际上,它来自您链接的页面http://loopj.com/android-async-http/。这些回调在UI线程中执行,但实际请求在另一个线程中处理。
AsyncHttpClient client = new AsyncHttpClient();
client.get("http://www.google.com", new AsyncHttpResponseHandler() {
@Override
public void onStart() {
// called before request is started
}
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] response) {
// called when response HTTP status is "200 OK"
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] errorResponse, Throwable e) {
// called when response HTTP status is "4XX" (eg. 401, 403, 404)
}
@Override
public void onRetry(int retryNo) {
// called when request is retried
}
});
在"活动"的onStop()中,您应该调用AsyncHttpClient的cancelAllRequests(上下文上下文,布尔值mayInterruptIfRunning) 这应该确保您的请求的回调永远不会被调用,然后使您免受非琐碎的网络使用,并使您免受IllegalStateException的影响。client.cancelAllRequests(this, true);