Android 图片异步加载 加载网络图片
最近用到了加载网络图片,研究了一下,写一点简单的介绍:
首先创建一个线程去取图片(网络请求必须放在线程中):
/** * 使用继承java.lang.Thread类的方式创建一个线程 * 直接取图片,简单方式; * @author */ public class ThreadTest extends Thread { /** * 重写(Override)run()方法 JVM会自动调用该方法 */ public void run() { System.out.println("I'm running!"); mbitmap = getHttpBitmap(baidu_Logo_Url); } }
网线请求图片:
/** * 获取网落图片资源 * @param url * @return */ public static Bitmap getHttpBitmap(String url){ URL myFileURL; Bitmap bitmap=null; try{ myFileURL = new URL(url); //获得连接 HttpURLConnection conn=(HttpURLConnection)myFileURL.openConnection(); //设置超时时间为6000毫秒,conn.setConnectionTiem(0);表示没有时间限制 conn.setConnectTimeout(6000); //连接设置获得数据流 conn.setDoInput(true); //不使用缓存 conn.setUseCaches(false); //这句可有可无,没有影响 //conn.connect(); //得到数据流 InputStream is = conn.getInputStream(); //解析得到图片 bitmap = BitmapFactory.decodeStream(is); //关闭数据流 is.close(); }catch(Exception e){ e.printStackTrace(); } return bitmap; }
然后再显示就可以了;
imageViewSample.setImageBitmap(mbitmap);
实际使用我是用了一个 AsyncImageView类;
要吧实现异步加载,这里不再描述,详细见DEMO:
http://download.csdn.net/detail/q610098308/8538743