OKGO对于android开发人员来说,应该说是直播APP开发过程中非常熟悉的网络框架之一,该库是基于 Http 协议,封装了 OkHttp 的网络请求框架,比 Retrofit 更简单易用,支持 RxJava,RxJava2,支持自定义缓存,支持批量断点下载管理和批量上传管理功能。在直播APP开发时,使用它来实现对网络图片的下载,步骤非常简单。
最主要方法就是:
OkGo.<File>get(url).tag(tag).execute(new FileCallback(fileDir, fileName) {
@Override
public void onSuccess(Response<File> response) {
//下载成功结束后的回调
if (callback != null) {
callback.onSuccess(response.body());
}
}
@Override
public void downloadProgress(Progress progress) {
if (callback != null) {
int val = (int) (progress.currentSize * 100 / progress.totalSize);
L.e("下载进度--->" + val);
callback.onProgress(val);
}
}
@Override
public void onError(Response<File> response) {
super.onError(response);
Throwable e = response.getException();
L.e("下载失败--->" + e);
if (callback != null) {
callback.onError(e);
}
}
});
其中,参数url就是你想要下载的网络图片链接,然后,传入一个自定义的tag,便可进行文件的下载了,在已经封装好的回调中,我们可以通过downloadProgress()获得文件下载进度;onError()获得下载失败信息,执行下载失败的逻辑;在onSuccess()中,执行下载完成后的正常逻辑。当然,对于单张图片的下载来说是非常简洁,如果需要其他的一些功能,还是需要再改动。
以上就是直播APP开发时,在Android 使用OKGO实现网络图片下载的主要方法,那么本次介绍就先到这里,希望能给大家起到一定的帮助。
声明:本文由作者原创,转载请注明出处及原文链接。