zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    每种特定的迭代器如何使用
    常量迭代器
    容器迭代器
    三十分钟掌握STL
    高快省的排序算法
    FloatTest32 Example
    /浮点数的比较
    java第一天
    ACwing 898
    POJ 3268
  • 原文地址:https://www.cnblogs.com/bobodeboke/p/3088867.html
Copyright © 2011-2022 走看看