Apps für Android programmieren leicht gemacht!
Musik vom Handy auflisten

Musik vom Handy auflisten

In vielen Szenarien kann es echt von Vorteil sein, alle Musikdatein des Handys auflisten zu können.
Angefangen (als billigstes Beispiel) bei einem Musik Player, bis hin zum Datei Explorer auf dem Handy.

Wir möchten hier einmal die Musik vom Handy auflisten.

Als Minimum SDK empfehle ich die API 14 zu nutzen. Abgesehen von älteren Tablets sind kaum noch Geräte in Nutzung, die eine API von 14 oder geringer nutzen. Google selber sagt dazu, dass mit API 14 ca. 90,4% der aktiven Geräte abgedeckt sind.

Als aller Erstes benötigen wir jedoch ganz dringend eine Berechtigung von Android.
Da wir mit unserer App später einmal alle Musikstücke auf dem Gerät finden möchten (auch die auf einer externen SD-Karte), benötigen wir die Berechtigung auf den externen Speicher zugreifen zu dürfen.
Diese Berechtigung holen wir uns von Android, indem wir in die „AndroidManifest.xml“ Datei die Zeile „<uses-permission android:name=“android.permission.READ_EXTERNAL_STORAGE“/>“ einfügen.
Diese Zeile muss innerhalb des Tags „<manifest>“ gesetzt werden.

Dies dürfte ungefähr so aussehen:

<?xml version="1.0" encoding="utf-8"?>
<manifest>
    ...
    <application>
        ...
        <activity>
            ...
        </activity>
        ...
    </application>
    ...
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    ...
</manifest>

 

Musik vom Handy auflisten:

Nun, da wir die nötigen Berechtigungen eingeholt haben, erstellen wir eine neue Funktion Namens „findeMusik“.
Außerdem benötigen wir innerhalb dieser Funktion noch einen Array, in den wir den Dateipfad schreiben können.

public void findeMusik(){
   ArrayList<String> musikpfade = new ArrayList<String>();
}

 

Zwar haben wir nun eine Liste erstellt und initialisiert, aber bisher ist sie noch leer. 🙁
Das möchten wir nun gerne ändern und greifen dabei auf eine in Android bestehende Funktion zurück. Diese Funktion gibt uns alle Daten vom Typ „Audio“ zurück.
Sie gibt uns genau genommen einen Cursor zurück, welchen wir darauf hin nur noch auslesen müssen.
Wir fügen in die Funktion „findeMusik“ diesen Code hinzu:

ContentResolver musicResolver = getContentResolver();
Uri musicUri = android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
Cursor MusikCursor = musicResolver.query(musicUri, null, null, null, null);

if(MusikCursor!=null && MusikCursor.moveToFirst()){ 
   int pfadColumn = MusikCursor.getColumnIndex(android.provider.MediaStore.Audio.Media.DATA);
   do{ 
      String thisPfad = MusikCursor.getString(pfadColumn); 
      musikpfade.add(thisPfad); 
   } while (MusikCursor.moveToNext()); 
} 

Und schon haben wir eine Liste voller Musik, die sich auf unserem Smartphone befinden.
Mit Hilfe dieser eben ausgelesenen Daten könnten wir nun weitere Informationen über jede einzelne Datei einholen.

Marvin

Ich bin 23 Jahre jung und studiere zurzeit Wirtschaftsinformatik an der Georg-August-Universität in Göttingen. Ich bin ein Mensch, der sich neben der Programmierung noch für tausend andere Dinge interessiert, die mal mehr und mal weniger verrückt sind. Vor allem aber bin ich Feuer und Flamme mit der Programmierung von eigenen kleinen Apps und Programmen, die mein Leben bereichern.

Kommentar hinzufügen

*Pflichtfeld