android调用图库获取图片显示在img中

调用系统图库得到所有图片的代码是:

Intent intent = new Intent();
            intent.setType("image/*");
            intent.setAction(Intent.ACTION_GET_CONTENT);
            startActivityForResult(intent, REQUEST_PHOTO_OTHER);

之后在activity的onAcitivityResult方法中处理得到的数据:

 if(requestCode == this.REQUEST_PHOTO_OTHER){
            if (data == null) {
                return;
            }
            String    picturePath = SystemUtil.getPath(this, data.getData());
            mediaFile = new File(picturePath);
            // 需要在此处加载缩略图             
            img_view.setImageBitmap(new BitmapUtil().loadBitmap(mediaFile
                    .getAbsolutePath()));
        }

其中的getpath方法为:

package com.bobo.mypic;

import android.app.Activity;
import android.database.Cursor;
import android.net.Uri;
import android.provider.MediaStore.MediaColumns;

public class SystemUtil {
    /**
     * 获取图片的路径
     * 
     * @param act
     * @param uri
     *  图片的URI
     * @return
     */
    public static String getPath(Activity act, Uri uri) {
        String[] projection = { MediaColumns.DATA };
        Cursor cursor = act.managedQuery(uri, projection, null, null, null);
        int nIndex = cursor.getColumnIndexOrThrow(MediaColumns.DATA);
        cursor.moveToFirst();
        return cursor.getString(nIndex);
    }
}

 关于根据uri获取文件路径,以及根据文件路径得到uri的用法,也可参见这篇博客:

http://www.cnblogs.com/lingyun1120/archive/2012/04/18/2455212.html

具体的,从uri获得文件绝对路径,或者由文件的绝对路径拼凑uri可以参照着两篇博客

http://blog.csdn.net/kwongfung/article/details/8467442

http://blog.csdn.net/fzh0803/article/details/7599985

 

 

posted @ 2013-05-20 16:46  bobo的学习笔记  阅读(1365)  评论(0编辑  收藏  举报