通過ContentResolver類成員方法
//方法一:
public void getMusic(){
Cursor cur = getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
new String[]{MediaStore.Audio.Media.TITLE,
MediaStore.Audio.Media.DURATION, //音頻文件播放時長
MediaStore.Audio.Media.ARTIST,
MediaStore.Audio.Media._ID,
MediaStore.Audio.Media.DATA}, //音頻文件路徑
null, null, null);
if(cur == null){
System.out.println("————查詢失敗!————");
}else if(!cursor.moveToFirst()){
System.out.println("————音頻不存在!————");
}do{
Music m = new Music();
m.setTitle(cur.getString(0)); //0,1,2,3,4 和上面query(Uri uri, String[] projection, String selection,
m.setDuration(cur.getString(1)); // String[] selectionArgs,String sortOrder);第二個參數的順序是對應的
m.setArtist(cur.getString(2));
m.setId(cur.getString(3));
m.setPath(cur.getString(4));
}while(cur.moveToNext());
}
_____________________________________________________________________________________________________________
public class Music {
private String title;
private String artist;
private String id;
private String path;
private String duration;
public String getDuration() {
return duration;
}
public void setDuration(String duration) {
this.duration = duration;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getArtist() {
return artist;
}
public void setArtist(String artist) {
this.artist = artist;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPath() {
return path;
}
public void setPath(String path) {
this.path = path;
}
//方法二:
public void getMusic(){
ContentResolver contentResolver = getContentResolver();
Uri uri = android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
Cursor cursor = contentResolver.query(uri, null, null, null, null);
if(cursor == null){
System.out.println("————查詢失敗!————");
}else if(!cursor.moveToFirst()){
System.out.println("————音頻不存在!————");
}else{
int data = cursor.getColumnIndex(android.provider.MediaStore.Audio.Media.DATA); //對應數據庫的列號
int display_name = cursor.getColumnIndex(android.provider.MediaStore.Audio.Media.DISPLAY_NAME); //對應數據庫的列號
do{
String music_name = cursor.getString(display_name); //音頻文件名
String path = cursor.getString(data); //音頻文件路徑
}while(cursor.moveToNext());
}
}