Android -- ImageView通过Bitmap得到网上的图片资源

1. 效果图

2. 实现代码 

  1. 配置权限吧  最容易忘记的一件事情


    <uses-permission android:name="android.permission.INTERNET" />   <!-- 访问Internet权限 -->  

  2.  布局文件

    

 <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="196dp"
        android:src="@drawable/ic_launcher" />

   3. java文件

public class MainActivity extends Activity {

	private List<String> urlList = new ArrayList<String>();

	private Bitmap bitmap;
	ImageView imageview;
	ImageView imageView2;
	private URL url = null;

	/**
	 * 通知的消息
	 */
	Handler handler = new Handler() {
		@Override
		public void handleMessage(Message msg) {
			if (msg.what == 0x9527) {
				// 显示从网上下载的图片
				imageview.setImageBitmap(bitmap);
			}
		}
	};

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		imageview = (ImageView) findViewById(R.id.imageView1);
		// 创建并启动一个新线程用于从网络上下载图片
		urlList.add("http://pic1.nipic.com/2008-10-22/2008102293811572_2.jpg");
		new Thread() {
			@Override
			public void run() {
				try {
						// 创建一个url对象
						url = new URL(urlList.get(0));
						// 打开URL对应的资源输入流
						InputStream is = url.openStream();
						// 从InputStream流中解析出图片
						bitmap = BitmapFactory.decodeStream(is);

						// imageview.setImageBitmap(bitmap);
						// 发送消息,通知UI组件显示图片
						handler.sendEmptyMessage(0x9527);
						// 关闭输入流
						is.close();		
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}.start();

	}

}

 

posted @ 2014-12-14 10:37  落寞回头不如华丽转身  阅读(401)  评论(0编辑  收藏  举报