android Retrofit下载图片
来源:互联网 发布:少儿编程培训班靠谱吗 编辑:程序博客网 时间:2024/06/05 19:21
Retrofit通过Url下载图片
1.首先工具类:
/** * ClassName:DownloadImageUtils * Description TODO 下载图片 * created by 漠天 * Data 2016/12/20 11:35 */public class DownloadImageUtils { /** * 下载图片到SD卡 * @param mApi * @param url * @param imageName */ public static void downloadLatestFeature(AppServiceApi mApi, final String url, final String imageName){ Call<ResponseBody> resultCall = AppService.downloadLatestFeature(mApi,url); resultCall.enqueue(new Callback<ResponseBody>() { @Override public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) { writeResponseBodyToDisk(imageName,response.body()); } @Override public void onFailure(Call<ResponseBody> call, Throwable t) { } }); } /** * 保存下载的图片流写入SD卡文件 * @param imageName xxx.jpg * @param body image stream */ public static void writeResponseBodyToDisk(String imageName, ResponseBody body) { if(body==null){ ToastUtils.showToast("图片源错误"); return; } try { InputStream is = body.byteStream(); File fileDr = new File(APP_IMAGE_DIR); if (!fileDr.exists()) { fileDr.mkdir(); } File file = new File(APP_IMAGE_DIR, imageName); if (file.exists()) { file.delete(); file = new File(APP_IMAGE_DIR, imageName ); } FileOutputStream fos = new FileOutputStream(file); BufferedInputStream bis = new BufferedInputStream(is); byte[] buffer = new byte[1024]; int len; while ((len = bis.read(buffer)) != -1) { fos.write(buffer, 0, len); } fos.flush(); fos.close(); bis.close(); is.close(); } catch (IOException e) { e.printStackTrace(); } }}
2.接口方法:
/** * 下载最新模板图片 * @param api */public static Call<ResponseBody> downloadLatestFeature(AppServiceApi api, String imageUrl) { return api.downloadLatestFeature(imageUrl);}
3.Retrofit接口调用:(主要就是这部分,@Streaming 和 Call<ResponseBody> )
/** * 下载最新模板 * * @return */@Streaming@GETCall<ResponseBody> downloadLatestFeature(@Url String fileUrl);
from : http://blog.csdn.net/newsolider2012/article/details/54644762
我的demo DownloadImage
阅读全文
0 0
- android Retrofit下载图片
- Android Retrofit下载网络图片
- Android Retrofit 上传文件图片
- Android RxJava Retrofit上传图片
- 简单入门使用Retrofit+ rxjava 下载图片
- Retrofit下载
- Android Retrofit 2.0框架上传图片解决方案
- Android使用Retrofit上传图片到服务器
- Android笔记(16)retrofit上传图片
- 使用Retrofit和Rxjava下载启动图图片
- 用retrofit上传图片与下载以及进度
- retrofit下载大文件注意点和android存储位置
- android多线程下载图片
- android下载网络图片
- android异步下载图片
- android 图片音乐下载
- Android 网络下载图片
- android=》下载图片
- Android中MVP模式与MVC模式比较
- maven4-生命周期
- 【ESP8266】ESP8266 sniffer使用示例(基于NONOS SDK)
- Access denied for user 'sa'@'localhost' (using password: NO)
- 利用C#Reflector等反编译工具学习精练的编程方法
- android Retrofit下载图片
- 微信JS-SDK 微信分享接口开发(介绍版)
- QT 设计师添加图标注意
- Android设置全屏显示
- linux---注意事项
- typescript中使用字典Dictionary
- IO/输入输出
- Centos 7配置JDK1.8_第一节
- Spring Boot 之Maven配置