大神,安卓虚拟机数据库找不到文件

求助大神,安卓虚拟机数据库找不到文件


import java.util.ArrayList;

import com.tarena.entity.Music;

import android.content.ContentResolver;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.provider.MediaStore.Audio.Albums;
import android.provider.MediaStore.Audio.Media;

public class MusicDao {
private ContentResolver cr;
private Uri uri = Media.EXTERNAL_CONTENT_URI;

public MusicDao(Context context) {
cr = context.getContentResolver();
}

private String getPicPath(String album_key) {
String path = null;
Uri uri = Albums.EXTERNAL_CONTENT_URI;
String[] projection = { Albums.ALBUM_ART };
String selection = Albums.ALBUM_KEY + "=?";
String[] selectionArgs = { album_key };
Cursor c = cr.query(uri, projection, selection, selectionArgs, null);
if (c != null && c.moveToFirst()) {
path = c.getString(0);
c.close();
}
return path;
}

public ArrayList<Music> getMusics() {
ArrayList<Music> musics = null;
String[] projection = { Media._ID, Media.TITLE, Media.ARTIST,
Media.ALBUM, Media.ALBUM_KEY, Media.COMPOSER, Media.DURATION,
Media.DATA };
Cursor c = cr.query(uri, projection, null, null, null);
if (c != null) {
musics = new ArrayList<Music>();
while (c.moveToNext()) {
Music m = new Music();
m.setId(c.getInt(c.getColumnIndex(Media._ID)));
m.setName(c.getString(c.getColumnIndex(Media.TITLE)));
m.setSinger(c.getString(c.getColumnIndex(Media.ARTIST)));
m.setAlbum(c.getString(c.getColumnIndex(Media.ALBUM)));
m.setComposer(c.getString(c.getColumnIndex(Media.COMPOSER)));
m.setMusicPath(c.getString(c.getColumnIndex(Media.DATA)));
String album_key = c.getString(c.getColumnIndex(Media.TITLE));
m.setAlbumPicPath(getPicPath(album_key));
m.setDuration(c.getLong(c.getColumnIndex(Media.DURATION)));

musics.add(m);
}
c.close();
}
return musics;
}
}
大神帮忙看下这段代码有什么问题没有。我的音频文件放在mnt/sdcard/Music下。while(c.moveToNext())这步不会执行,也就是说找不到数据,是我文件放的位置有问题还是。数据库导出来里面是空的
------解决方案--------------------
不是很懂,不过知道android有个manifest文件需要权限配置。
------解决方案--------------------
首先,用adb看一下,文件存进去了没有?其次,读也是要权限的。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>