xusaomaiss 发表于 2013-1-28 19:28:41

如何在Android当中显示网络图片

 
写在前面:本文来自以下URL
http://www.eoeandroid.com/viewthread.php?tid=26&extra=page%3D2
推荐大家到这个论坛,和原文查看
 
 
在android当中显示一张网络图片的时候,其实是比较麻烦的。首先得把这个网络图片转换成java的imputstream流,然后再把这个留转换成一个bitMap.
bitMap是可以作为参数传给imageView的。

在下边的returnBitMap函数是最核心的,也是大家可以重用的,它负责把一个url的网络图片变成一个本地的BitMap。
<div class="blockcode">
[*]    package com.jinyan.image;  
[*]   
[*]    import java.io.IOException;  
[*]    import java.io.InputStream;  
[*]    import java.net.HttpURLConnection;  
[*]    import java.net.MalformedURLException;  
[*]   import java.net.URL;  
[*]     
[*]   import android.app.Activity;  
[*]   import android.graphics.Bitmap;  
[*]   import android.graphics.BitmapFactory;  
[*]   import android.os.Bundle;  
[*]   import android.util.Log;  
[*]  import android.view.View;  
[*]   import android.view.View.OnClickListener;  
[*]   import android.widget.Button;  
[*]   import android.widget.ImageView;  
[*]   
[*]  public class ActivityMain extends Activity {  
[*]  /** Called when the activity is first created. */  
[*]   
[*]  String imageUrl = "http://i.pbase.com/o6/92/229792/1/80199697.uAs58yHk.50pxCross_of_the_Knights_Templar_svg.png";  
[*]  Bitmap bmImg;  
[*]  ImageView imView;  
[*]   
[*]  Button button1;  
[*]   
[*]   @Override  
[*]   public void onCreate(Bundle savedInstanceState) {  
[*]  super.onCreate(savedInstanceState);  
[*]   setContentView(R.layout.main);  
[*]   imView = (ImageView) findViewById(R.id.imview);  
[*]imView.setImageBitmap(returnBitMap(imageUrl));  
[*]
[*]
[*]}  
[*]  
[*]public Bitmap returnBitMap(String url) {  
[*]URL myFileUrl = null;  
[*]Bitmap bitmap = null;  
[*]try {  
[*]myFileUrl = new URL(url);  
[*]} catch (MalformedURLException e) {  
[*]e.printStackTrace();  
[*]}  
[*]try {  
[*]HttpURLConnection conn = (HttpURLConnection) myFileUrl  
[*]  .openConnection();  
[*]conn.setDoInput(true);  
[*]conn.connect();  
[*]InputStream is = conn.getInputStream();  
[*]bitmap = BitmapFactory.decodeStream(is);  
[*]is.close();  
[*]} catch (IOException e) {  
[*]  e.printStackTrace();  
[*]  }  
[*]  return bitmap;  
[*]}  
[*]  
[*]}  
页: [1]
查看完整版本: 如何在Android当中显示网络图片