package com.example.imageviewfromweb;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.app.Activity;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ImageView;public class MainActivity extends Activity { private Button button; private ImageView imageView; private String urlString = "http://m.weather.com.cn/img/b0.gif"; Handler handler = new Handler(){ public void handleMessage(android.os.Message msg) { if (msg.arg1 == 1) { Bitmap bitmap = (Bitmap) msg.obj; imageView.setImageBitmap(bitmap); } }; }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button) findViewById(R.id.btn); imageView = (ImageView) findViewById(R.id.iv); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { new Thread(){ public void run() { Message message = handler.obtainMessage(); message.obj = getHttpBitmap(urlString); message.arg1 = 1; handler.sendMessage(message); }; }.start(); // imageView.setImageBitmap(bitmap); } }); } //获取网络图片 private Bitmap getHttpBitmap(String urlString) { URL url; Bitmap bitmap = null; try { url = new URL(urlString); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setConnectTimeout(6000); connection.setDoInput(true); connection.setUseCaches(true); InputStream is = connection.getInputStream(); bitmap = BitmapFactory.decodeStream(is); is.close(); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return bitmap; } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
获取网络图片