Mediastore对象有什么好的simpleCursorAdapter实现?

时间:2013-10-15 09:58:47

标签: android listview simplecursoradapter mediastore

道歉,如果我在这里遗漏了一些非常简单的东西,我对编程非常陌生。

我正在尝试构建一个媒体播放器,并且已经发现了使用MediaStore.Audio来收集播放列表媒体的示例。我现在需要实现一个适配器,将其转换为listview供用户选择。我认为这可能是实现简单曲目列表的最优雅方式。

到目前为止,我有:

SimpleCursorAdapter myAdapter;
        String[] STAR = { "*" };
        Uri allsongsuri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
        String selection = MediaStore.Audio.Media.IS_MUSIC + " != 0";

        Cursor cursor = getContentResolver().query(allsongsuri, STAR, selection, null, null);

        if (cursor != null) {
            if (cursor.moveToFirst()) {
                do {
                    String song_name = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DISPLAY_NAME));
                    int song_id = cursor.getInt(cursor.getColumnIndex(MediaStore.Audio.Media._ID));

                    String fullpath = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DATA));

                    String album_name = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM));
                    int album_id = cursor.getInt(cursor.getColumnIndex(MediaStore.Audio.Media.ALBUM_ID));

                    String artist_name = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST));
                    int artist_id = cursor.getInt(cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST_ID));
                } while (cursor.moveToNext());
            }
            cursor.close();
        }
    }

现在我正在寻找使用simpleCursorAdaptor listView,但不知道如何去做,或者把它放在哪里。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您必须像使用“活动”一样实现自己的SimpleCursorAdapter。

MediaStoreCursorAdapter extends SimpleCursorAdapter { . . .

要将其分配给ListView,请通过

在OnCreate of Activity中获取对它的引用
ListView myListView = (ListView) findViewById(R.id.mylistview);

然后将适配器分配给它:

myListView.setAdapter(myAdapter);

如果您是初学者,您可能需要查看一些基本教程,以便在深入学习之前更好地了解语言和框架。

祝你好运!