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


posted @ 2015-03-27 11:27  恋恋西风  阅读(178)  评论(0编辑  收藏  举报