直接贴代码

public class HttpClientImageDownloader extends BaseImageDownloader implementsImageDownloader {public HttpClientImageDownloader(Context context) {super(context);}@Overrideprotected InputStream getStreamFromFile(String imageUri, Object extra)throws IOException {String filePath = Scheme.FILE.crop(imageUri);File file = new File(filePath);if(!file.exists())file.createNewFile();return new ContentLengthInputStream(new BufferedInputStream(new FileInputStream(filePath), BUFFER_SIZE),(int) new File(filePath).length());}@SuppressLint("UseValueOf")@Overrideprotected InputStream getStreamFromNetwork(String imageUri, Object extra)throws IOException {//HttpURLConnection conn = createConnection(imageUri, extra);////int redirectCount = 0;//while (conn.getResponseCode() / 100 == 3 && redirectCount < MAX_REDIRECT_COUNT) {//conn = createConnection(conn.getHeaderField("Location"), extra);//redirectCount++;//}//EOFException来自conn.getResponseCode()//InputStream imageStream;//try {//imageStream = conn.getInputStream();//} catch (IOException e) {//// Read all data to allow reuse connection (http://bit.ly/1ad35PY)//IoUtils.readAndCloseStream(conn.getErrorStream());//throw e;//}DefaultHttpClient client = new DefaultHttpClient();HttpGet request = new HttpGet(imageUri);request.getParams().setParameter("http.socket.timeout",new Integer(connectTimeout));request.addHeader("Pragma", "no-cache");request.addHeader("Cache-Control", "no-cache");request.addHeader("Charset", "UTF-8");HttpResponse httpResponse = client.execute(request);HttpEntity entity = httpResponse.getEntity();InputStream imageStream = entity.getContent();return new ContentLengthInputStream(new BufferedInputStream(imageStream, BUFFER_SIZE), (int)entity.getContentLength());}}
另外配置为自己的imageloader
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext()).defaultDisplayImageOptions(defaultOptions).threadPriority(Thread.NORM_PRIORITY - 2).denyCacheImageMultipleSizesInMemory().threadPoolSize(3).imageDownloader(new HttpClientImageDownloader(this )).tasksProcessingOrder(QueueProcessingType.LIFO).memoryCache(new WeakMemoryCache()).build();


更多相关文章

  1. Android弹出对话框简单代码
  2. Android 中保存图片的代码
  3. Android 代码生成界面Sample
  4. Android 代码监控apk安装,卸载,替换
  5. android 代码创建快捷方式
  6. Android开发人员不得不收集的代码
  7. Android 实现SHA1加密算法代码

随机推荐

  1. React-Native 封装Android(安卓)原生控件
  2. No 98 · Android(安卓)下载文件及写入SD
  3. android之【LinearLayout自定义View】
  4. android中的handler的使用方法
  5. 云进销存源码|云ERP进销存源码开源php支
  6. PHP中,%s与%d是什么意思
  7. js-基础(一)变量、常量、函数与数据类型
  8. 变量和函数的声明,使用及参数实例演示
  9. php模板语法与html混编
  10. yum安装软件报错:Invalid configuration