Android URL’den Resim Ekleme

Merhaba bugün android uygulamamıza urlden nasıl resim ekleyebileceğimizi anlatacağım.Bunun için kullanımı oldukça basit bir kütüphane olan Picasso’yu kullanacağız.

Android Picasso Kurulum

Android Picasso kütüphanesini kullanabilmek için projemeize bazı eklemeler yapmamız gerekiyor.

1.Android Manifest.xml dosyasına aşağıdaki kodu ekleyerek internet iznimizi alalım.

<manifest>
  <uses-permission android:name="android.permission.INTERNET" />
      </manifest>

2.Android uygulamamızın app/build.gradle dosyasına kütüphaneyi ekleyelim.

build.gradle ayarı
dependencies {
    .....
    implementation 'com.squareup.picasso:picasso:2.5.2'
}

3.Eğer çekeceğimiz resimlerin sitesi SSL serfitikası kullanmıyorsa , yani http s yerine http ile başlıyorsa bu resmi çekerken sıkıntı oluşturabilir bu yüzden AndroidManifest.xml dosyasına bir kod daha eklememiz gerekiyor.<application tagı içerisini ekleyelim.

 android:usesCleartextTraffic="true"

Picasso URL ile resim ekleme

Gerekli ayarlarımız yaptıktan sonra kullanımı gerçekten çok basit.

String resimAdresi = "https://pbs.twimg.com/profile_images/1123830684534046722/1eGQbCYL.png";
ImageView denemeImage = (ImageView) findViewById(R.id.denemeImage);
Picasso.with(getApplicationContext()).load(resimAdresi).into(denemeImage);

Eğer resim üzerinde boyutlandırma yapıp imageViewa öyle eklemek istersek bu şu şekilde mümkün.

Picasso.with(getApplicationContext()).load(resimAdresi).resize(125, 125).
  centerCrop().into(denemeImage);

Burada isteğinize veya çalışmanıza uygunlar centerCrop() , centerInside() , fit() gibi fonksiyonları kullanabilirsiniz.

Android Picasso Cache İşlemleri

Picasso default olarak resmi hafızadan getirmeye öncelik verir.Memory özelliği kullanarak bunu defre dışı bırakabilir.

  • Memory.NO_CACHE // Resmi yüklerken Cache kullanma
  • Memory.NO_STORE // Resmi yüklerken Cache tutma
Picasso.with(getApplicationContext()).load(resimAdresi).memoryPolicy(MemoryPolicy.NO_CACHE).into(denemeImage);

Picasso.with(getApplicationContext()).load(resimAdresi).memoryPolicy(MemoryPolicy.NO_STORE).into(denemeImage);

Mert İnal

Programlamayı ve teknoloji seviyorum.Kocaeli Üniversitesi Bilgisayar Mühendisliği 4.sınıf öğrencisiyim.Bu siteyi programlama konusunda Türkçe içerik biriktirmek ve eksik olduğum konuları yazarak öğrenmek üzerine kurduk.Kodlar.Net ekibi zengin içerikler ile bir programlama arşivi biriktirmeyi hedefler.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir