java - 从两个不同的数据源中选择排序的数据

标签 java android cursor

我需要最新的图像,并且我需要从两个不同的位置进行选择。我该怎么做?

下面是我的代码,它仅从 /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());
        }       
    }
}

最佳答案

将您的选择字符串替换为以下内容:

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

关于java - 从两个不同的数据源中选择排序的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8401008/

相关文章:

java - JGIT 验证存储库是否有效

java - Spring JPA,CrudRepository 的 save 方法是否立即提交到 DB?

android - 使用 Android 数据绑定(bind),如何指定在 Android Studio 布局预览期间显示的虚拟(或 "default")文本?

html - CSS 光标自定义

java - 第一次尝试后 TCP 套接字通信失败

java - 安卓 : How to remove white spaces in Chinese characters?

android - ARCore 兼容设备

android - Kotlin编译器警告且应用程序无法执行

java - 安卓 SQLite : CursorIndexOutOfBoundsException when retrieving a row from a table?

emacs - 如何在emacs上更改光标颜色