Tuesday, February 23, 2010

在Android程序里显示网络图片

*// 显示网络图片 注意在你的AndroidManifest.xml文件的</manifest>节点上面添加<uses-
permission
android:name="android.permission.INTERNET"
/>,这是由于Android有很多的权限限制,否则图片是不能在你的模拟器上显示的。*

package com.flybull.aabb;

import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.widget.ImageView;

public class AaBbActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try {

Bitmap bm = getRemoteImage(new URL("http://192.168.1.101/
image/1.jpg
"));

ImageView img = new ImageView(this);
img.setImageBitmap(bm);
setContentView(img);
} catch (Exception ioe) {
ioe.printStackTrace();
}
}

private Bitmap getRemoteImage(URL aURL) throws IOException{
URLConnection conn = aURL.openConnection();
conn.setDoInput(true);
conn.connect();
InputStream is = conn.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
Bitmap bm = BitmapFactory.decodeStream(bis);
bis.close();
is.close();
return bm;
}

}

No comments: