Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android如何使用光标在直接路径中同时获取图像和视频缩略图?_Java_Android_Bitmap_Cursor - Fatal编程技术网

Java Android如何使用光标在直接路径中同时获取图像和视频缩略图?

Java Android如何使用光标在直接路径中同时获取图像和视频缩略图?,java,android,bitmap,cursor,Java,Android,Bitmap,Cursor,如何使用光标在同一光标的直接路径中获取图像和视频缩略图 我需要在/DCIM/100ANDRO文件夹中获取图像和视频缩略图 但我只需要将图像和视频分开,在sd卡上输入所有数据 private ArrayList<ImageItem> getData() { final ArrayList<ImageItem> imageItems = new ArrayList<>(); ContentResolver cr = m

如何使用光标在同一光标的直接路径中获取图像和视频缩略图

我需要在/DCIM/100ANDRO文件夹中获取图像和视频缩略图

但我只需要将图像和视频分开,在sd卡上输入所有数据

  private ArrayList<ImageItem> getData() {
          final ArrayList<ImageItem> imageItems = new ArrayList<>();

          ContentResolver cr = mContext.getContentResolver();

   String[] projection = {MediaStore.Images.Thumbnails.DATA, MediaStore.Video.Thumbnails.DATA};
          Cursor cursor = cr.query(MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI,projection,null,null,null);

          for( int i = 0 ; i < cursor.getCount(); i++)
          {
              cursor.moveToPosition(i);
              String filePath = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Thumbnails.DATA));
              Log.i("info","filePath:"+filePath);
              File file = new File(filePath);

              Bitmap myBitmap =       BitmapFactory.decodeFile(file.getAbsolutePath());

              imageItems.add( new ImageItem(myBitmap, "Image#" + i) );
          }


          cursor =       cr.query(MediaStore.Video.Thumbnails.EXTERNAL_CONTENT_URI,projection,null,null,null);
          for( int i = 0 ; i < cursor.getCount(); i++)
          {
              cursor.moveToPosition(i);
              String filePath = cursor.getString(cursor.getColumnIndex(MediaStore.Video.Thumbnails.DATA));
              Log.i("info","filePath:"+filePath);
              File file = new File(filePath);

              Bitmap myBitmap = BitmapFactory.decodeFile(file.getAbsolutePath());

              imageItems.add( new ImageItem(myBitmap, "Image#" + i) );
          }

          cursor.close();
  return imageItems;
      }
private ArrayList getData(){
最终ArrayList imageItems=新ArrayList();
ContentResolver cr=mContext.getContentResolver();
String[]projection={MediaStore.Images.Thumbnails.DATA,MediaStore.Video.Thumbnails.DATA};
Cursor Cursor=cr.query(MediaStore.Images.Thumbnails.EXTERNAL\u CONTENT\u URI,projection,null,null,null);
对于(int i=0;i
是否可以使用游标直接文件夹获取缩略图,并同时获取视频和图像缩略图

非常感谢。

我找到了答案

我们应该反其道而行之

我们可以找到真正的路径。然后去拿身份证

通过ID获取图像和视频缩略图

要使用光标获取图像和视频,请参阅

使用以下代码获取图像缩略图:

 bitmap = MediaStore.Images.Thumbnails.getThumbnail(context
                        .getApplicationContext().getContentResolver(), item.getImgId(),
                MediaStore.Images.Thumbnails.MICRO_KIND, null);
  bitmap = MediaStore.Video.Thumbnails.getThumbnail(context
                       .getApplicationContext().getContentResolver(), item.getImgId(),
               MediaStore.Images.Thumbnails.MICRO_KIND, null);
使用以下代码获取视频缩略图:

 bitmap = MediaStore.Images.Thumbnails.getThumbnail(context
                        .getApplicationContext().getContentResolver(), item.getImgId(),
                MediaStore.Images.Thumbnails.MICRO_KIND, null);
  bitmap = MediaStore.Video.Thumbnails.getThumbnail(context
                       .getApplicationContext().getContentResolver(), item.getImgId(),
               MediaStore.Images.Thumbnails.MICRO_KIND, null);