《Android网络请求篇》MyHttpUtils一个非常好用的异步网络请求框架
最新版介绍看这里—————>这是一个使用策略模式和构建模式设计的网络请求框架,去看看吧《[倾力之作]android轻量级网络请求框架MyHttputils2.1.6》
一、能做什么
你只需要传url,JavaBean就可以在回调方法里面得到想要的结果,你会发现你的代码里面没有了子线程、没有了handle,链式的编程使得代码结构更加清晰。
1.1 功能
- 支持get、post请求;
- 支持http和https的协议;
- 支持设置连接、读取超时时间(可选);
- 支持json格式的请求结果(无论json格式多复杂,都能搞定);
- 支持传入JavaBean对象(解析之后的javabean对象);
- 支持回调方法中反应传入javabean对象,这样可以在回调方法中直接拿到解析过后的javabean对象;
- 支持回调方法中更新UI(所以叫异步请求了)。
说明:java中一切皆对象,这里的JavaBean对象就是你请求接口之后返回的json数据所对应的实体。
1.2 使用场景
大部分的网络请求都是返回json格式的数据,秉承java中一切皆对象的原则,这个json格式的数据必定对应一个JavaBean。你只要能通过json格式构造出相应的javabean对象(文章的最后会介绍如何快速构造JavaBean对象),那么用几行代码就可以帮你解析出来。(如果你的项目中不能使用Retrofit,OkHttp那么你是找对地方了)。所以,只要请求接口返回的数据格式是json的都可以用。
备注:目前还不支持文件上传和下载,后续将跟进,敬请关注
二、怎么用
方法一:gradle导入(推荐)最新版本请移步GitHub
compile 'com.huangdali:myhttputils1.0:1.3.2'
方法二:导入arr包(上面方法失败的话就用这个吧)
进入项目的github主页,下载该项目,arr文件就在.\MyHttpUtils\myhttputils1.0\build\outputs\aar文件夹下面(点击这里进入github)。你要是嫌麻烦的话点击这里直接下载arr文件。更多使用方法请看jcenter.bintray主页
注意:由于使用到了由于框架中使用到了gson,所以也不需要加入gson的依赖。(如果你的项目中已经有了Gson的依赖请删除)
三、应用举例
3.1 get请求
下面通过一个查询ip地址信息的demo来介绍get方式的使用(先来看运行的效果图):
上代码:
/**
* 获取IP地址的监听事件
*
* @param view
*/
public void onGetIP(View view) {
String url = "http://ip.taobao.com/service/getIpInfo.php?ip=182.254.34.74";//请求的接口
new MyHttpUtils()
.url(url)//请求的url
.setJavaBean(IPBean.cla