При запуске ниже кода, чтобы запросить файл на SDCard, я всегда получаю NULL. < /p>
public String getRealPathFromURI(Context context, Uri uri)
{
String fileName="unknown";
if (uri.getScheme().toString().compareTo("content") == 0)
{
Cursor cursor = context.getContentResolver().query(uri,null,null,null,null);
if (cursor.moveToFirst())
{
Log.e(TAG, "dump cursor:" + DatabaseUtils.dumpCursorToString(cursor));
int column_index = cursor.getColumnIndexOrThrow(MediaStore.MediaColumns.DATA);
String name = cursor.getString(column_index);
if (name != null) {
uri = Uri.parse(cursor.getString(column_index));
fileName = uri.getLastPathSegment().toString();
}
}
}else if (uri.getScheme().compareTo("file") == 0){
fileName = uri.getLastPathSegment().toString();
}else {
fileName = fileName + "_" + uri.getLastPathSegment();
}
Log.e(TAG,"fileName:" + fileName);
return fileName;
}
< /code>
The Test File File.mp3 был отправлен в SDCARD, и я могу найти его из базы данных.11138 09-18 16:14:53.881 27848 27848 E MyExam : dump cursor:>>>>> Dumping cursor android.content.ContentResolver$CursorWrapperInner@9ab47b6
11139 09-18 16:14:53.881 27848 27848 E MyExam : 0 {
11140 09-18 16:14:53.881 27848 27848 E MyExam : document_id=primary:test.mp3
11141 09-18 16:14:53.881 27848 27848 E MyExam : mime_type=audio/mpeg
11142 09-18 16:14:53.881 27848 27848 E MyExam : _display_name=test.mp3
11143 09-18 16:14:53.881 27848 27848 E MyExam : last_modified=1441221715000
11144 09-18 16:14:53.881 27848 27848 E MyExam : flags=70
11145 09-18 16:14:53.881 27848 27848 E MyExam : _size=14400116
11146 09-18 16:14:53.881 27848 27848 E MyExam : }
11147 09-18 16:14:53.881 27848 27848 E MyExam :
Подробнее здесь: https://stackoverflow.com/questions/326 ... -not-found
Android - Custor не было в столбце _data, не найденной ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1753599840
Anonymous
При запуске ниже кода, чтобы запросить файл на SDCard, я всегда получаю NULL. < /p>
public String getRealPathFromURI(Context context, Uri uri)
{
String fileName="unknown";
if (uri.getScheme().toString().compareTo("content") == 0)
{
Cursor cursor = context.getContentResolver().query(uri,null,null,null,null);
if (cursor.moveToFirst())
{
Log.e(TAG, "dump cursor:" + DatabaseUtils.dumpCursorToString(cursor));
int column_index = cursor.getColumnIndexOrThrow(MediaStore.MediaColumns.DATA);
String name = cursor.getString(column_index);
if (name != null) {
uri = Uri.parse(cursor.getString(column_index));
fileName = uri.getLastPathSegment().toString();
}
}
}else if (uri.getScheme().compareTo("file") == 0){
fileName = uri.getLastPathSegment().toString();
}else {
fileName = fileName + "_" + uri.getLastPathSegment();
}
Log.e(TAG,"fileName:" + fileName);
return fileName;
}
< /code>
The Test File File.mp3 был отправлен в SDCARD, и я могу найти его из базы данных.11138 09-18 16:14:53.881 27848 27848 E MyExam : dump cursor:>>>>> Dumping cursor android.content.ContentResolver$CursorWrapperInner@9ab47b6
11139 09-18 16:14:53.881 27848 27848 E MyExam : 0 {
11140 09-18 16:14:53.881 27848 27848 E MyExam : document_id=primary:test.mp3
11141 09-18 16:14:53.881 27848 27848 E MyExam : mime_type=audio/mpeg
11142 09-18 16:14:53.881 27848 27848 E MyExam : _display_name=test.mp3
11143 09-18 16:14:53.881 27848 27848 E MyExam : last_modified=1441221715000
11144 09-18 16:14:53.881 27848 27848 E MyExam : flags=70
11145 09-18 16:14:53.881 27848 27848 E MyExam : _size=14400116
11146 09-18 16:14:53.881 27848 27848 E MyExam : }
11147 09-18 16:14:53.881 27848 27848 E MyExam :
Подробнее здесь: [url]https://stackoverflow.com/questions/32661221/android-cursor-didnt-have-data-column-not-found[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия