2011-12-09 1 views
1

쉬운 일을하려고하지만 실제로 어떤 나쁜 대답도 찾을 수 없기 때문에 나는 정말 나쁜 모양입니다.표준 Android Gallery를 내 응용 프로그램의 기초로 사용

모든 Android 기기에서 찾을 수있는 기본 갤러리를 가져 오는 (또는 빌드하는) 방법이 있습니까? SD 카드에있는 모든 사진을 스캔하여 왼쪽 및 오른쪽으로 움직이는 스크린에 보여주는 간단한 것 ...

내가 찾은 유일한 것은 HelloGallery입니다. r.drawable.xxx 파일을 기반으로하는 어댑터를 사용하는 완전히 쓸모없는 Google 코드입니다 ...

MediaStore 기반 URI를 기반으로 한 것은 없습니까?

감사합니다. 정말 바보 같은 질문 인 경우 죄송합니다.

+0

확실하지 .. 또한 그것을 확인하는 경우도 작업 아래에 주석하고 그 레이아웃의 중심에 이미지를 넣어 또는 parent.I을 채우기 위해 이미지를 제공 새보기 작성. 안드로이드 UI의 기초에 익숙해 졌습니까? –

+0

와우 .... 완전히 쓸모없는 Google 코드. 당신은 Google 코드에 도전 할 사람 : D –

답변

0

이것은 sdcard에서 이미지를 스캔하고 모든 이미지 uri를 얻는 것을 단순화합니다. 갤러리 클래스와 그 어댑터 클래스를 만들어야합니다. 어댑터 클래스에서 왼쪽과 오른쪽으로 슬라이딩하려면 fill 클래스가 하나이고, 당신이 찾고있는 것은 샘플 코드 나 조언이 경우

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에 이전에 사용하던 기기의 이전 버전을 사용했습니다. 그것을 실행하기 위해서는 많은 양의 작업이 필요했으나이 주제에 대해 포괄적 인 이해를 얻는 것이 좋은 코드입니다. –