思路:通过点击显示按钮,获取文件编辑框中的地址,把地址对应的图片内容转换成byte[]二进制数组,最后通过setImageBitmap在图片域显示出来。
注:需要有网络权限-- <uses-permission android:name="android.permission.INTERNET"/>
package com.android.getnetpic2;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 按钮点击事件
Button btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// 获取文本地址
EditText editText = (EditText) findViewById(R.id.address);
String address = editText.getText().toString();
try {
// 设置URL
URL url = new URL(address);
// 建立HTTP连接
HttpURLConnection conn = (HttpURLConnection) url
.openConnection();
// 以GET方式进行连接
conn.setRequestMethod("GET");
// 如果图片存在则返回
if (conn.getResponseCode() == 200) {
// 读取连接的数据流
InputStream inputStream = conn.getInputStream();
// 新建输出流
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
// 建立缓存
byte[] buffer = new byte[1024];
int len = 0;
// 把输入流通过缓存写入输出流
while ((len = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, len);
}
// 写完后关闭流
outputStream.close();
inputStream.close();
// 关闭连接
conn.disconnect();
// 把流写入ImageView
ImageView imageView = (ImageView) findViewById(R.id.img);
Bitmap bitmap = BitmapFactory.decodeByteArray(
outputStream.toByteArray(), 0,
outputStream.size());
imageView.setImageBitmap(bitmap);
} else {
Toast.makeText(MainActivity.this, "文件不存在,请确认地址",
Toast.LENGTH_SHORT).show();
}
} catch (Exception e) {
// TODO: handle exception
Toast.makeText(MainActivity.this, "地址异常",
Toast.LENGTH_SHORT).show();
}
}
});
}
}
源码在此:
http://download.csdn.net/detail/bellovin/6717971