Выбор отсортированных данных из двух разных источников данных - PullRequest
1 голос
/ 06 декабря 2011

Мне нужно самое обновленное изображение, и мне нужно выбрать из двух разных мест.Как мне это сделать?

Ниже приведен мой код, и он возвращается только из /dcim/camera, а не из eye-fi, когда он сможет вернуться из обоих.

private void PopulateDataSource() {
    if (_context == null) return;

    if(_context.getContentResolver() != null) {
        final ContentResolver cr = _context.getContentResolver();

    String[] projections = new String[] {
        MediaStore.Images.ImageColumns._ID,
        MediaStore.Images.ImageColumns.DATE_TAKEN,
        MediaStore.Images.ImageColumns.DATA };
        String sortOrder = String.format(
            "%s limit 10", Images.ImageColumns.DATE_TAKEN + " DESC"); 

    final String[] selectionArgs = { 
        getBucketId(Environment.getExternalStorageDirectory().toString() +
        "/Eye-Fi"),
        getBucketId(Environment.getExternalStorageDirectory().toString() +
        "/DCIM/Camera") };

    final String selection = MediaStore.Images.Media.BUCKET_ID + " = ?";

    try {
        // select all images from DataBase and set it in Cursor
        SearchCursor = cr.query(
            MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
            projections, selection, selectionArgs, sortOrder);

        } 
        catch (Exception ex) {
            Log.e("Cursor failed", ex.getMessage());
        }       
    }
}

1 Ответ

0 голосов
/ 06 декабря 2011

Замените строку выбора следующим:

final String selection = MediaStore.Images.Media.BUCKET_ID + " IN (?, ?)";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...