日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

老马的技术博客 android系统通过图片绝对路径获取URI的三种方法

發(fā)布時(shí)間:2023/12/8 windows 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 老马的技术博客 android系统通过图片绝对路径获取URI的三种方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

原文地址http://www.cnblogs.com/mytech-blog/p/3201549.html

1.將所有的圖片路徑取出,遍歷比較找到需要的路徑,取出URI,效率較低

其中 MediaStore.MediaColumns.DATA 字段存的就是圖片的絕對(duì)路徑,

最后mImageUri得到的就是圖片的URI

Uri mUri = Uri.parse("content://media/external/images/media"); Uri mImageUri = null; Cursor cursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, null, null,MediaStore.Images.Media.DEFAULT_SORT_ORDER); cursor.moveToFirst();while (!cursor.isAfterLast()) {String data = cursor.getString(cursor.getColumnIndex(MediaStore.MediaColumns.DATA));if (picPath.equals(data)) {int ringtoneID = cursor.getInt(cursor.getColumnIndex(MediaStore.MediaColumns._ID));mImageUri = Uri.withAppendedPath(mUri, "" + ringtoneID);break;}cursor.moveToNext(); }

2.直接從媒體數(shù)據(jù)庫根據(jù)字段取出相應(yīng)的記錄,效率較高

//TYLT: add by duanyf 20121027 startString type = Utils.ensureNotNull(intent.getType());Log.d(TAG, "uri is " + uri);if (uri.getScheme().equals("file") && (type.contains("image/"))) {String path = uri.getEncodedPath();Log.d(TAG, "path1 is " + path);if (path != null) {path = Uri.decode(path);Log.d(TAG, "path2 is " + path);ContentResolver cr = this.getContentResolver();StringBuffer buff = new StringBuffer();buff.append("(").append(Images.ImageColumns.DATA).append("=").append("'" + path + "'").append(")");Cursor cur = cr.query(Images.Media.EXTERNAL_CONTENT_URI,new String[] { Images.ImageColumns._ID },buff.toString(), null, null);int index = 0;for (cur.moveToFirst(); !cur.isAfterLast(); cur.moveToNext()) {index = cur.getColumnIndex(Images.ImageColumns._ID);// set _id valueindex = cur.getInt(index);}if (index == 0) {//do nothing} else {Uri uri_temp = Uri.parse("content://media/external/images/media/"+ index);Log.d(TAG, "uri_temp is " + uri_temp);if (uri_temp != null) {uri = uri_temp;}}}}//TYLT: add by duanyf 20121027 end
3.直接根據(jù)路徑通過 ContentProvider 的 delete() 方法刪除圖片,兩行代碼搞定,效率最高

1 String params[] = new String[]{filepath}; 2 ctx.getContentResolver().delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, MediaStore.Images.Media.DATA + " LIKE ?", params);

總結(jié)

以上是生活随笔為你收集整理的老马的技术博客 android系统通过图片绝对路径获取URI的三种方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。