求助!在Android平台下开发音乐播放器,怎样让系统自动扫描加载歌曲的时候扫描指定文件夹(因为好多.mp3格式的不仅仅是歌曲,也有可能是游戏中自带声音之类的),还有下载歌曲的时候怎样下载到指定文件夹?
解决方案 »
- Android图片问题
- surfaceview的事件响应
- android make PRODUCT-*-eng这个make后的参数到底是怎么传进来的呢
- 如何让程序支持1920*1080?
- 有关android、webview、js、getElementsByTagName的一个问题
- android 4.4 下播放视频只有声音无图像
- android发送短信问题
- android 4.0 怎么禁通知栏下拉
- actionbar 点击图片 切换
- Installation error:INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION
- (急)android接收中文短信出现乱码
- 急!!!EditText弹出软键盘,但获取不了焦点!
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() {
if (mCursor != null) {
return mCursor;
}
final Cursor internalCursor = getInternalRingtones();
if(null == internalCursor)
{
return null;
}
return mCursor = new SortCursor(new Cursor[] { internalCursor, null, null },
MediaStore.Audio.Media.DEFAULT_SORT_ORDER);
}获取的cursor里面就有歌曲了
return mCursor = new SortCursor(new Cursor[] { internalCursor, null, null },
MediaStore.Audio.Media.DEFAULT_SORT_ORDER);
这个里面的两个null分别对应不同地方的歌曲。具体哪个对应哪个不记得了,比如说第一个是system下面的,第二个是sdcard上面的等等。
Cursor c = this.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.DISPLAY_NAME },
null, null, null);
中,当时写的代码是这个类继承了Activity,而现在我是继承了Fragment(public class ListFragment extends Fragment)然后getContentResolver就不能用this调用了,有没有什么方法可以实现正确的代码?本人是初学不太明白