首页 > 移动平台 > 详细

Android开发从系统图库中选择一张图片的方法

时间:2016-03-11 15:38:08      阅读:258      评论:0      收藏:0      [点我收藏+]

刚开始学习OpenCv4Android编程,做了个小demo。

就是一个主界面上添加一个ImageView 两个Button控件。

一个Button用来从系统相册选择一张照片;

另一个Button是用来完成灰度化的功能;

在开发过程中遇到Android从系统图库中选择一张图片的问题,查阅了一些资料我将自己的办法贴在下面。

 

步骤1:编写重定向到图片库的代码

  我们需要写一些Java代码来处理按钮的点击事件,而重定向到图片库的代码如下:

Intent i = new Intent(  
Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);  
   
startActivityForResult(i, RESULT_LOAD_IMAGE);  

注意:这里的RESULT_LOAD_IMAGE是一个整形常量需要传到startActivityForResult()方法。

步骤2:获取选中的图片

一旦选择了一张图片,onActivityResult()方法将会被调用。我们需要处理这个方法得到的数据,代码如下:

 1 @Override  
 2 protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
 3     super.onActivityResult(requestCode, resultCode, data);  
 4   
 5     if (requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK && null != data) {  
 6         Uri selectedImage = data.getData();  
 7         String[] filePathColumn = { MediaStore.Images.Media.DATA };  
 8   
 9         Cursor cursor = getContentResolver().query(selectedImage,  
10                 filePathColumn, null, null, null);  
11         cursor.moveToFirst();  
12   13         int columnIndex = cursor.getColumnIndex(filePathColumn[0]);  
14         String picturePath = cursor.getString(columnIndex);  
15         cursor.close();  
16    }  

注意:onActivityResult()方法只有当图片被选中后才会调用。在这个方法中,我们需要检查requestCode是否是我们之前传给startActivityForResult()方法的RESULT_LOAD_IMAGE。

程序截图:

 

技术分享技术分享技术分享

 

Android开发从系统图库中选择一张图片的方法

原文:http://www.cnblogs.com/whieenz/p/5265772.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!