在android中的存储器中查找mp3歌曲
我正在尝试制作一个应用程序来查找所有mp3歌曲,这段代码就是我得到的,但是我无法测试这段代码,因为它正在崩溃,没有任何错误,我做错了什么 我的班级要找到歌曲:在android中的存储器中查找mp3歌曲,android,android-studio,mediastore,Android,Android Studio,Mediastore,我正在尝试制作一个应用程序来查找所有mp3歌曲,这段代码就是我得到的,但是我无法测试这段代码,因为它正在崩溃,没有任何错误,我做错了什么 我的班级要找到歌曲: public class SongsManager { private ArrayList<Song> songsList; public ArrayList<Song> getMp3Songs(Context ctx) { Uri allSongsUri = MediaSt
public class SongsManager {
private ArrayList<Song> songsList;
public ArrayList<Song> getMp3Songs(Context ctx) {
Uri allSongsUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
String selection = MediaStore.Audio.Media.IS_MUSIC + " != 0";
Cursor cursor = ctx.getContentResolver().query(allSongsUri, null, null, null, selection);
if (cursor != null) {
if (cursor.moveToFirst()) {
do {
Song song = new Song(cursor.getInt(cursor.getColumnIndex(MediaStore.Audio.Media._ID)),
cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DISPLAY_NAME)),
cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.ARTIST)),
cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DATA)));
songsList.add(song);
} while (cursor.moveToNext());
}
cursor.close();
}
return songsList;
}
}
您应用了错误的语法。“选择”不正确,因为这是排序顺序的所在 例如:
private final Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
public Cursor getAllTracks(Context context) {
// gets all tracks
ContentResolver cr = context.getContentResolver();
final String[] columns = {track_id, track_no, artist, track_name,
album, duration, path, year, composer};
return cr.query(uri, columns, null, null, null);
}
从文件中:
query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder)
查询给定的URI,在结果集上返回一个光标。“因为正在崩溃”--使用LogCat检查与崩溃相关的Java堆栈跟踪:此处出现一些错误:Cursor Cursor=ctx.getContentResolver().Query(allSongsUri,null,null,null,selection);你帮了大忙!谢谢你,娜达,谢谢你
private final Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
public Cursor getAllTracks(Context context) {
// gets all tracks
ContentResolver cr = context.getContentResolver();
final String[] columns = {track_id, track_no, artist, track_name,
album, duration, path, year, composer};
return cr.query(uri, columns, null, null, null);
}
query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder)