2011-12-09 9 views
1

私は十分に簡単なことをしようとしていますが、私は本当に悪い形になっています。標準のAndroidギャラリーを自分のアプリの基礎として使用

すべてのAndroid搭載端末で見つけられる基本ギャラリーを取得(または構築)する方法はありますか? SDカード内のすべての画像をスキャンして、左右にスライドする画面にそれらを表示するシンプルなもの...

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

MediaStoreベースのURIに基づいて同じことはしていませんか?

ありがとうございます。これは本当にばかな質問です。

+0

わからない...また、それをチェックし、場合にも取り組んで下にコメントしていますそのレイアウトの中央に画像を入れたりparent.Iを埋めるために画像を与えます新しいビューを書く。あなたはアンドロイドのUIの基本に慣れてきましたか? –

+0

うわー....全く役に立たないGoogleコード。あなたはGoogleのコードに挑戦する人です:D –

答えて

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; 

    } 
+0

答えをいただき、ありがとうございました。私は最後に、coolirisが構築した3Dギャラリーか、GITの以前のバージョンの古いデバイス用のシアンジェンを使用しました。それを実行させるには大量の作業が必要でしたが、このトピックの包括的な理解を深めるには良いコードです。 –

関連する問題