Как получить данные из MediaStore.File и MediaStore.File.FileColumnAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как получить данные из MediaStore.File и MediaStore.File.FileColumn

Сообщение Anonymous »

Я пытаюсь получить все имена файлов, содержащие аудиофайлы. Я использовал Mediastore, чтобы получить из медиамагазина аудио, альбом, список воспроизведения и аудиоданные, но как я могу получить файл или папку titles, содержащий аудиофайл. Вот код, который я пробовал, но он неверен, поскольку я не могу установить external_Content_uri.
Это код, который я пробовал.

Код: Выделить всё

  private void External() {
try {
String[] proj = {MediaStore.Files.FileColumns.TITLE,
MediaStore.Files.FileColumns._ID,
MediaStore.Files.FileColumns.PARENT,
MediaStore.Files.FileColumns.DATA
};// Can include more data for more details and check it.

String selection =MediaStore.Files.FileColumns.MEDIA_TYPE+"=?";

String[] selectionArgs = {"MediaStore.Files.FileColumns.MEDIA_TYPE_AUDIO"};

String sortOrder = MediaStore.Audio.Media.TITLE + " ASC";

Cursor audioCursor = getContentResolver().query(MediaStore.Files.getContentUri("\"external\""), proj, selection, selectionArgs, sortOrder);

if (audioCursor != null) {
if (audioCursor.moveToFirst()) {
do {
int filetitle = audioCursor.getColumnIndexOrThrow(MediaStore.Files.FileColumns.TITLE);
int file_id = audioCursor.getColumnIndexOrThrow(MediaStore.Files.FileColumns._ID);
int fileparent = audioCursor.getColumnIndexOrThrow(MediaStore.Files.FileColumns.PARENT);
int filedata = audioCursor.getColumnIndexOrThrow(MediaStore.Files.FileColumns.DATA);
Mediafileinfo info = new Mediafileinfo();
info.setData(new File(new File(audioCursor.getString(filedata)).getParent()).getName());
info.setTitle(audioCursor.getString(filetitle));
info.set_id(audioCursor.getString(file_id));
info.setParent(audioCursor.getString(fileparent));
// info.setData(audioCursor.getString(filedata));
audioList.add(info);
} while (audioCursor.moveToNext());
}
}
assert audioCursor != null;
audioCursor.close();
} catch (Exception e) {
e.printStackTrace();
}
}
Я попробовал этот и этот пример, но не смог найти решение.

Подробнее здесь: https://stackoverflow.com/questions/393 ... filecolumn
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»