2015-02-10 14 views
6

Tüm fotoğrafları telefonumda görüntülemek ve Picasso'yu kullanarak ızgara görünümünde görüntülemek istiyorum. Sorun, bunu nasıl yapacağımı bilmiyorum. Tüm telefon fotoğrafları sorgulamak için bu kullanarakTüm telefon fotoğraflarının Picasso yükleme küçük resimleri

Currentyly im:

Cursor cursor; 
    String[] columns = new String[] { 
      MediaStore.Images.ImageColumns._ID, 
      MediaStore.Images.ImageColumns.TITLE, 
      MediaStore.Images.ImageColumns.DATA}; 
    cursor = cr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, 
      columns, null, null, null); 
    int columnIndex = cursor.getColumnIndex(MediaStore.Images.Thumbnails._ID); 
    int columnPath = cursor.getColumnIndex(MediaStore.Images.Thumbnails.DATA); 

Ve MediaStore.Images.Thumbnails.getThumbnail ImageView enjekte etmek küçük resmin bit eşlem almak için.

Picasso kullanarak nasıl uygulayabilirim?

cevap

4

Oldukça basit. URI oluşturmak ve daha sonra Picasso'ya beslemek için Uri.withAppendedPath kullanın. İkincisi, sağ görüntüyü almak için dahili olarak MediaStoreRequestHandler'u kullanacaktır.

// Use the cursor you've defined (correctly) 
int columnIndex = cursor.getColumnIndex(MediaStore.Images.Thumbnails._ID); 
Uri imageURI = Uri.withAppendedPath(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, Integer.toString(columnIndex)); 
Picasso 
    .with(context) 
    .load(imageURI) 
    .fit() 
    .centerInside() 
    .into(imageView); 
+2

Bu, "columnIndex" öğesinin görüntülenecek resmin kimliği olarak sağlandığından, doğru küçük resmi elde etmeyecektir. Varsayılan projeksiyonu kullanarak, sütun dizini 0'dır, böylece medya deposunda ilk küçük resmi elde edersiniz. –

İlgili konular