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. }     
  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>     
  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" />    
  1. <uses-permission android:name="android.permission.INTERNET" />    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值