图片显示的网址http://www.crazyit.org/attachments/month_1008/20100812_7763e970f822325bfb019ELQVym8tW3A.png
此网页只有一张图片,且无其他资源
首先activity_main的布局就是一个简单的显示图片的ImageView
<strong><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<ImageView
android:id="@+id/show"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="105dp"
android:text="@string/hello_world" /></strong>
</RelativeLayout>
在MainActivity中
<strong>package com.example.urldemo;
import java.io.InputStream;
import java.io.OutputStream;
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.widget.ImageView;
public class MainActivity extends Activity {
ImageView show;
Bitmap bitmap;
Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
if(msg.what==0X123){
show.setImageBitmap(bitmap);
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
show=(ImageView)findViewById(R.id.show);
new Thread(){
public void run(){
try{
URL url=new URL("http://www.crazyit.org/attachments/month_1008/20100812_7763e970f822325bfb019ELQVym8tW3A.png");
//打开URL对应的资源输入流
InputStream is=url.openStream();
//将图片解析出来
bitmap=BitmapFactory.decodeStream(is);
//发送消息,通知UI组件显示图片0X123是用于区分消息的编号
handler.sendEmptyMessage(0X123);
is.close();
//再次打开URL对应的资源输入流
is=url.openStream();
//打开手机对应的文件输入流
OutputStream os=openFileOutput("crazyit.png", MODE_WORLD_READABLE);
byte[] buff=new byte[1024];
int hasRead=0;
//将URL对应的资源下载到本地
while((hasRead=is.read(buff))>0){
os.write(buff,0,hasRead);
}
is.close();
os.close();
}catch(Exception e){
e.printStackTrace();
}
};
}.start();
}
}</strong>
最后访问网络的权限
<uses-permission android:name="android.permission.INTERNET"/>