这几天 在学习并开发android系统的图片浏览 音频 视频 的浏览 由于是第一次做android系统(java也不会)
遇到了很多问题 如何浏览并选择图片 音频 视频也花了我好几天的时间
我把它整理处理 以便帮助和我一样的同学 也同时防备自己忘记
<1> 选择按钮的代码
  // 选取图片按钮单击事件
public void click_xuanqutupian(View source) {
  Intent intent = new Intent();
  /* 开启Pictures画面Type设定为image */
  intent.setType("image/*");
  //intent.setType("audio/*"); //选择音频
  //intent.setType("video/*"); //选择视频 (mp4 3gp 是android支持的视频格式)
  //intent.setType("video/*;image/*");//同时选择视频和图片
  
  
  /* 使用Intent.ACTION_GET_CONTENT这个Action */
  intent.setAction(Intent.ACTION_GET_CONTENT);
  /* 取得相片后返回本画面 */
  startActivityForResult(intent, 1);
  }
<2> 取得选择的项 以后 处理的地方
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  // 选取图片的返回值
  if (requestCode == 1) {
   //
   if (resultCode == RESULT_OK) {
    Uri uri = data.getData();
    Cursor cursor = getContentResolver().query(uri, null, null,
      null, null);
    cursor.moveToFirst();
    // String imgNo = cursor.getString(0); // 图片编号
    imgPath = cursor.getString(1); // 图片文件路径
    String imgSize = cursor.getString(2); // 图片大小
    String imgName = cursor.getString(3); // 图片文件名
    fileName = imgName;
    fileSize = imgSize;
    // Log.e("uri", uri.toString());
    ContentResolver cr = this.getContentResolver();
    try {
     Bitmap bitmap = BitmapFactory.decodeStream(cr
       .openInputStream(uri));
     ImageView imageView = (ImageView) findViewById(R.id.imview);
     /* 将Bitmap设定到ImageView */
     imageView.setImageBitmap(bitmap);
    } catch (FileNotFoundException e) {
     // Log.e("Exception", e.getMessage(),e);
    }
   }
  }
  // 拍照的返回值
  if (requestCode == 2) {
   if (resultCode == RESULT_OK) {
    //
    imgPath = data.getStringExtra("filePath");
    fileName = data.getStringExtra("fileName");
    fileSize = data.getStringExtra("fileSize");
    // 读取拍照所得的文件
    try {
     Bitmap bitmap = this.getLoacalBitmap(imgPath);
     ImageView imageView = (ImageView) findViewById(R.id.imview);
     imageView.setImageBitmap(bitmap);
    } catch (Exception e) {
     // TODO: handle exception
    }
    //
   }
  }
  super.onActivityResult(requestCode, resultCode, data);
}
 
 
分类: Android

【转】android 选取图片的更多相关文章

  1. Xamarin开发Android笔记:拍照或相册选取图片角度问题

    在开发Android应用的时候,可能会遇到类似微信朋友圈中拍照或相册选取图片的场景,拍照或选取图片之后在显示的时候却发现图片的角度不对,明明是竖版拍照,显示出来缺失躺着的. 这是因为在某些特定手机上例 ...

  2. Android拍照与相册选取图片

    做过几次拍照,相册选取图片,但都记不住,这次发表个简单的保存下 private static final int PHOTO_GRAPH = 1;// 拍照 private static final ...

  3. Android生成二维码--拍照或从相册选取图片

    拍照或从相册选择图片是我们日常开发中经常使用到的,可以说是必须掌握的东西.上一篇我介绍了如何生成自定义二维码<Android生成自定义二维码>,其中logo和代替黑色色块的图片都是写死的, ...

  4. Android BottomSheet:以选取图片为例(2)

     Android BottomSheet:以选取图片为例(2) 附录文章5简单介绍了常见的分享面板在BottomSheet中的具体应用.本文再以常见的选取图片为例写一个例子. 布局文件: < ...

  5. Android设置头像,手机拍照或从本地相冊选取图片作为头像

     [Android设置头像,手机拍照或从本地相冊选取图片作为头像] 像微信.QQ.微博等社交类的APP,通常都有设置头像的功能,设置头像通常有两种方式: 1,让用户通过选择本地相冊之类的图片库中已 ...

  6. android Intent介绍

    Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应用中一次操作的动作.动作涉及数据.附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将 ...

  7. Android系统调用

    android 中intent是经常要用到的.不管是页面牵转,还是传递数据,或是调用外部程序,系统功能都要用到intent. 在做了一些intent的例子之后,整理了一下intent,希望对大家有用. ...

  8. android intent和intent action大全

    1.Intent的用法:(1)用Action跳转1,使用Action跳转,如果有一个程序的AndroidManifest.xml中的某一个 Activity的IntentFilter段中 定义了包含了 ...

  9. Android 拍照或者从相册获取图片的实现

    我们常常会用到上传头像,或者发帖子的时候选择本地图片上传的功能.这个很常见 今天因为app的需求我研究了下.现在分享下. 其实不论是通过拍照还是从相册选取都会用到Intent 这是系统提供给我们用来调 ...

随机推荐

  1. Ajax实现聊天

    用Ajax发送请求,查询数据库是否有自己的数据,如果有自己的数据,就返回 前端页面 <head> <meta charset="UTF-8"> <ti ...

  2. OGNL 对象视图导航语言

    [Object Graphics Navigate Language] 类似于EL(Expression Language)表达式, 可以帮助我们在配置文件.JSP中来获取对象的值 这门语言比EL功能 ...

  3. 【转载】在 Visual Studio 2012 中创建 ASP.Net Web Service

    在 Visual Studio 2012 中创建 ASP.Net Web Service,步骤非常简单.如下: 第一步:创建一个“ASP.Net Empty Web Application”项目 创建 ...

  4. HDU 5478 Can you find it(快速幂)

    Problem Description Given a prime number C(1≤C≤2×105), and three integers k1, b1, k2 (1≤k1,k2,b1≤109 ...

  5. jquery更改Reaper某一列的值

    一.实现效果:通过Jquery实现点击repeater中的按钮循环修改快递专线的线路状态 1.初始效果图 2.点击关闭专线按钮之后的效果图 二.MVC模式实现上述效果 SQLServerDAL层 #r ...

  6. DataGridView 操作

    //dataGridView 删除选中行 int num = dataGridView2.SelectedRows.Count; ) { DataGridViewRow r = dataGridVie ...

  7. 零基础Android学习笔记-01 安卓开发环境搭建

    安卓开发环境搭建. 1.首先准备JDK,从官网找到JDK下载地址,原来做.NET不熟悉JAVA,干脆用最新的,下载了JDK 1.7的版本.原来装过1.5还要配置环境变量什么的.但1.7好像很给力,装好 ...

  8. PHP使用COM 获取RTF内容

    1. 需要在APP服务器上安装Office 2. 可能需要创建文件夹:Desktop C:\Windows\SysWOW64\config\systemprofile\Desktop 3. 可能需要设 ...

  9. pop()实现逐个删除数组最后一位并输出

    使用pop()循环输出数组的最后一个元素 var a = []; a.push(1);a.push(3.1415926);a.push("number");a.push(" ...

  10. wix xslt for adding node

    Using xslt to add new node item to wix source code. Original wix code: <Fragment> <Director ...