1、布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:src="@drawable/hint" />
</LinearLayout>
2、MainActivity
public class MainActivity extends Activity {
private ImageView iv;//声明ImageView组件的对象
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv = (ImageView)findViewById(R.id.imageView1);//获取布局管理器中添加的ImageView
//创建一个新线程,用于从网络上获取图片
new Thread(new Runnable() {
@Override
public void run() {
//从网络上获取图片
final Bitmap bitmap = getPicture("http://img.woyaogexing.com/2014/08/15/0e0875831a1790e3!200x200.jpg");
try {
Thread.sleep(2000);//线程休眠2秒钟
} catch (InterruptedException e) {
e.printStackTrace();
}
//发送一个对象
iv.post(new Runnable() {
@Override
public void run() {
iv.setImageBitmap(bitmap);//在ImageView中显示从网络上获取到的图片
}
});
}
}).start();//开启线程
}
/**
* 根据网址获取图片对应的Bitmap对象
*/
public Bitmap getPicture(String path){
Bitmap bm = null;
try {
URL url = new URL(path);//创建URL对象
URLConnection conn = url.openConnection();//获取URL对象对应的连接
conn.connect();//打开连接
InputStream is = conn.getInputStream();//获取输入流对象
bm = BitmapFactory.decodeStream(is);//根据输入流对象创建bitmap对象
} catch (MalformedURLException e1) {
e1.printStackTrace();
}catch (IOException e) {
e.printStackTrace();
}
return bm;
}
}
3、权限
<uses-permission android:name="android.permission.INTERNET"/>