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;
}
}
获取网络图片