开源网络框架Nohttp有着非常大的优势,首先他是由国人严振杰研发的,有详细的中文文档,方便于我们进行研究和使用。其次,Nohttp的有着最大的优点:可以自由选择底层框架是HttpUrlConnection还是Okhttp,它可以说是volley的升级版。但开发中,我们根据自己的需求,依然要对其进行二次封装,以达到,在使用NOhttp请求网络时,自带自定义的进度条对话框,简化一些冗余代码,使用一个RequestQueue队列,节约内存。
完成后的效果图:
一、关联Nohttp网络框架、初始化、清单文件加入权限、页面布局
我是用HttpUrlConnection作为底层框架,至于权限和布局这些都很基础了,可以参考我的上一篇博客
Nohttp的使用(一): http://blog.youkuaiyun.com/bo543937071/article/details/53609360
注意:要在Application中进行初始化,同时在清单文件里进行注册。
二、定义接口:
自定义一个NOhttp请求网络的监听器接口,使用二次封装的NOhttp,必须实现该接口,以便于覆写,两个方法分别是:网络请求成功的抽象方法,网络请求失败的抽象方法。
public interface HttpListener<T> { //请求网络成功回调的监听方法 void onSucceed(int what, Response<String> response); //请求网络成功回调的监听方法 void onFailed(int what, Response<String> response); } 三、自定义进度条对话框类: 进度条对话框就是效果图中点击按钮会弹出"请稍候。。。"的对话框。 代码如下:
public class WaitDialog extends ProgressDialog{ public WaitDialog(Context context) { super(context); //设置当前的Activity无title,并且全屏(调用这个方法必须在setContentView