Hallo,
mit dem Ermitteln der Daten für einen MediaPlayer() und auch dem Abpielen der Dateien scheine ich ja klar zu kommen, aber wenn ich versuche auf die einzelnen Genres (Rock, Country, etc.) zuzugreifen habe ich jeweils einen Absturz der App.
Hier der betreffende Codeteil:
Code
static List<String> DieListe =new ArrayList<String>();
ArrayAdapter<String> liesteadapter=new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_single_choice,DieListe);
ListView listzumeintragen=(ListView)findViewById(R.id.listView1); // Gibts wirklich.....
DieListe.clear();
String [] zusuchen={
MediaStore.Audio.Genres._ID,
// MediaStore.Audio.Genres.NAME,
// MediaStore.Audio.GenresColumns.NAME,
MediaStore.Audio.Genres.Members.DATA,
MediaStore.Audio.Genres.Members.ARTIST,
MediaStore.Audio.Genres.Members.ALBUM,
MediaStore.Audio.Genres.Members.TITLE};
ContentResolver contentResolver = getContentResolver();
Cursor cursor=contentResolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,zusuchen,null,null,null);
if (cursor != null)
{
cursor.moveToFirst();
String dieseAusgabe;
int dieseSpalte=cursor.getColumnIndex(MediaStore.Audio.Genres.Members.TITLE);
do
{
dieseAusgabe = cursor.getString(dieseSpalte).trim();
if (DieListe.indexOf(dieseAusgabe) < 0)
{
DieListe.add(dieseAusgabe);
}
} while (cursor.moveToNext());
listzumeintragen.setAdapter(liesteadapter);
}
Toast.makeText(this,String.valueOf(DieListe.size())+" Einträge",Toast.LENGTH_LONG).show();
Alles anzeigen
So wie oben gezeigt läuft die App ohne Fehler. Wenn aber bei einer der beiden Zeilen MediaStore.Audio.Genres.NAME oder auch MediaStore.Audio.GenresColumns.NAME die Auskommentierung weg genommen wird, so landet sie im Nivana.
Und ich wollte eingentlich auch die Genres bei der Auswahl benutzen........
Was habe ich übersehen, welchen Fehler machte ich?
Hoffnungsvolle Grüße, schymura