android 网络编程:显示从网络获取的图片

来源:互联网 发布:如何找到监控软件 编辑:程序博客网 时间:2024/05/16 09:44


获取网络图片并且显示的步骤:

1.首先得把这个网络图片转换成java的imputstream

2.然后再把这个imputstream转换成一个bitMap

3.bitMap是可以作为参数传给imageView的

这里需要注意的是,高版本的系统当中(3.0以上)在ui线程当中进行网络访问NetworkOnMainThreadException异常。这里有几个解决办法,不过最好放在子线程中进行访问。稍后会改进

下面是代码实现,这里采用HttpURLConnection通信。ps:清单文件需要加入网络权限:<uses-permission android:name="android.permission.INTERNET" />

    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;   }    }  



0 0
原创粉丝点击