2014-02-14 8 views
1

누구나 Android 갤러리에 표시되는 모든 이미지의 목록을 가져 오는 방법을 알고 계십니까?모든 사진의 목록 가져 오기 (온라인에 저장된 사진조차도) - Picasa 이미지 데이터베이스 Uri?

이 쿼리는 전화로 찍은 사진 만 가져옵니다. 누구든지 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."); 
} 

답변

0

확인은 내 코드와 코드가 난 그냥이 라인

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); 


} 

} 
+1

답장을 보내 주셔서 감사합니다. 그러나 이것은 효과가 없으며 여전히 로컬 이미지 만 반환합니다. 온라인 (피카사)에있는 이미지는 쿼리 – user3309114

+0

에 의해 반환되지 않습니다.이 갤러리에 대해서만 이미 돌아 왔습니다. –

+0

감사합니다. 내 코드에서도이 작업을 수행했습니다. 특별히 * 온라인 * Picasa 사진을 찾고 있었는데 ... Google이 제공하는 Picasa API를 사용하여 수동으로 구현해야한다고 생각합니다. – user3309114