android 断点续传 httpclient,GitHub - tfgzhang/EasyHttp: Android 网络通信组件;支持get/post请求,下载,断点续传,上传;Get/Post请...

EasyHttp

68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d417061636865253230322d677265656e2e737667

68747470733a2f2f6170692e62696e747261792e636f6d2f7061636b616765732f6c617572656e636579616e6765722f6d6176656e2f65617379687474702d6c617572656e636579616e6765722f696d616765732f646f776e6c6f61642e737667

特性

支持Get请求

支持Post请求

Get/Post请求完美支持String,Json,自定义对象返回

Get支持全局缓存设置及不同请求不同缓存设置

支持文件下载及下载管理

支持文件下载的断点续传

支持文件上传

使用简单;轻量级代码;结构清晰

基于okhttp3

下载管理数据库使用greendao

最新版本

v0.6.0 - 2017.02.27 - Get/Post请求完美支持String,Json,自定义对象返回;下载模块添加异常检测及容错处理

v0.5.0 - 2017.02.21 - 初版发布,支持Get、Post、下载、上传、断点续传、不同缓存策略等

ScreenShot

GIF.gif

使用指南

With Gradle

在全局build.gradle文件的repositories添加如下所示配置:

jcenter()

在module的build.gradle文件的dependencies区域内添加如下所示配置:

compile 'com.yang.easyhttp:easyhttp:0.6.0'

初始化

在Applicaiton里进行初始化。

public class MainApplication extends Application {

@Override

public void onCreate() {

super.onCreate();

// 初始化HttpClient.

EasyHttpClient.init(this);

// 初始化下载环境.optional.

EasyHttpClient.initDownloadEnvironment(2);

}

}

Get 请求

EasyHttp提供EasyHttpClient.get接口用来异步请求网络数据。

返回自定义对象eg:

EasyHttpClient.get(url, new EasyCustomCallback() {

@Override

public void onStart() {//ui thread.

dialog.show();

}

@Override

public void onFinish() {//ui thread.

dialog.cancel();

}

@Override

public void onSuccess(Entity content) {//ui thread.

// ui operation using content object.

}

@Override

public void onFailure(Throwable error, String content) {//ui thread.

body.setText(content + "\n" +error.toString());

}

});

Get请求接口列表如下:

public static void get(String url, EasyCallback callback);

public static void get(String url, EasyRequestParams easyRequestParams, EasyCallback callBack);

public static void get(String url, int cacheType, EasyCallback callback);

public static void get(String url, EasyRequestParams easyRequestParams, int cacheType, EasyCallback callback);

返回的是Json对象时,可以使用EasyJsonCallback作为回调。

返回的是普通的字符串,可以使用EasyStringCallback作为回调。

EasyRequestParams用来设定请求的参数。

EasyCacheType用来设定每个请求的缓存类型。

Post请求

EasyHttp提供EasyHttpClient.post接口用来异步post数据。

EasyRequestParams params = new EasyRequestParams();

params.put("key1", "value1");

params.put("key2", "value2");

EasyHttpClient.post(postUrl,

params,

new EasyStringCallback() {

@Override

public void onStart() {

dialog.show();

}

@Override

public void onFinish() {

dialog.cancel();

}

@Override

public void onSuccess(String content) {

Toast.makeText(PostActivity.this, "提交成功", Toast.LENGTH_LONG);

result.setText(content);

}

@Override

public void onFailure(Throwable error, String content) {

Toast.makeText(PostActivity.this, "提交失败", Toast.LENGTH_LONG);

result.setText(content + "\n" + error.getMessage());

}

}

);

Post请求接口列表如下:

public static void post(String url, EasyRequestParams easyRequestParams, EasyCallback callback)

同Get请求类似,返回的是Json数据,可以使用EasyJsonCallback类来作为回调。

返回的是普通的字符串,可以使用EasyStringCallback作为回调。

EasyRequestParams用来设定post的键值对。

Download File

初始化时可通过initDownloadEnvironment(int threadCount)来设定同时下载的数量。

跟下载相关的类包括:

EasyDownloadManager 负责管理下载任务

EasyDownloadTask 下载任务

EasyDownloadTaskListener 下载回调

EasyTaskEntity 任务的实体

EasyTaskStatus 下载的状态

关于下载的管理,可以参考sampe中的DownloadAdapter文件,实现了文件的下载,断点续传,进度展示等通用功能。

Upload File

EasyHttp提供EasyHttpClient.uploadFile接口用来上传文件。接口如下:

public static void uploadFile(String url, String filePath, EasyCallback callback)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值