异步下载图片的任务
2014-09-19 09:39
260 查看
这些代码,觉得对自己有用的就粘贴下来了,看不懂勿怪。 /** * 异步下载图片的任务。 * * @author guolin */ class BitmapWorkerTask extends AsyncTask<String, Void, Bitmap> { /** * 图片的URL地址 */ private String imageUrl; @Override protected Bitmap doInBackground(String... params) { imageUrl = params[0]; // 在后台开始下载图片 Bitmap bitmap = downloadBitmap(params[0]); if (bitmap != null) { // 图片下载完成后缓存到LrcCache中 addBitmapToMemoryCache(params[0], bitmap); } return bitmap; } @Override protected void onPostExecute(Bitmap bitmap) { super.onPostExecute(bitmap); // 根据Tag找到相应的ImageView控件,将下载好的图片显示出来。 ImageView imageView = (ImageView) mPhotoWall .findViewWithTag(imageUrl); if (imageView != null && bitmap != null) { imageView.setImageBitmap(bitmap); } taskCollection.remove(this); } /** * 建立HTTP请求,并获取Bitmap对象。 * * @param imageUrl <span style="font-family: Arial, Helvetica, sans-serif;">图片的URL地址</span> * * @return 解析后的Bitmap对象 */ private Bitmap downloadBitmap(String imageUrl) { Bitmap bitmap = null; HttpURLConnection con = null; try { URL url = new URL(imageUrl); con = (HttpURLConnection) url.openConnection(); con.setConnectTimeout(5 * 1000); con.setReadTimeout(10 * 1000); con.setDoInput(true); con.setDoOutput(true); bitmap = BitmapFactory.decodeStream(con.getInputStream()); } catch (Exception e) { e.printStackTrace(); } finally { if (con != null) { con.disconnect(); } } return bitmap; } }
/** * 记录所有正在下载或等待下载的任务。 */ private Set<BitmapWorkerTask> taskCollection;
BitmapWorkerTask task = new BitmapWorkerTask(); taskCollection.add(task);<pre name="code" class="java"><span style="white-space:pre"> </span>task.execute(imageUrl);
public void cancelAllTasks() { if (taskCollection != null) { for (BitmapWorkerTask task : taskCollection) { task.cancel(false); } } }
相关文章推荐
- 一个异步任务接收两个url下载两个图片
- 异步任务下载图片,带进度条
- Android带进度条的下载图片示例(AsyncTask异步任务)
- 异步任务下载图片带进度条
- Android有进度条异步任务下载图片
- AsyncTask 异步任务下载网络图片
- Android:仿微博Listview与多线程功能(JSON、数据下载、图片加载、Listview、异步任务)
- android异步任务图片下载(进度条提示进度)
- Android 解决异步任务下载图片错位问题
- Android之AsyncTask异步任务下载网络图片
- 使用异步任务下载图片~
- Android 异步任务——AsyncTask (附使用AsyncTask下载图片Demo)
- android:异步任务asyncTask介绍及异步任务下载图片(带进度条)
- 安卓中异步任务实现带下载进度的根据图片地址下载图片
- Android:仿微博Listview与多线程功能(JSON、数据下载、图片加载、Listview、异步任务)
- Android使用异步任务下载图片
- 使用异步任务-AsyncTask下载远程图片
- 异步处理任务工具类(AsyncTask)实现多张图片的下载(已知url)
- 安卓多线程编程系列1:异步任务的使用之使用异步任务圆圈滚动条下载网络图片
- AsyncTask --异步任务+简单的网络图片下载