Implementieren eines Dateidialogs in Android TV Leanback

Ich habe eindirPath String Variable, die ich in ein Verzeichnis meiner Wahl für eine Android TV-App wechseln möchte. Ich finde die Diashow-ähnliche Oberfläche des Leanback-Frameworks etwas umständlich für subtilere Aktionen, aber ich möchte mich gerne daran halten, wenn es mir möglich ist, da ich ein absoluter Anfänger auf Android und Java im Allgemeinen bin.

So versuche ich, mich an Best Practices zu halten und möchte, dass der Benutzer in der Lage ist, @ zu änderdirPath, um auf ein Verzeichnis ihrer Wahl zu verweisen dirPath wird als Variable verwendet, um im angegebenen Verzeichnis und seinen Unterverzeichnissen nach Musik zu suchen. Auf anderen Plattformen würde ich nach einem Standarddialog zum Öffnen von Dateien für das Betriebssystem suchen, aber ich kann anscheinend keinen im Leanback-Framework finden.

Meine beste Vermutung ist die Verwendung von GuidedStepFragments. Das fühlt sich etwas unelegant an, eine ganze Optionsseite einzublenden (siehe meinen früheren Kommentar zu Leanbacks Diashow-ähnlichem UX), um ein Verzeichnis auszuwählen, aber es sieht so aus, als hätte ich keine andere Wahl? Zweitens sehe ich kein Dateidialog-Widget unter dem GuidedActions. Vielleicht habe ich es verpasst, oder Google war daran interessiert, die Dateiauswahl auf online und nicht auf lokal zu richten.

Zusätzliche Information

Ich versuche nach @ zu such mp3 und flac Dateien in allen Unterverzeichnissen vondirPath und dann die Pfade, Metadaten usw. zu einem @ hinzufügSQLiteDatenbank, die ich bereits mit Dummy-Daten arbeite. Ich vermeidemediastore da es zu viele Einschränkungen hat, insbesondere die Unfähigkeit, auf Netzwerkfreigaben zuzugreifen, was für mich für den NAS-Zugriff wünschenswert wäre.

obald der Benutzer ein @ nominiert hdirPath und einSca wird gestartet, ich gebe das an @ weitAsyncTask, um auf einem anderen Hintergrund-Thread als der Benutzeroberfläche auszuführen.

Zusammenfassen

Ich versuche, den angehängten Speicher eines Android-TV-Geräts mit @ nach Musikdateien zu durchsucheAsyncTask in einem anderen Thread als die Benutzeroberfläche. Der Scan wird mit dem @ gefüttedirPath String Variable und prüft diesen Pfad und alle seine Unterverzeichnisse auf Musikdateien, die dann an einen Metadaten-Extraktor übergeben werden, bevor die relevanten Daten in einem @ gespeichert werdeSQLite database.

Ich glaube, ich habe ein gewisses Verständnis für die Implementierung des Scans (Google liefert Beispiele) und erfolgreich das Einfügen von Dummy-Daten in eine Datenbank implementiert. Was ich scheinbar nicht schaffen kann, ist, dem Benutzer auf einfache Weise die Möglichkeit zu geben, die zu scannenden Pfade mithilfe von Android-Fernsehgeräten auszuwähleZurücklehne Bibliothek. Anscheinend ist dies nicht verfügbar inZurücklehne. Gibt es eine Möglichkeit, dies umzusetzen, die kein Albtraum ist? Ich suche ein möglichst einfaches Dialogfeld zur Auswahl des Verzeichnisses. Wenn eine ganze Optionsseite verwendet werden muss, wird alaGuidedStepFragments, so sei es

Antworten auf die Frage(6)

Ihre Antwort auf die Frage