android Retrofit下载图片
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 @GET Call<ResponseBody> downloadLatestFeature(@Url String fileUrl);
from : http://blog.csdn.net/newsolider2012/article/details/54644762
我的demo DownloadImage
android Retrofit下载图片相关推荐
- android多线程下载图片
很多时候我们需要在Android设备上下载远程服务器上的图片进行显示,今天Android123整理出两种比较好的方法来实现远程图片的下载. 方法一.直接通过Android提供的Http类访问远程 ...
- android客户端下载图片的方法
回复于: 2011-02-21 22:26:06 HTTP 协议,就像下载一个图片一样. 类似于这样的代码: URL url = new URL("http://xxx.xxx.xxx.xx ...
- Android Retrofit下载文件进度
In this tutorial, we'll create an android application which downloads a file from the URL using Retr ...
- Android框架——下载图片框架Fresco
版权声明:本文为博主原创文章,未经博主允许不得转载.转载注明出处:Sunzxyong 流行的网络框架 目前流行的网络图片框架: Picasso.Universal Image Loader.Voll ...
- Android实现下载图片并保存到SD卡中
1.java代码,下载图片的主程序 先实现显示图片,然后点击下载图片按钮,执行下载功能. 从网络上取得的图片,生成Bitmap时有两种方法,一种是先转换为byte[],再生成bitmap:一种是直接用 ...
- android网络下载图片并且显示在图库中
1:网络下载图片 主要是练习网络编程,获取网络数据.不能使用网络资源的软件是很难有长足的发展和进步的,个人觉得,所以最近在学习网络相关的编程.这里就把我做的demo发在这里,同时我也梳理一下知识点.废 ...
- Android:下载图片
//显示图片 Glide.with(context).load(ApiService.HOST + imgUrl).skipMemoryCache(true)//跳过内存缓存.diskCacheStr ...
- Android 手机下载图片保存本地后,系统相册无法查看
下载图片到本地,由于没有通知系统相册,更新数据,导致系统相册无法找到这张图片. 处理方法一:已知图片保存地址,通过广播通知系统相册, 更新数据. public static void sendBroa ...
- android 网络下载图片,加载Bitmap 不oo控件
题目有点唬人的意思,不过,google官网确实已经给出了一个这样的例子 这个博客没多少技术含量,只是和大家分享这么一个东东 直接上图吧: 加载很多图片吧,这些图片都是从网络加载的:参考url publ ...
最新文章
- 小程序判断用户在线状态
- StaicArray
- leetcode 705. 设计哈希集合
- 字节流转化为文件流_字节流转成字符串之后,在通过字符串转成字节流后的文件为什么会不一样?...
- C++primer 第 4 章 表达式 4.1基础 4 . 2 算术运算符 4 .3 逻辑和关系运算符 4 . 4 赋值运算符 4 .5 递增和递减运算符 4.6成员访问运算符
- php 面向对象基础,PHP 面向对象基础
- 【linux】RedHat 安装 gcc、g++
- linux解压覆盖命令
- centos6.7环境下kvm虚拟机之virt-install和virsh及virt-manager工具的使用
- Solr中的q与fq参数的区别
- PowerBuilder 开发的游戏(建房子)
- centos下ftp服务器搭建
- 使用photoView完成照片查看器(本地图片)
- 计算机机房使用多大的光纤引入,数据中心机房采用光纤网络布线案例解析
- Spring boot 文件下载乱码问题
- office xls Hyperlink
- 《SpringBoot框架开发技术整合》笔记(二)
- Faster RCNN layer.py
- pytorch【Conv2d参数介绍】
- 关闭Linux防火墙