I want to request images and and sort them by DATE_TAKEN. In some cases DATE_TAKEN is not available. In this case I would like to use DATE_ADDED as fallback.
Is it possible to combine this in a single SQL statement. I struggle bit but with this.
My code so far:
String[] projection = {
MediaStore.MediaColumns._ID,
MediaStore.MediaColumns.DATA,
MediaStore.MediaColumns.MIME_TYPE,
MediaStore.Images.ImageColumns.DATE_ADDED,
MediaStore.Images.ImageColumns.DATE_TAKEN,
MediaStore.MediaColumns.TITLE,
};
String sortString = MediaStore.Images.ImageColumns.DATE_TAKEN + " ASC";
Uri target = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
Cursor cursor = getContentResolver().query(target, projection, null, null, sortString);
My idea would be something like this:
String sortString =
" CASE "+ MediaStore.Images.ImageColumns.DATE_TAKEN +" WHEN "+
MediaStore.Images.ImageColumns.DATE_TAKEN +" == 0 THEN " +
MediaStore.Images.ImageColumns.DATE_ADDED + " ASC " +
"ELSE " + MediaStore.Images.ImageColumns.DATE_TAKEN + " ASC END";
But I've got an error and I don't even know if it is actually possible to do something like this.
The error:
android.database.sqlite.SQLiteException: near "ASC": syntax error (code 1)
Aucun commentaire:
Enregistrer un commentaire