有人可以指出我正确的方向吗:
如何以随机顺序提供此查询?
musiccursor = getActivity().getContentResolver().query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
musicdata,
selection,
dirs,
MediaColumns.DATA+ " asc");
我尝试用各种东西替换“asc”,包括 Random()、RAND....我很难过
有人可以指出我正确的方向吗:
如何以随机顺序提供此查询?
musiccursor = getActivity().getContentResolver().query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
musicdata,
selection,
dirs,
MediaColumns.DATA+ " asc");
我尝试用各种东西替换“asc”,包括 Random()、RAND....我很难过
选择 25 条随机记录:
musiccursor = getActivity().getContentResolver().query(
MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
musicdata,
selection,
dirs,
"RANDOM() LIMIT 25");
这对我有用。
作为记录,这就是我实施解决方案的方式:
if(isShuffle){
// shuffle is on - play a random song
sortOrder = "RANDOM()";
}
else{
sortOrder = MediaColumns.DATA+ " asc";
}
...
//run the query
musiccursor = ctx.getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
musicdata,
selection,
dirs,
sortOrder);
通过这样做,我可以将随机排序的光标扔到列表视图中。用户可以看到随机播放列表顺序,而不是像大多数应用程序那样“秘密”随机选择下一首歌曲。