自己封装的android客户端http网络框架
2014-04-17 09:27
561 查看
整个框架是基于阿帕奇的httpclient搭建的,框架类图如下,我是用Astah Professional画出来,将项目导入,自动生成所有类关系图,还是挺方便的;
核心类是HttpManager和HttpAsyncTakeManager,前者基于threa实现,后者基于asyncTask实现,封装了get和post请求,只需要实例化,并且调用request方法即可;
[java] view
plaincopy
HttpAsyncTaskManager http=new HttpAsyncTaskManager(this);
String url = "http://www.12306.cn/mormhweb/kyfw/ypcx/";
http.request(url, new StringTaskHandler() {
@Override
public void onNetError() {
// TODO Auto-generated method stub
System.out.println("---------neterror---------");
}
@Override
public void onSuccess(String result) {
// TODO Auto-generated method stub
System.out.println("#####" + result);
}
@Override
public void onFail() {
// TODO Auto-generated method stub
System.out.println("---------onFail---------");
}
});
TaskHandler<T>是一个抽象泛型类,有四个子类,StringTaskHandler,InputStreamTaskHandler,JsonObjectHandler,JsonArrayHandler,分别可以处理xml流,字符串,json对象;还可以自定义扩展TaskHandler,实现自己的逻辑
[java] view
plaincopy
public abstract class TaskHandler<T> {
/** network is break */
public abstract void onNetError();
/**
* have a successful response
*
* @param result
*/
public abstract void onSuccess(T result);
/** if the timeout,server error */
public abstract void onFail();
/**
* parse the InputStream,must be override this
*
* @param result
*/
public abstract T parseResult(InputStream result);
}
一句代码就搞定,请求,有木有很方便呢,整个项目我已经放在github上面了https://github.com/allen1988/android_http_framework
转自:http://blog.csdn.net/jaylong1302/article/details/9270047
核心类是HttpManager和HttpAsyncTakeManager,前者基于threa实现,后者基于asyncTask实现,封装了get和post请求,只需要实例化,并且调用request方法即可;
[java] view
plaincopy
HttpAsyncTaskManager http=new HttpAsyncTaskManager(this);
String url = "http://www.12306.cn/mormhweb/kyfw/ypcx/";
http.request(url, new StringTaskHandler() {
@Override
public void onNetError() {
// TODO Auto-generated method stub
System.out.println("---------neterror---------");
}
@Override
public void onSuccess(String result) {
// TODO Auto-generated method stub
System.out.println("#####" + result);
}
@Override
public void onFail() {
// TODO Auto-generated method stub
System.out.println("---------onFail---------");
}
});
TaskHandler<T>是一个抽象泛型类,有四个子类,StringTaskHandler,InputStreamTaskHandler,JsonObjectHandler,JsonArrayHandler,分别可以处理xml流,字符串,json对象;还可以自定义扩展TaskHandler,实现自己的逻辑
[java] view
plaincopy
public abstract class TaskHandler<T> {
/** network is break */
public abstract void onNetError();
/**
* have a successful response
*
* @param result
*/
public abstract void onSuccess(T result);
/** if the timeout,server error */
public abstract void onFail();
/**
* parse the InputStream,must be override this
*
* @param result
*/
public abstract T parseResult(InputStream result);
}
一句代码就搞定,请求,有木有很方便呢,整个项目我已经放在github上面了https://github.com/allen1988/android_http_framework
转自:http://blog.csdn.net/jaylong1302/article/details/9270047
相关文章推荐
- 自己封装的android客户端http网络框架
- android http——网络请求二次封装的框架设计
- android http——网络请求二次封装的框架设计
- Android网络框架之----OKHttp简单二次封装
- Android基于http封装的网络请求框架
- Android 网络访问框架retrofit2,okhttp3之简单封装,kotlin源码
- Android网络请求框架AsyncHttp二次封装
- Android----------OkHttp网络请求框架Get和Post简单封装(泛型)
- 上门洗车APP --- Android客户端开发 之 网络框架封装介绍(一)
- 上门洗车APP --- Android客户端开发 之 网络框架封装介绍(一)
- 上门洗车APP --- Android客户端开发 之 网络框架封装介绍(二)
- 上门洗车APP --- Android客户端开发 之 网络框架封装介绍(二)
- 使用android-async-http来封装Android网络请求框架
- 12_Android中HttpClient的应用,doGet,doPost,doHttpClientGet,doHttpClient请求,另外借助第三方框架实现网络连接的应用,
- Android网络客户端编程,HttpGet类和HttpPost类使用详解,连接php-mysql服务器
- Android_访问网络三(android-async-http框架的简单使用)
- Android开源客户端之LookAround学习(一)Application & 网络框架
- Android网络请求框架android-async-http
- Android 的OkHttp 网络请求框架的学习封装
- 如何封装自己的网络框架(RxJava+okHttp+Retrofit)