6 Ağustos 2014 Çarşamba

Android te en çok karşılaşılan problemlerin çözümü bölüm 1: Asenkron Imaj doldurmak ve Cache lemek.

 

Tatlı Bir Giriş

    Android uygulama geliştirmeye yeni başlayanlardan tutun, bu konuda pişmiş kişilere kadar bir çok geliştiriciyi android den soğutan, stackoverflow da saatlerce gezip zaman kaybetmesine sebep olan bir ihtiyaç.
  Özellikle ListView lerin adapter larında en sık kullanılan bu asenkron imaj yükleme ve cache leme illeti bir çok hata kötü kod görünümü bazende kusma isteği gibi semptomlar gösterebilir.

   Bunun çözümü olarak benim kendi fikrimce en iyi 3. parti kütüphane Picasso. Square firmasında çalışan yetkili abimiz Jake Wharton ve silah arkadaşları tarafından yapılan açık kaynak kodlu bir ilaç.

  Bir çok özelliği mevcut olan bu kütüphanenin bizim işimizi görecek kadarını anlatacağım bu bölümde. Daha havalı işler yapabilmek için kendi sitesindeki açıklamaları ve github daki wiki leri okumanızı tavsiye ederim.




Önce şu jar dosyasını bir güzel projenizin libs klasörüne atıyorsunuz. Başka bir ön çalışma gerekmiyor süper!


İmaj Yükleme

Şöyle kocaman bir static Picasso class ından bir method çağırıyorsunuz. (Zincirleme method çağırılabiliyor gerçek olamayacak kadar güzel.)

Picasso.with(context)


 Şimdi burda ıcığına cıcığına girmeden bir açıklama yapıyorum. Bulunduğunuz Context i verin parametre olarak. Bu açık olan aktivitenin(Activity) kendisi olur genellikle.

Picasso.with(context).load("imaj adresi")


  Buradaki "imaj adresi"nin ne olduğunu açıklamama gerek yok sanırım.


 Picasso.with(context).load("imaj adresi").into(imageView);


Burada imajı hangi ImageView objenize yüklemek istiyorsanız onu parametre olarak girin.

Ta Daa!!!

 Bitti. İşte imajınız asenkronlu masenkronlu cacheli falan yüklendi haberiniz bile olmadı.

Daha havalı örnekler için üşenmeyin ve şu siteye bakın: Picasso

Görüşmek üzere!