У меня есть переменная dirPath
String, которую я хочу изменить на каталог по своему выбору для приложения Android TV. Я нахожу интерфейс Leanback, похожий на слайд-шоу, немного громоздким для более тонких действий, но я хотел бы придерживаться его, когда смогу, поскольку я новичок в Android и Java в целом.
Итак, пытаясь придерживаться лучших практик, я хотел бы, чтобы пользователь мог изменить dirPath
, чтобы указать на каталог по своему выбору (dirPath
используется в качестве переменной для поиска музыки в указанном каталоге и его подкаталогах). На других платформах я бы поискал стандартный диалог открытия файла для ОС, но не могу найти его в фреймворке Leanback.
Лучше всего использовать GuidedStepFragments. Кажется немного неэлегантным вводить всю страницу параметров (см. мой предыдущий комментарий о UX, похожем на слайд-шоу) только ради выбора каталога, но похоже, что у меня мало выбора? Во-вторых, я не вижу никаких виджетов файлового диалога среди Управляемые действия. Возможно, я пропустил это, или Google стремился направить выбор файлов в онлайн, а не локально.
Дополнительная информация:
Я пытаюсь сканировать файлы mp3 и flac во всех подкаталогах dirPath
, а затем добавляю пути, метаданные и т. д. в базу данных SQLite
, с которой я уже работаю с фиктивным данные. Я избегаю mediastore
, поскольку у него слишком много ограничений, в частности невозможность доступа к сетевым ресурсам, что было бы желательно для меня при доступе к NAS.
Как только пользователь назначит dirPath
и начнется сканирование, я передам это AsyncTask
для запуска в отдельном фоновом потоке из пользовательского интерфейса.
Подводя итог:
Я пытаюсь сканировать подключенное хранилище устройства Android TV на наличие музыкальных файлов, используя AsyncTask
в потоке, отличном от пользовательского интерфейса. Сканированию будет передана переменная dirPath
String, и он проверит этот путь и все его подкаталоги на наличие музыкальных файлов, которые затем будут переданы в средство извлечения метаданных перед сохранением соответствующих данных в базе данных SQLite
.
Я думаю, что у меня есть некоторое представление о реализации сканирования (Google предоставляет примеры), и я успешно реализовал вставку фиктивных данных в базу данных. Чего я никак не могу добиться, так это предоставить простое средство, позволяющее пользователю выбирать пути для сканирования с помощью библиотеки Leanback Android TV. По-видимому, это недоступно в Leanback. Есть ли способ, которым я могу реализовать это, это не кошмар? Я ищу как можно более простое диалоговое окно выбора каталога. Если он должен использовать всю страницу опций, аля GuidedStepFragments
, так тому и быть.