标签:
在android中显示网络上的图片,需要先根据url找到图片地址,然后把该图 片转化成java的InputStream,然后把该 InputStream流转化成BitMap,BitMap可以直接显示在android中的ImageView里。这就是显示网络上图片的思路,实现起 来很简单。下面让我们看一下实现起来的过程。
首先在AndroidManifest.xml中给程序加上访问Internet的权限:
<uses-permissionandroid:name="android.permission.INTERNET" />
然后在布局文件中加入一个ImageView,用来显示网络上的图片:
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="fill_parent" 4 android:layout_height="fill_parent" 5 android:orientation="vertical" > 6 7 <TextView 8 android:layout_width="fill_parent" 9 android:layout_height="wrap_content" 10 android:text="@string/hello" /> 11 <ImageView 12 android:layout_width="wrap_content" 13 android:layout_height="wrap_content" 14 android:id="@+id/imageView" /> 15 16 </LinearLayout>
1 package com.image; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.net.HttpURLConnection; 6 import java.net.MalformedURLException; 7 import java.net.URL; 8 9 import android.app.Activity; 10 import android.graphics.Bitmap; 11 import android.graphics.BitmapFactory; 12 import android.os.Bundle; 13 import android.widget.ImageView; 14 15 public class NetImageActivity extends Activity { 16 /** Called when the activity is first created. */ 17 String imageUrl = "http://content.52pk.com/files/100623/2230_102437_1_lit.jpg"; 18 Bitmap bmImg; 19 ImageView imView; 20 @Override 21 public void onCreate(Bundle savedInstanceState) { 22 super.onCreate(savedInstanceState); 23 setContentView(R.layout.main); 24 imView = (ImageView) findViewById(R.id.imageView); 25 imView.setImageBitmap(returnBitMap(imageUrl)); 26 } 27 28 public Bitmap returnBitMap(String url){ 29 URL myFileUrl = null; 30 Bitmap bitmap = null; 31 try { 32 myFileUrl = new URL(url); 33 } catch (MalformedURLException e) { 34 e.printStackTrace(); 35 } 36 try { 37 HttpURLConnection conn = (HttpURLConnection) myFileUrl 38 .openConnection(); 39 conn.setDoInput(true); 40 conn.connect(); 41 InputStream is = conn.getInputStream(); 42 bitmap = BitmapFactory.decodeStream(is); 43 is.close(); 44 } catch (IOException e) { 45 e.printStackTrace(); 46 } 47 return bitmap; 48 } 49 }
然后运行程序就可以显示出来网络上的图片了。
标签:
原文地址:http://www.cnblogs.com/sh791165672/p/4620258.html