android中显示网络图片

android 当中显示一张网络图片的时候,其实是比较麻烦的。首先得把这个网络图片转换成java的imputstream流,然后再把这个留转换成一个bitMap.
bitMap是可以作为参数传给imageView的。

在下边的returnBitMap函数是最核心的,也是大家可以重用的,它负责把一个url的网络图片变成一个本地的BitMap。

Java代码 复制代码
  1. package com.jinyan.image;     
  2.   
  3.        
  4.   
  5.     import java.io.IOException;     
  6.   
  7.     import java.io.InputStream;     
  8.   
  9.     import java.net.HttpURLConnection;     
  10.   
  11.     import java.net.MalformedURLException;     
  12.   
  13.    import java.net.URL;     
  14.   
  15.         
  16.   
  17.    import android.app .Activity;     
  18.   
  19.    import android.graphics.Bitmap;     
  20.   
  21.    import android.graphics.BitmapFactory;     
  22.   
  23.    import android.os.Bundle;     
  24.   
  25.    import android.util.Log;     
  26.   
  27.   import android.view.View;     
  28.   
  29.    import android.view.View.OnClickListener;     
  30.   
  31.    import android.widget.Button;     
  32.   
  33.    import android.widget.ImageView;     
  34.   
  35.        
  36.   
  37.   public class ActivityMain extends Activity {     
  38.   
  39.   /** Called when the activity is first created. */     
  40.   
  41.        
  42.   
  43.   String imageUrl = "http://i.pbase.com/o6/92/229792/1/80199697.uAs58yHk.50pxCross_of_the_Knights_Templar_svg.png";     
  44.   
  45.   Bitmap bmImg;     
  46.   
  47.   ImageView imView;     
  48.   
  49.        
  50.   
  51.   Button button1;     
  52.   
  53.        
  54.   
  55.    @Override     
  56.   
  57.    public void onCreate(Bundle savedInstanceState) {     
  58.   
  59.   super.onCreate(savedInstanceState);     
  60.   
  61.    setContentView(R.layout.main);     
  62.   
  63.    imView = (ImageView) findViewById(R.id.imview);     
  64.   
  65. imView.setImageBitmap(returnBitMap(imageUrl));     
  66.   
  67.   
  68.   
  69.   
  70.   
  71. }     
  72.   
  73.      
  74.   
  75. public Bitmap returnBitMap(String url) {     
  76.   
  77. URL myFileUrl = null;     
  78.   
  79. Bitmap bitmap = null;     
  80.   
  81. try {     
  82.   
  83. myFileUrl = new URL(url);     
  84.   
  85. catch (MalformedURLException e) {     
  86.   
  87. e.printStackTrace();     
  88.   
  89. }     
  90.   
  91. try {     
  92.   
  93. HttpURLConnection conn = (HttpURLConnection) myFileUrl     
  94.   
  95.   .openConnection();     
  96.   
  97. conn.setDoInput(true);     
  98.   
  99. conn.connect();     
  100.   
  101. InputStream is = conn.getInputStream();     
  102.   
  103. bitmap = BitmapFactory.decodeStream(is);     
  104.   
  105. is.close();     
  106.   
  107. catch (IOException e) {     
  108.   
  109.   e.printStackTrace();     
  110.   
  111.   }     
  112.   
  113.   return bitmap;     
  114.   
  115. }     
  116.   
  117.      
  118.   
  119. }     
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;  

}  

  

}   

 

 

Xml代码 复制代码
  1. xml version="1.0" encoding="utf-8"?>     
  2.   
  3.    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     
  4.   
  5.    android:orientation="vertical" android:layout_width="fill_parent"     
  6.   
  7.   android:layout_height="fill_parent">     
  8.   
  9.    <ImageView android:id="@+id/imview" android:layout_width="wrap_content"     
  10.   
  11.    android:layout_height="wrap_content" android:layout_gravity="center" />     
  12.   
  13.     LinearLayout>     

 

 

 

注意,想要让你的程序 可以访问网络,你必须在menifest文件里边增加:

Xml代码 复制代码
  1. <uses-permission android:name="android.permission.INTERNET" />    

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值