NoHttp

NoHttp发起请求

studio中的gradle中引入(目前最新版本 ,更新至1.0.6)

compile 'com.yolanda.nohttp:nohttp:1.0.4'


在程序入口处,即自定义类,继承Application

NoHttp.initialize(this);

创建请求队列

1
RequestQueue queue = NoHttp.newRequestQueue();

请求String数据

1
2
3
4
Request<String> request = NoHttp.createStringRequest(url);
request.add( "userName" "yolanda" );
request.add( "file" new  FileBinary(file));
queue.add( 0 , request, responseListener);

请求Bitmap数据

1
2
Request<Bitmap> request = NoHttp.createImageRequest(url);
queue.add(what, request, responseListener);

请求Json数据

1
2
3
4
5
6
7
// JsonObject
Request<JSONObject> request = NoHttp.createJsonObjectRequest(url);
queue.add(what, request, responseListener);
...
// JsonArray
Request<JSONArray> request = NoHttp.createJsonArrayRequest(url);
queue.add(what, request, responseListener);

子线程同步请求

1
2
3
4
5
6
7
8
// 在当前线程发起请求,在线程这么使用
Request<String> request = NoHttp.createStringRequest(url);
Response<String> response = NoHttp.startRequestSync(request);
if  (response.isSucceed()) {
     // 请求成功
else  {
     // 请求失败
}

NoHttp接受请求结果

编辑
以接受String结果为例,其它雷同
1
2
3
4
5
6
7
8
9
10
11
12
13
OnResponseListener<String> responseListener =  new  OnResponseListener<>() {
     // 请求开始时,可以显示一个Dialog
     public  void  onStart( int  what) {}
     // 请求接受时,关闭Dialog
     public  void  onFinish( int  what) {}
     // 接受请求结果
     public  void  onSucceed( int  what, Response<String> response) {
         // 拿到请求结果
         String result = response.get();
     }
     // 请求失败或者发生异常
     public  void  onFailed( int  what, String url, String error) {}
};

取消请求

编辑

取消单个请求

1
2
3
Request<String> request = NoHttp.createStringRequest(url);
...
request.cancel();

取消队列中的指定请求

1
2
3
4
Request<String> request = NoHttp.createStringRequest(url);
request.setCancelSign(sign);
...
queue.cancelBySign(sign); // 取消用sign标志的请求

取消所有请求

1
queue.cancelAll();

停止队列

1
queue.stop();

文件下载模块

编辑

创建下载队列

1
RequestQueue queue = NoHttp.newDownloadRequestQueue();

发起下载请求

1
2
3
4
5
6
7
//下载文件
DownloadRequest downloadRequest = NoHttp.createDownloadRequest(url);
 
// what 区分下载
// downloadRequest 下载请求对象
// downloadListener 下载监听
queue.add( 0 , downloadRequest, downloadListener);

暂停/停止下载

1
downloadRequest.cancel();

监听下载过程/进度

1
2
3
4
5
6
7
8
9
10
11
12
13
14
private  DownloadListener downloadListener =  new  DownloadListener() {
     // 开始下载
     public  void  onStart( int  what, Headers header,  long  count) {}
     // 下载进度变化
     public  void  onProgress( int  what,  int  progress,  long  downCount) {
         // progress就是进度值
     }
     // 下载完成
     public  void  onFinish( int  what, String filePath) {}
     // 下载出错
     public  void  onDownloadError( int  what, String error) {}
     // 下载暂停或者取消
     public  void  onCancel( int  what) {}
};
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值