1布局文件 main.xml
<?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"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/imagepath" />
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="http://192.168.1.101:8080/Web/w.bmp"
android:id="@+id/impagepath"
/>
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/button"
android:id="@+id/button"
/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageview"
/>
</LinearLayout>
2 .Activity
public class NetImageActivity extends Activity {
/** Called when the activity is first created. */
private EditText eidtText ;
private ImageView imageView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
eidtText = (EditText) this.findViewById(R.id.impagepath);
imageView =(ImageView) this.findViewById(R.id.imageview);
Button button = (Button) this.findViewById(R.id.button);
button.setOnClickListener(new ButtonClickListener());
}
private final class ButtonClickListener implements OnClickListener{
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String imagePath = eidtText.getText().toString();
try {
byte[] datas = ImageSevice.getData(imagePath);
Bitmap bitmp =BitmapFactory.decodeByteArray(datas, 0, datas.length);
imageView.setImageBitmap(bitmp);
} catch (Throwable e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
3.通过图片路径获取数据的工具类
public class ImageSevice {
public static byte[] getData(String imagePath) throws Exception{
// TODO Auto-generated method stub
URL url = new URL(imagePath);
HttpURLConnection conn =(HttpURLConnection) url.openConnection();
conn.setConnectTimeout(5000);
conn.setRequestMethod("GET");
if(conn.getResponseCode()==200){
System.out.print("20000");
InputStream inputStream =conn.getInputStream();
return StreamTool.ReadStream(inputStream);
}
return null;
}
}
4.通过输入流读取数据的类
public class StreamTool {
public static byte[] ReadStream(InputStream inputStream) throws Exception{
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] buffer=new byte[1024];
int len=0;
while((len=inputStream.read(buffer)) != -1){
outStream.write(buffer,0,buffer.length);
}
inputStream.close();
return outStream.toByteArray();
}
}
访问网络需要添加访问权限:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>