1

私は十分に簡単なはずのことをしようとしていますが、これに対する有効な答えが1つも見つからないため、体調が非常に悪いです。

すべてのAndroidデバイスにある基本的なギャラリーを取得(または構築)する方法はありますか?SDカード内のすべての画像をスキャンし、画面に左右にスライドして表示するシンプルなもの...

私が見つけたのはHelloGalleryだけです。r.drawable.xxxファイルに基づくアダプタを使用する完全に役に立たないGoogleコード...

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 に答える