!在Android平台下开发音乐播放器,怎样让系统自动扫描加载歌曲的时候扫描指定文件夹,还有下载歌曲的时候怎样下载到指定文件夹
求助!在Android平台下开发音乐播放器,怎样让系统自动扫描加载歌曲的时候扫描指定文件夹,还有下载歌曲的时候怎样下载到指定文件夹?
求助!在Android平台下开发音乐播放器,怎样让系统自动扫描加载歌曲的时候扫描指定文件夹(因为好多.mp3格式的不仅仅是歌曲,也有可能是游戏中自带声音之类的),还有下载歌曲的时候怎样下载到指定文件夹?
------解决方案--------------------
private static final String[] INTERNAL_COLUMNS = new String[] {
MediaStore.Audio.Media._ID, MediaStore.Audio.Media.TITLE,
"\"" + MediaStore.Audio.Media.INTERNAL_CONTENT_URI + "\"",
MediaStore.Audio.Media.TITLE_KEY
};
private static String constructBooleanTrueWhereClause(List<String> columns) {
if (columns == null) return null;
StringBuilder sb = new StringBuilder();
for (int i = columns.size() - 1; i >= 0; i--) {
sb.append(columns.get(i)).append("=1 or ");
}
if (columns.size() > 0) {
// Remove last ' or '
sb.setLength(sb.length() - 4);
}
return sb.toString();
}
private Cursor query(Uri uri,
String[] projection,
String selection,
String[] selectionArgs,
String sortOrder) {
/*if (mContext != null) {
return ((Activity)mContext).managedQuery(uri, projection, selection, selectionArgs, sortOrder);
} else {*/
return mContext.getContentResolver().query(uri, projection, selection, selectionArgs, sortOrder);
//}
}
private Cursor getInternalRingtones() {
return query(
MediaStore.Audio.Media.INTERNAL_CONTENT_URI, INTERNAL_COLUMNS,
constructBooleanTrueWhereClause(mFilterColumns),
null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER);
}
protected Cursor getCursor() {
求助!在Android平台下开发音乐播放器,怎样让系统自动扫描加载歌曲的时候扫描指定文件夹(因为好多.mp3格式的不仅仅是歌曲,也有可能是游戏中自带声音之类的),还有下载歌曲的时候怎样下载到指定文件夹?
------解决方案--------------------
private static final String[] INTERNAL_COLUMNS = new String[] {
MediaStore.Audio.Media._ID, MediaStore.Audio.Media.TITLE,
"\"" + MediaStore.Audio.Media.INTERNAL_CONTENT_URI + "\"",
MediaStore.Audio.Media.TITLE_KEY
};
private static String constructBooleanTrueWhereClause(List<String> columns) {
if (columns == null) return null;
StringBuilder sb = new StringBuilder();
for (int i = columns.size() - 1; i >= 0; i--) {
sb.append(columns.get(i)).append("=1 or ");
}
if (columns.size() > 0) {
// Remove last ' or '
sb.setLength(sb.length() - 4);
}
return sb.toString();
}
private Cursor query(Uri uri,
String[] projection,
String selection,
String[] selectionArgs,
String sortOrder) {
/*if (mContext != null) {
return ((Activity)mContext).managedQuery(uri, projection, selection, selectionArgs, sortOrder);
} else {*/
return mContext.getContentResolver().query(uri, projection, selection, selectionArgs, sortOrder);
//}
}
private Cursor getInternalRingtones() {
return query(
MediaStore.Audio.Media.INTERNAL_CONTENT_URI, INTERNAL_COLUMNS,
constructBooleanTrueWhereClause(mFilterColumns),
null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER);
}
protected Cursor getCursor() {