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