java - 如何在图库应用程序中显示特定文件夹中的图像?
问题描述
我正在尝试制作一个画廊应用程序,它只显示我内部存储中屏幕截图文件夹中的图像。
我从这里找到了一个解决方案, 但我在如何指定所需文件夹的路径时遇到了困难。
这是片段:
cursor imagecursor = getContentResolver().query( MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
columns,
MediaStore.Images.Media.DATA + " like ? ",
new String[] {"%/yourfoldername/%"},
null);
有人能解释一下我应该在这个里面放什么吗?" like ? "
如何在这个里面指定我的文件夹名称new String[] {"%/yourfoldername/%"},
这是我的代码。
String[] projection = { MediaStore.MediaColumns.DATA,
MediaStore.Images.Media.BUCKET_DISPLAY_NAME, MediaStore.MediaColumns.DATE_MODIFIED };
Cursor cursor = getContentResolver().query( MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
projection,
MediaStore.Images.Media.DATA + " like ? ",
new String[] {"%/sdcard/DCIM/Screenshots"},
null);
任何更正将不胜感激。干杯!
解决方案
试试这个
public static String getRealPathFromUri(Context context, Uri contentUri) {
Cursor cursor = null;
try {
String[] proj = { MediaStore.Images.Media.DATA };
cursor = context.getContentResolver().query(contentUri, proj, null, null, null);
assert cursor != null;
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
} finally {
if (cursor != null) {
cursor.close();
}
}
}
推荐阅读
- bitbucket - Bitbucket 页面:是否支持自定义域名和备用根文件夹?
- java - Java Collectors.groupingBy 找不到错误
- javascript - 在 componentWillReceiveProps 中触发 redux 表单提交
- java - 如何从不同的注释中执行具有相同名称的方法
- javascript - 从 openlayers 地图中获取特征?
- node.js - 我可以在 azure 上使用 heroku post build 脚本吗?
- python - 将 Word 内容复制到 Outlook
- latex - 如何使用默认参数创建 LaTeX 类?
- reactjs - Vue.js 是否容易受到级联更新的影响?
- python - 在 numpy 中创建 n-hot 向量