【发布时间】:2020-03-26 17:54:48
【问题描述】:
我们正在尝试获取保存在 SD 卡中的文件的路径,以传递给实用程序。但是,当我们使用 URI 打开游标时,只获取了两列,缺少路径(_data 列)。请让我知道如何获取路径。该查询适用于内部存储中的任何文件。
方案是“内容”。
代码 sn-p
cursor = context.getContentResolver().query(uri, null, null, null, null);
if (null != cursor && cursor.moveToFirst())
{
int testcolCount = cursor.getColumnCount();
for (int i = 0; i < testcolCount; i++)
{
String colName = cursor.getColumnName(i);
String colValue = cursor.getString(i);
System.out.println("" + i + ": " + colName + ":" + colValue + "\n");
}
//This prints only two columns, _display_name and _size
}
【问题讨论】:
-
为什么有人有权在不解释的情况下标记问题?问责制是什么?
-
同样的原因你可以在没有解释的情况下投票。为什么你不在安卓聊天和一些安卓论坛上发布你的问题呢?
-
您的问题质量非常低,我曾投过赞成票,但现在将其删除。没有上下文。您谈论的某些文件似乎跳到了某些光标/数据库API?注意:我没有对你的问题投反对票。以防万一你找人抱怨:-) youtube.com/watch?v=LXrTUuTJRn0
-
这不是数据库查询。他正在使用内容解析器。请注意,我建议查看内容提供商。你的解析器代码对我来说是正确的。您可能调用不正确,或者它可能不像您想象的那样工作。
-
@KrishnanVS 你在尝试什么 API 级别?因为从 API 级别 29 开始,您无法直接访问外部存储。您需要使用存储访问框架。有关更多信息,请参阅:developer.android.com/training/data-storage/shared/…
标签: android sd-card android-external-storage