获取所有照片的列表(即使是在线存储的图片) - Picasa图像数据库Uri?

时间:2014-02-14 06:42:14

标签: android picasa android-contentresolver mediastore

任何人都知道如何获取Android图库中显示的所有图片的列表?

此查询仅获取手机本地拍摄的照片。有谁知道存储Picasa图像数据库的URI?感谢帮助。

private void getListOfAllPictures()
{
    final String[] filePathColumn = { MediaStore.Images.Media._ID, MediaColumns.DATA, MediaColumns.DISPLAY_NAME, Images.Media.ORIENTATION, Images.Media.LATITUDE, Images.Media.LONGITUDE };

    Cursor cursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
            filePathColumn, null, null, null);

    Vector<ImageDescriptor> imageDescriptors = new Vector<ImageDescriptor>();
    if(cursor != null)
    {
        cursor.moveToFirst();

        int IMG_ID_INDEX        = cursor.getColumnIndex(MediaStore.Images.Media._ID);
        int DATA_INDEX          = cursor.getColumnIndex(MediaColumns.DATA);
        int LATITUDE_INDEX      = cursor.getColumnIndex(Images.Media.LATITUDE);
        int LONGITUDE_INDEX     = cursor.getColumnIndex(Images.Media.LONGITUDE);
        int ORIENTATION_INDEX   = cursor.getColumnIndex(Images.Media.ORIENTATION);

        while(!cursor.isAfterLast())
        {
            //Blah Blah

            cursor.moveToNext();
        }
    }
    cursor.close();
    Log.v(TAG, "Found " + imageDescriptors.size() + " images.");
}

1 个答案:

答案 0 :(得分:0)

好吧,我的代码,它对我有用,它可以提供我在Android Gallery中可以看到的所有图像 只需从此行调用此函数

  getallimages(Environment.getExternalStorageDirectory());

我的功能在

之下
private void getallimages(File dir)
    {

                String[] STAR = { "*" };

        final String orderBy = MediaStore.Images.Media.DEFAULT_SORT_ORDER;
        Cursor imagecursor = cntx.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, STAR, null, null, orderBy);
        int image_column_index = imagecursor.getColumnIndex(MediaStore.Images.Media.DATA);
        int count = imagecursor.getCount();
        for (int i = 0; i < count; i++) {
            imagecursor.moveToPosition(i);
            int id = imagecursor.getInt(image_column_index);
            ImageItem imageItem = new ImageItem();

                imageItem.filePath = imagecursor.getString(imagecursor.getColumnIndex(MediaStore.Images.Media.DATA));

                    imageItem.id = id;
                    imageItem.selection = false; //newly added item will be selected by default
                    controller.images.add(imageItem);   


 }

}