NoHttp

Nohttp类似于volley的升级版,其使用步骤基本一致


特点:
1.多种请求方式并发调用,支持get,post,put等网络解析方式
2.文件上传,文件下载,下载进度回调,错误回调,支持暂停继续下载,支持取消大文件上传,不会发生OOM,支持File,InputStream,ByteArray,Bitmap,实现NOhttp的
Binary接口,理论上任何东西都可以穿,
3.支持取消某个请求,取消指定多个请求,取消所有请求
4.支持自定义Request,利用NOhttp泛型可以解析成你想要的任何数据格式(String,Json,JavaBeann,XML,Bitmap)
5.异步请求,拿到结果直接更新UI,支持同步请求.

使用NOhttp的步骤:

0. 关联NOhttp

build.gradle文件下dependencies里添加compile 'com.yolanda.nohttp:nohttp:1.1.0'

1. 初始化NOhttp.

自定义Application,对NoHttp进行初始化,

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        //NoHttp默认初始化
        NoHttp.initialize(this);
        super.onCreate();
    }
}

在清单文件里注册自定义的Application.

2. 在清单文件里添加权限






3. 创建一个队列,使用NOhttp的静态方法,创建消息请求,指定访问的网址,及请求网络的方式

String url="http://www.baidu.com";
//创建一个队列
RequestQueue queue = NoHttp.newRequestQueue();
//创建消息请求,  参数1 String字符串,传网址  参数2:指定请求的方式
//提示:(你们请求的数据是什么类型,就调用对应的方法,主要是中间的单词有区别)
Request request = NoHttp.createStringRequest(url, RequestMethod.GET);

4. 利用队列去添加消息请求

queue.add(0, request, new OnResponseListener() {
            //请求开始时,回调的方法,一般做进度条对话框的加载
            @Override
            public void onStart(int what) {

            }
            //请求成功时,回调的方法,代码直接运行到主线程
            @Override
            public void onSucceed(int what, Response response) { 
            
            }
            //网络请求失败的回调,代码直接运行到主线程
            @Override
            public void onFailed(int what, Response response) {

            }
            //网络请求成功,一般隐藏进度条对话框
            @Override
            public void onFinish(int what) {

            }
        });
提示:如果使用post请求,注意进行数据的add添加.上传数据

你可能感兴趣的:(NoHttp)