Android学习笔记进阶十三获得本地全部照片

万事须己运,他得非我贤。这篇文章主要讲述Android学习笔记进阶十三获得本地全部照片相关的知识,希望能为你提供帮助。
这是Intent的一个用法。
在ActivityAction里面有一个“ACTION_GET_CONTENT”字符串常量,该常量让用户选择特定类型的数据。
intent.setType("image/*");   选择本地所有的图片。
返回该数据的URI.我们利用该常量生成该图片的位图Bitmap,然后为添加到图片控件(ImageView)上就行了。

Android学习笔记进阶十三获得本地全部照片

文章图片

选择你想要的图片:
Android学习笔记进阶十三获得本地全部照片

文章图片

【Android学习笔记进阶十三获得本地全部照片】 
 
main.xml
[java] view plain copy
  1. < ?xml  version="1.0"  encoding="utf-8"?>        
  2. < LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"       
  3.         android:orientation="vertical"       
  4.         android:layout_width="fill_parent"       
  5.         android:layout_height="fill_parent"       
  6.         >        
  7.       < Button         
  8.                 android:id="@+id/button"       
  9.                 android:layout_width="fill_parent"         
  10.                 android:layout_height="wrap_content"         
  11.         />        
  12.         < ImageView       
  13.                 android:id="@+id/image"       
  14.                 android:layout_width="fill_parent"     
  15.                 android:scaleType="fitXY"       
  16.                 android:layout_height="wrap_content"         
  17.           />        
  18. < /LinearLayout>      

 
[java] view plain copy
  1. package  xiaosi.image;    
  2.    
  3. import  java.io.FileNotFoundException;        
  4. import  android.app.Activity;        
  5. import  android.content.ContentResolver;        
  6. import  android.content.Intent;        
  7. import  android.graphics.Bitmap;        
  8. import  android.graphics.BitmapFactory;        
  9. import  android.net.Uri;        
  10. import  android.os.Bundle;        
  11. import  android.util.Log;        
  12. import  android.view.View;        
  13. import  android.view.View.OnClickListener;    
  14. import  android.widget.Button;        
  15. import  android.widget.ImageView;        
  16. public  class  ImageActivity  extends  Activity  {       
  17.         /**  Called  when  the  activity  is  first  created.  */       
  18.         private  Button  button  =  null;    
  19.         private  ImageView  imageView  =  null;    
  20.         @Override       
  21.         public  void  onCreate(Bundle  savedInstanceState)  {       
  22.                 super.onCreate(savedInstanceState);        
  23.                 setContentView(R.layout.main);        
  24.                 button  =  (Button)findViewById(R.id.button);        
  25.                 button.setText("选择图片");        
  26.                 button.setOnClickListener(new  ButtonListener());        
  27.         }   
  28.            
  29.         private  class  ButtonListener  implements  OnClickListener{   
  30.    
  31.                 public  void  onClick(View  v)   
  32.                 {   
  33.                         Intent  intent  =  new  Intent();        
  34.                         /*  开启Pictures画面Type设定为image  */       
  35.                         intent.setType("image/*");        
  36.                         /*  使用Intent.ACTION_GET_CONTENT这个Action  */       
  37.                         intent.setAction(Intent.ACTION_GET_CONTENT);          
  38.                         /*  取得相片后返回本画面  */       
  39.                         startActivityForResult(intent,  1);        
  40.                 }   
  41.           }   
  42.           @Override       
  43.           protected  void  onActivityResult(int  requestCode,  int  resultCode,  Intent  data)  {       
  44.                   if  (resultCode  ==  RESULT_OK)  {       
  45.                           Uri  uri  =  data.getData();        
  46.                           Log.e("uri",  uri.toString());        
  47.                           ContentResolver  contentResolver  =  this.getContentResolver();        
  48.                           try  {       
  49.                                   Bitmap  bitmap  =  BitmapFactory.decodeStream(contentResolver.openInputStream(uri));        
  50.                                   imageView  =  (ImageView)  findViewById(R.id.image);        
  51.                                   /*  将Bitmap设定到ImageView  */       
  52.                                   imageView.setImageBitmap(bitmap);        
  53.                           }     
  54.                           catch  (FileNotFoundException  e){       
  55.                                   Log.e("Exception",  e.getMessage(),e);        
  56.                           }       
  57.                   }       
  58.                   super.onActivityResult(requestCode,  resultCode,  data);        
  59.           }       
  60. }       

 
 
 
源代码:点击打开链接



    推荐阅读