2011-12-06 41 views
1

我需要最新的圖像,我需要從兩個不同的地方進行選擇。我該怎麼做呢?從兩個不同的數據源中選擇排序的數據

下面是我的代碼,它只返回從/dcim/camera,而不是從眼睛的時候,它應該能夠從兩個返回。

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()); 
     }  
    } 
} 

回答

0

用以下內容替換您的選擇字符串:

final String selection = MediaStore.Images.Media.BUCKET_ID + " IN (?, ?)"; 
+0

感謝的是正確的! 除了你的答案之外,我不得不用_ID對它進行排序,這是完美的! – IamStalker