AsyncTask下载图片
最近在看一个非常早期曾经写过代码,装上去召回。本文首先召回AsyncTask的基本使用. AsyncTask说简单点就是 开启一个线程。而且把结果提交给ui线程。
Thread+Handler,只是里面做了一些封装 减轻了我们维护线程的麻烦。
先来写一个简单的样例,异步下载一个图片,显示到ImageView中。
public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);new MyTask().execute("http://www.baidu.com/img/bdlogo.png");//下载一个baidu的logo}//第一个參数的须要处理的数据,第二个參数是进度值。第三个參数是处理结果的类型
public class MyTask extends AsyncTask<String,Integer,Bitmap> {@Overrideprotected void onPostExecute(Bitmap result) {Log.d("", "onPostExecute");updateImageView(result);}@Overrideprotected void onPreExecute() {Log.d("", "onPreExecute");}@Overrideprotected Bitmap doInBackground(String... args) {String website = args[0];HttpURLConnection conn = null;InputStream ins = null;try {URL url = new URL(website);conn = (HttpURLConnection) url.openConnection();conn.setConnectTimeout(5000);conn.setDoInput(true);if (conn.getResponseCode() == 200) {Log.d("", "get image is ok");ins = conn.getInputStream();return BitmapFactory.decodeStream(ins);}} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} finally {if (ins != null) {try {ins.close();} catch (IOException e) {e.printStackTrace();}}}return null;}}public void updateImageView(Bitmap result) {if (result != null) {ImageView img = (ImageView) findViewById(R.id.img);img.setImageBitmap(result);}}}
onProgressUpdate这里没有写 是更新进度值的。通过调用publishProgress
注意事项:不能在线程中 new AsyncTask 仅仅能在ui线程中使用。不能在一个对象上调用2次execute方法,仅仅能用一次
下一篇将具体解破AsyncTask源代码。 若有问题。请指出 谢谢。
版权声明:本文博主原创文章,博客,未经同意不得转载。
AsyncTask下载图片相关推荐
- 26.Android 下载图片保存到相册
26.Android 下载图片保存到相册 Android 下载图片保存到相册 前言 实现思路 自定义Dialog 自定义Handler 自定义AsyncTask AndroidManifest配置权限 ...
- android多线程下载图片
很多时候我们需要在Android设备上下载远程服务器上的图片进行显示,今天Android123整理出两种比较好的方法来实现远程图片的下载. 方法一.直接通过Android提供的Http类访问远程 ...
- 简单图库软件的实现(联网下载图片保存到sdcard在Listview中展示,并作为ContentProvider为其他软件提供图库数据)
先看效果图: 这就是一个可以联网的图库软件,下面我们来看看需求 业务需求 1.判断是否第一次运行,第一次运行,提示添加新条目 2.点击添加按钮,弹出对话框,输入图片网址和标题 3.下载图片保存到本地S ...
- Android中使用HttpURLConnection实现GET POST JSON数据与下载图片
Android中使用HttpURLConnection实现GET POST JSON数据与下载图片 Android6.0中把Apache HTTP Client所有的包与类都标记为deprecated ...
- AsyncTask下载网络图片并显示下载进度
1.AsyncTask概述 AsyncTask是一个轻量级的异步任务类,它可以在线程池中执行后台任务,然后把执行的进度和最终结果传递给主线程并在主线程中更新UI,AsyncTask封装了Thread和 ...
- 通过网络Url下载图片并下载到本地相册
BitMapFactory.decodeByteArray返回null,完美解决 /*** 下载图片** @param context* @param path* @return* @throws E ...
- java下载图片压缩包_java压缩文件和下载图片示例
本文实例为大家分享了java压缩文件和下载图片示例,供大家参考,具体内容如下 主页面index.xml 项目的主页 主页主页 湖南长沙 发布方式一...... 页面内容压缩演示--gzip 下载图片 ...
- Jsoup下载图片报错:UnsupportedMimeTypeException
2019独角兽企业重金招聘Python工程师标准>>> 使用Jsoup下载图片时,报错:不支持MimeType异常. Response request = Jsoup.connect ...
- 测试Python下载图片的三种方法
简 介: 通过Python软件包对网络URL图片链接进行下载,可以加快后期处理.本文测试了urllib, request两个软件包对图片进行下载效果.如果图片原网页有了防止下载机制,是无法下载图片. ...
- scrapy (2)下载图片及存储信息
例1:scrapy项目的使用(利用item收集抓取的返回值) 1.创建scrapy项目 1 2 3 4 5 6 scrapy startproject booklist New Scrapy proj ...
最新文章
- Authentication 方案优化探索(JWT, Session, Refresh Token, etc.)
- 网络推广外包浅析为什么网络推广外包中网站优化比百度竞价更友好?
- @autowired注入mapper_Intellij IDEA中Mybatis Mapper自动注入警告的6种解决方案
- [转]emailjs-smtp-client
- echarts 时间曲线图_制作按时间每秒实时更新的echarts折线图
- mysql tableveiw与表格,javafx将数据库内容输出到tableview表格
- 本机不装Oracle,使用plsql连接远程Oracle的方法
- 应届生月薪2W,财务人却不涨薪?那是你不会这种财务分析
- Java新手求助,将两个文件合并为一个文件执行程序是发生的问题
- Java项目源码小微信程序第四期前台+后台相结合的水果商城系统
- 视频教程-C# 实战项目——快递单打印软件-C#
- matlab 阿伦方差,GitHub - XinLiGH/GyroAllan: 陀螺仪随机误差的 Allan 方差分析
- Python-修改图片分辨率
- 获取地理位置定位信息-app端
- 华为方舟编译器开源官网正式上线,并首次开放了框架源码!
- 长平之战后的秦赵又一次决战——邯郸保卫战_我是亲民_新浪博客
- php 数独求解,php求解数独
- 【深圳】大湾区第三次.NET技术交流会(网络直播)
- [bzoj4605]崂山白花蛇草水 k-d tree 带替罪羊重构
- 用函数求斐波那契数列前n项和