如何获得歌名? Android的

时间:2012-12-07 16:21:59

标签: android mediastore

我在SD卡上有歌,我正试图获得那首歌的标题:

File f = new File(filename);

String[] projection = { MediaStore.Audio.Media._ID, 
                        MediaStore.Audio.Media.ARTIST,
                        MediaStore.Audio.Media.TITLE,
                        MediaStore.Audio.Media.DATA, 
                        MediaStore.Audio.Media.DISPLAY_NAME,
                        MediaStore.Audio.Media.DURATION};

Cursor musiccursor = managedQuery(Uri.fromFile(f), 
                        projection, null, null, null);
musicTV.setText(musiccursor.getString(3));

但在最后一行我得到了NullPointerException。 谢谢你的任何建议。

2 个答案:

答案 0 :(得分:0)

如果您正在使用光标,当您获得某些内容时,您必须将光标移动到第一个元素,因为光标指向第一个元素。 尝试使用:

Cursor musiccursor = managedQuery(Uri.fromFile(f),  projection, null, null, null);
cursor.moveToFirst();
musicTV.setText(musiccursor.getString(3));

答案 1 :(得分:0)

您是否看到this可以让您获得90%,然后this将为您提供剩余的帮助。

  1. 查询设备
  2. Init Cursor
  3. 遍历光标
  4. 困难的部分是理解列的抽象本质。请记住它是一个数据库表,可以显示为电子表格。不要忘记捕捉声明!