欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新

根据图片Uri获得图片文件

来源: 开发者 投稿于  被查看 37096 次 评论:53

根据图片Uri获得图片文件


2013-12-17

1. 根据联系人图片Uri获得图片文件并将它显示在ImageView上, 代码如下:

 Uri uri = Uri.parse("content://com.android.contacts/display_photo/1"               afd = getContentResolver().openAssetFileDescriptor(uri, "r"         [] buffer =  [16 * 1024         FileInputStream fis =         
         FileOutputStream fos =  FileOutputStream( File("sdcard/11212"         
         ByteArrayOutputStream temp_byte =                    ((size = fis.read(buffer)) != -1             fos.write(buffer, 0             temp_byte.write(buffer, 0          
         image.setImageBitmap(BitmapFactory.decodeByteArray(temp_byte.toByteArray(), 0     }       }       }

上面可以看到, uri就是联系人数据库view_data视图里面的photo_uri字段,最后的id要根据实际情况调整。

2. 根据mediaURI获取资源的存储路径

 Cursor cur = getContentResolver().query(Uri.parse("content://media/external/images/media/279"), , , ,   (cur !=       ( i = 0; i < cur.getColumnCount(); i++          Log.d("Davds", "name = " +         
               Log.d("Davds", "" + cur.getString(cur.getColumnIndex("_data"  }

从_data对应的filed中取出来的值就是文件的存储路径。

数据库中显示如下(在MediaProvider数据库中images表):

用户评论