1

我正在尝试做一些应该足够简单的事情,但我的状态非常糟糕,因为我找不到任何一个有效的答案。

有没有办法获取(或构建)您在所有 Android 设备中找到的基本图库。扫描 SD 卡中的所有图片并在屏幕上左右滑动显示它们的简单方法......

我唯一找到的是HelloGallery;完全无用的谷歌代码将使用基于 r.drawable.xxx 文件的适配器......

除了基于 MediaStore 的 URI 之外,没有什么可以做同样的事情吗?

谢谢,对不起,如果这是一个非常愚蠢的问题。

4

1 回答 1

0

这简化了从 sdcard 扫描图像,获取所有图像 uri。你必须创建画廊类及其适配器类。如果你想左右滑动,在适配器类中采用一个布局,两者都是填充父级,并放置一个图像在该布局的中心或给图像填充父级。我在下面的情况下也有评论,也可以检查它..

public ArrayList<String> getAllImagesUri(ContentResolver mResolver) {
        ArrayList<String> imagesUris = new ArrayList<String>();
        try{

//      Cursor mCursor = mResolver.query(
//              MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
//              new String[] { MediaStore.Images.ImageColumns.DATA,MediaStore.Images.Media._ID }, null, null,
//              null);
        Cursor mCursor = mResolver.query(
                MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                new String[] {MediaStore.Images.Thumbnails.DATA ,MediaStore.Images.Thumbnails._ID }, null, null,
                null);


        startManagingCursor(mCursor);

        if (mCursor.moveToFirst()) {
            do {
                try {
                    imagesUris.add(mCursor.getString(0));
                    imagesIds.add(mCursor.getString(1));
                } catch (Exception e) {
                    e.printStackTrace();
                }
            } while (mCursor.moveToNext());
        }

        }catch (Exception e)
        {

            e.printStackTrace();
            // TODO: handle exception
        }

        return imagesUris;

    }
于 2011-12-09T04:19:12.227 回答