我正在尝试将此代码实现到我使用this教程制作的音乐播放器中。我需要使用“MediaStore”来实现此代码来扫描SD卡中的所有音乐文件。
public class SongsManager {
// SDCard Path
private ArrayList<HashMap<String, String>> songsList = new ArrayList<HashMap<String, String>>();
public ArrayList<HashMap<String, String>> getPlayList(){
Cursor cursor = resolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, new String [] {"ARTIST", "DURATION", "TITLE", "_DATA", "ALBUM"}, null, null, null);
while(cursor.moveToNext()) {
HashMap<String, String> song = new HashMap<String, String>();
song.put("artist", cursor.getString(0));
song.put("duration", cursor.getString(1));
song.put("songTitle", cursor.getString(2));
song.put("songPath",cursor.getString(3));
song.put("album",cursor.getString(4));
// Adding each song to SongList
songsList.add(song);
}
return songsList;
}}
基本上我无法在这一行上解决几个错误:
Cursor cursor = resolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, new String [] {"ARTIST", "DURATION", "TITLE", "_DATA", "ALBUM"}, null, null, null);
错误是:
此行有多个标记 - 解析器无法解析 - 光标无法解析为类型
“光标无法解析为类型”部分没有Quickfix,但是对于解析器部分,Quickfixes包括
我搜索并尝试了网络上几乎所有与我的问题相关的解决方案,但它对我不起作用。所以我必须在这里提出这个问题。而且我承认我并不擅长这个,所以我请求请回答一下,像我这样的菜鸟没有问题从你的答案中实现代码。
答案 0 :(得分:0)
resolver
大概应该是ContentResolver
。通常情况下,您可以通过在某些getContentResolver()
上调用Context
来获取其中一个,例如Activity
。