异步网络加载开源框架AsyncHttpClient使用
2014-08-06 00:04
519 查看
AsyncHttpClient是异步的,但是有时候我们需要得到请求的结果集来返回给某个函数,由于是异步的,所以不能够直接return会去,所以可以定义一个interface来给调用AsyncHttpClient方法的一个回调来获取结果集,代码如下:
定义回调接口:
点击(此处)折叠或打开
private static Callback mCallback;
public interface Callback{
abstract void rankingsResultData(JSONArray result,int code);
abstract void postResultData(int result);
abstract void shareResultData(int result);
}
调用异步框架代码:
点击(此处)折叠或打开
public static void getRankingList(int integType,int sortType,int size) {
mClient.post(GET_RANKINGList, getRankingsParms(integType,sortType,size), new JsonHttpResponseHandler(){
@Override
public void onSuccess(JSONObject response) {
if (response != null) {
try {
JSONObject status = response.getJSONObject("state");
int code = status.getInt("code");
JSONArray list = null;
if (code == 0) {
list = response.getJSONArray("items");
}
if(mCallback != null){
mCallback.rankingsResultData(list,code);
}
} catch (JSONException e) {
e.printStackTrace();
if(mCallback != null){
mCallback.rankingsResultData(null,2);
}
}
}
}
public void onFailure(Throwable e, JSONObject errorResponse) {
if(mCallback != null){
mCallback.rankingsResultData(null,-1);
}
}
public void onFailure(Throwable error, String content) {
if(mCallback != null){
mCallback.rankingsResultData(null,-1);
}
}
});
}
当调用getRankingList 异步请求完成的时候会回调rankingsResultData来得到返回的数据或者能得到请求是否chengg
定义回调接口:
点击(此处)折叠或打开
private static Callback mCallback;
public interface Callback{
abstract void rankingsResultData(JSONArray result,int code);
abstract void postResultData(int result);
abstract void shareResultData(int result);
}
调用异步框架代码:
点击(此处)折叠或打开
public static void getRankingList(int integType,int sortType,int size) {
mClient.post(GET_RANKINGList, getRankingsParms(integType,sortType,size), new JsonHttpResponseHandler(){
@Override
public void onSuccess(JSONObject response) {
if (response != null) {
try {
JSONObject status = response.getJSONObject("state");
int code = status.getInt("code");
JSONArray list = null;
if (code == 0) {
list = response.getJSONArray("items");
}
if(mCallback != null){
mCallback.rankingsResultData(list,code);
}
} catch (JSONException e) {
e.printStackTrace();
if(mCallback != null){
mCallback.rankingsResultData(null,2);
}
}
}
}
public void onFailure(Throwable e, JSONObject errorResponse) {
if(mCallback != null){
mCallback.rankingsResultData(null,-1);
}
}
public void onFailure(Throwable error, String content) {
if(mCallback != null){
mCallback.rankingsResultData(null,-1);
}
}
});
}
当调用getRankingList 异步请求完成的时候会回调rankingsResultData来得到返回的数据或者能得到请求是否chengg
相关文章推荐
- 异步http开源框架使用(AsyncHttpClient)
- 引用开源框架通过AsyncHttpClient实现网络图片查看器
- Android应用中使用AsyncHttpClient来异步网络数据
- Android应用中使用AsyncHttpClient来异步网络数据
- 开源的HttpClient框架-----AsyncHttpClient的使用
- Android UI-开源框架ImageLoader完美使用+listview加载网络图片与下载
- 无废话Android之内容观察者ContentObserver、获取和保存系统的联系人信息、网络图片查看器、网络html查看器、使用异步框架Android-Async-Http(4)
- 使用自定义的item、Adapter和AsyncTask、第三方开源框架PullToRefresh联合使用实现自定义的下拉列表(从网络加载图片显示在item中的ImageView)
- 使用自定义的item、Adapter和AsyncTask、第三方开源框架PullToRefresh联合使用实现自定义的下拉列表(从网络加载图片显示在item中的ImageView)
- 使用开源项目Asynchttpclient的GET_POST访问网络,上传文件
- 强大的网络通信框架(不实现缓存)--第三方开源--AsyncHttpClient
- 赵雅智_引用开源框架通过AsyncHttpClient实现网络图片查看器
- IOS学习之路二十三(EGOImageLoading异步加载图片开源框架使用)
- Android批量图片加载经典系列——使用xutil框架缓存、异步加载网络图片
- Android开源框架AsyncHttpClient (android-async-http)使用
- 开源框架AsyncHttpClient使用
- 使用开源框架AsyncHttpClient进行Json的Post请求
- Android网络请求开源框架Volley快速使用指南(2)——异步获取图片
- IOS学习之路二十三(EGOImageLoading异步加载图片开源框架使用)
- Android开源框架AsyncHttpClient (android-async-http)使用