android用http下载图片
来源:互联网 发布:常用算法面试题 编辑:程序博客网 时间:2024/05/16 01:32
最近在做云相册,还在做模块封装,现在先将http下载图片贴出来:
package com.yuyan.http;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;import com.yuyan.cache.MyDiskCache;import com.yuyan.global.IDownloadListener;import com.yuyan.utils.MyUtils;/*** @ClassName: HttpDownload * @Description: http下载照片工具类* @author yan.yu * @date 2013-6-17 下午6:04:05 * */public enum MyHttpDownload {INSTANCE;/*下载监听器*/private static IDownloadListener listener = null;public static final int IO_BUFFER_SIZE = 8 * 1024;public static MyHttpDownload newInstance(IDownloadListener downLoadListener){listener = downLoadListener;return INSTANCE;}public static MyHttpDownload newInstance(){return INSTANCE;}/*** @Description: http从服务器上下载图片* @param @param urlString* @param @return* @param @throws IOException * @return File * @throws */public File downloadBitmap(String urlString) throws IOException {/*获取本地缓存对象*/final MyDiskCache cache = MyDiskCache.openCache();final File cacheFile = new File(cache.createFilePath(urlString));if (cache.containsKey(urlString)) {/*如果本地缓存中存在该图片就直接返回本地图片*/return cacheFile;}MyUtils.disableConnectionReuseIfNecessary();HttpURLConnection urlConnection = null;BufferedOutputStream out = null;try {final URL url = new URL(urlString);urlConnection = (HttpURLConnection) url.openConnection();urlConnection.setReadTimeout(10 * 1000);urlConnection.setConnectTimeout(5 * 1000);/*直接上传,禁止写入缓存*/urlConnection.setUseCaches(false);final InputStream in = new BufferedInputStream(urlConnection.getInputStream(), IO_BUFFER_SIZE);out = new BufferedOutputStream(new FileOutputStream(cacheFile),IO_BUFFER_SIZE);int b;if(listener != null)listener.onStart();while ((b = in.read()) != -1) {out.write(b);if(listener != null)listener.onProgress(b);}cacheFile.setLastModified(System.currentTimeMillis());if(listener != null)listener.onFinish(cacheFile);} catch (IOException e) {if(listener != null)listener.onError();throw e;} finally {if (urlConnection != null) {urlConnection.disconnect();}if (out != null) {out.flush();out.close();}}return cacheFile;}}
- android用http下载图片
- Android http 下载图片
- android 通过http网络下载图片 并
- Android--通过Http下载网络图片
- Android HTTP请求下载图片并缓存
- android--用http下载
- vc 下载http 图片
- http下载图片
- Http下载图片
- Android-网络:Http下载二进制文件(歌曲、更新包、图片)
- [android开发实例]通过Http协议下载图片简易版
- Android下载多个图片(传统Http请求方式)
- IOS HTTP下载一个图片
- http 网络请求 下载图片
- 一般的http下载图片
- Android Http下载请求
- Android HTTP下载文件
- android多线程下载图片
- android orm映射框架(类似hibernate)基本使用
- Delphi中@,^,#,$特殊符号意义
- windows 系统下忘记mysql root 密码 重设root密码
- xode一些配置参数的理解
- vi/vim 查找替换
- android用http下载图片
- 字典树的应用和好处
- iPhone缓存网络数据
- Qt 事件系统
- Java 设计模式之状态模式
- log miner的使用
- CStatic 字体颜色
- 关于做好open taobao api事宜的说明,【2013年第一战】
- nutch视频