这个问题的主要思想和标题是一样的——当你从android中的uri获取文件的真实路径时,.get path()和cursor之间有什么区别?
如果你不明白我所说的使用游标的意思,这里是一个例子。
private String getRealPathFromURI(Uri contentURI) {
String result;
Cursor cursor = getContentResolver().query(contentURI, null, null, null, null);
if (cursor == null) { // Source is Dropbox or other similar local file path
result = contentURI.getPath();
} else {
cursor.moveToFirst();
int idx = cursor.getColumnIndex(MediaStore.Images.ImageColumns.DATA);
result = cursor.getString(idx);
cursor.close();
}
return result;
}
最常见的两种方法是这两种,但是使用cursor似乎有点太复杂,而使用一个简单的方法getpath()可以得到相同的结果。所以,我想在某些情况下我应该使用光标,但我不能得到它。
你能解释一下是什么吗?