【发布时间】:2012-12-08 00:38:51
【问题描述】:
我在 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。
感谢您的建议。
【问题讨论】:
-
阅读光标文档,开始
-
musiccursor.getColumnIndex(MediaStore.Audio.Media.TITLE)在哪里?您假设索引应该具有值 3。这是一个糟糕的假设和事件,如果它是一个好的假设,那么在 java 中索引从 0 开始而不是从 1。 -
就我个人而言,我在我的投影中使用了 null(所以我得到了所有的列),直到我弄清楚如何去做。然后我减少了我的查询内容。
-
嘿,如果可能的话,你能分享一下答案吗?
标签: android mediastore