public Bitmap getBitmap( String url ){ //图片URL
URL imageUrl = null ;
Bitmap bitmap = null ;
try {
imageUrl = new URL(url) ;
}catch (MalformedURLException e){
e.printStackTrace();
}
try{
HttpURLConnection conn = (HttpURLConnection) imageUrl.openConnection();
conn.setDoInput(true);
conn.connect();
InputStream is = conn.getInputStream();
bitmap = BitmapFactory.decodeStream(is);
is.close();
}catch (IOException e){
e.printStackTrace();
}
return bitmap ;
}
在程序中直接引用函数getBitmap会导致运行时错误。使用代码如下。
Bitmap image ;
Handler myHandler =new Handler(){
public void handleMessage(Message msg)
{
switch(msg.what){
case 1:
//图片已获取,执行相应操作
}
}
};
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(new Runnable(){
public void run()
{
image = getBitmap("http://t.douban.com/spic/s1747553.jpg");
Message msg=new Message();
msg.what=1;
MainActivity.this.myHandler.sendMessage(msg);
}
}).start();
}
本文提供了一个使用Java从网络URL加载并转换为Bitmap的示例。通过创建一个新线程来异步加载图片,避免阻塞UI线程,并在图片加载完成后通过Handler更新UI。
761

被折叠的 条评论
为什么被折叠?



