android如何获取一个SD卡指定文件夹的图片Uri uri问题

============问题描述============

String a="file://"+Environment.getExternalStorageDirectory().getPath()+"/dcim/Camera/";

//  File baseFile = new File(a+"/dcim/Camera/15.jpg");

//  Uri uri =  Uri.fromFile(baseFile) ;

//  Uri uri =  Uri.parse(a) ;

// 读取SD卡中所有图片

Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;

String[] projection = { MediaStore.Images.Media._ID,

MediaStore.Images.Media.DISPLAY_NAME,

MediaStore.Images.Media.DATA, MediaStore.Images.Media.SIZE };

String selection = MediaStore.Images.Media.MIME_TYPE + "=?";

String[] selectionArg = { "image/jpeg" };

Cursor mCursor = this.managedQuery(uri, projection, selection,

selectionArg, MediaStore.Images.Media.DATE_MODIFIED + " desc");

imageList.clear();

if (mCursor != null) {

mCursor.moveToFirst();

while (mCursor.getPosition() != mCursor.getCount()) {

imageMap = new HashMap<String, String>();

imageMap.put(imageID, mCursor.getString(mCursor

.getColumnIndex(MediaStore.Images.Media._ID)));

imageMap.put(imageName, mCursor.getString(mCursor

.getColumnIndex(MediaStore.Images.Media.DISPLAY_NAME)));

imageMap.put(

imageInfo,

" "

+ (mCursor.getLong(mCursor

.getColumnIndex(MediaStore.Images.Media.SIZE)) / 1024)

+ "KB");

imageList.add(imageMap);

fileNames.add(mCursor.getString(mCursor

.getColumnIndex(MediaStore.Images.Media.DATA)));

mCursor.moveToNext();

}

mCursor.close();

}

// 读取SD卡中所有图片

Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;

这个方式获取所有图片没问题,但是我改成指定的SD卡文件夹路径却不行

String a="file://"+Environment.getExternalStorageDirectory().getPath()+"/dcim/Camera/";

//  File baseFile = new File(a+"/dcim/Camera/15.jpg");

//  Uri uri =  Uri.fromFile(baseFile) ;

Uri uri =  Uri.parse(a) ;

都有尝试过都不行,不知道为撒,请大拿提示下

============解决方案1============

如果是文件夹file.delete()会删除其目录下所有文件    但是文件夹仍然存在~    如果不是文件夹就直接删除的!

时间: 2024-12-30 20:17:42

android如何获取一个SD卡指定文件夹的图片Uri uri问题的相关文章

Android播播放完SD卡指定文件夹音乐之后,自动播放下一首

最近做一个项目,需要连续播放音乐,播放完一首歌之后,自动播放完下一首歌.不要重复播放. 代码如下: package com.example.asyncplayer_ex; import java.io.IOException; import java.util.ArrayList; import javax.security.auth.PrivateCredentialPermission; import android.app.Activity; import android.drm.DrmS

Android学习之保存Bitmap到指定文件夹

/** * 保存图片到指定文件夹 * * @param bmp * @param filename * @return */ private boolean saveBitmapTofile(Bitmap bmp, String filename) { if (bmp == null || filename == null) return false; CompressFormat format = Bitmap.CompressFormat.JPEG; int quality = 100; O

Android系统SD卡各类文件夹名称

1..android_secure:官方app2sd的产物,存储了相关的软件使用认证验证,删除之后SD卡中的软件将无法使用. 2.Android:存放重要的程序数据,比如google:map的地图缓存,误删掉后地图还需重新下载. 3.backups:包含重要的备份文件,比如联系人导出到SD卡会导入到此文件夹. 4.bugtogo:系统出现问题的时候会形成一些报告文件,存放在此文件夹. 5.data:缓存数据文件夹,与Android类似.例如,“截图助手”截图保存在data\\com.edward

Android 手持PDA读取SD卡中文件

近两年市场上很多Wince设备都开始转向Android操作系统,最近被迫使用Android开发PDA手持设备.主要功能是扫描登录,拣货,包装,发货几个功能.其中涉及到商品档的时候大概有700左右商品要导入到Android设备中,因为现场操作环境没有WiFi ,所以商品档不能直接访问服务,将商品档记录到txt文件中. 一. 将txt文件存放到SD开中 将商品档编辑成为txt文件然后拷贝到SD卡中,当然也可以存储其他的数据格式,甚至可以使用Sqlite来存储,这里没有这个必要所以就直接使用txt 二

SD卡创建文件夹失败,解决办法及文件缓存

1.相关代码: 添加权限: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> /** 获取SD卡路径 **/ private static String getSDPath() { St

Android -- 写xml到SD卡中

信息类                                                                                          private String body; private String number; private int type; private long id; 四个变量,然后有分别set和get.构造函数分别初始化这四个变量. 生成xml标签函数                                   

Android Rom分区 与 SD卡读写

1.Rom分区 在Android中,对数据的保护是很严密的.除了放在SD卡中的数据,一个应用所拥有的数据库.文件等内容都是不允许其他应用直接访问的,这一部分数据都是在/data/data里面. 这里所说的SD卡是逻辑上的SD卡,比如我现在用的galaxy s4 的Rom是16g,Android系统会把这16g分成两个部分,一个是系统和应用程序数据区,另一个就是虚拟的SD卡,可以称它为内置SD卡. 我们平时外插进手机的是TF卡,简称Micro SD卡,具体的可以参考百度. 三星手机默认的内置SD卡

Android之——清理手机SD卡缓存

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47375595 目前,市场上很多Android手机软件都具有清理SD卡缓存的功能,比如360,金山等等.那么这些软件是如何实现清理sd卡缓存数据功能的呢?下面,我就给大家演示下,这些功能是如何实现的吧. 一.原理 首先我们还是讲一下这个功能实现的原理吧. 将Android手机中常用的一些应用缓存目录,全部放在一个数据库表中,将这个表中的目录查询出来放在一个List集合中,我们暂且将

Android学习之虚拟SD卡管理

继上一篇SD卡文件读取后,很多朋友表示如何新建并管理虚拟的SD卡呢?下面就让lz带大家了解下SD卡. 其实,要创建SD卡其实还是比较简单的.因为你下载的android的sdk包里面有tools文件夹 .通过它大家就可以创建自己的SD卡了.  具体步骤: 1 打开命令提示符 cmd 2 将根目录转移到你tools文件夹目录下. 3 运行该文件夹下的mksdcard.exe 4 在命令窗口输入 mksdcard 64m D:\avds\.android\avd\sdcard.img (上面的命令创建