【发布时间】:2020-06-23 15:36:22
【问题描述】:
我需要获取自定义应用程序的手机媒体数据并且我使用了查询,但它在我的代码中显示某些 Android 设备的错误,并且仅在某些设备上显示语法错误。
@Override
public Loader<Cursor> onCreateLoader(int arg0, Bundle arg1) {
String[] PROJECTION_BUCKET = {
MediaStore.Images.ImageColumns._ID,
MediaStore.Images.ImageColumns.BUCKET_ID,
MediaStore.Images.ImageColumns.BUCKET_DISPLAY_NAME,
MediaStore.Images.ImageColumns.DATE_TAKEN,
MediaStore.Images.ImageColumns.DATA,
MediaStore.Images.ImageColumns.MINI_THUMB_MAGIC};
String BUCKET_GROUP_BY =
"2) GROUP BY 2,(3";
String BUCKET_ORDER_BY = "MAX(datetaken) DESC";
// Get the base URI for the People table in the Contacts content provider.
Uri images = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
Cursor cursor = getContext().getContentResolver().query(
images, PROJECTION_BUCKET, BUCKET_GROUP_BY, null, BUCKET_ORDER_BY);
cursor.moveToNext();
String selection = "WHERE "+MediaStore.Images.Media.BUCKET_ID+" = 1030343353";
return new CursorLoader(getContext(), uri, PROJECTION_BUCKET, BUCKET_GROUP_BY, null, BUCKET_ORDER_BY);
}```
and here error
android.database.sqlite.SQLiteException: near "GROUP": syntax error (code 1 SQLITE_ERROR[1]): , while compiling: SELECT _id, bucket_id, bucket_display_name, datetaken, _data, mini_thumb_magic FROM images WHERE ((is_pending=0) AND (is_trashed=0) AND (volume_name IN ( 'external_primary' )) AND (_data>'')) AND ((2) GROUP BY 2,(3)) ORDER BY MAX(datetaken) DESC
【问题讨论】:
标签: android sqlite media-queries