Android Kotlin-Glide kütüphanesi kullanımı
Glide, Android için hızlı ve etkili bir resim yükleme kütüphanesidir. Uygulamanızda büyük boyutta resimleri kullanmak uygulamanın kapatılması ve açılması sırasında kullanımı yavaşlatabilir. Büyük resimleri kullanırken direkt olarak kullanmak yerine Glide gibi bir kütüphaneden faydalanmak özellikle performans açısından daha avantajlıdır. Ayrıca kodlarımızda akıcılık sağlar.
Android ile yeni bir Kotlin projesi açalım ve aşağıdaki adımları takip edelim
1-) Glide kütüphanesini uygulamaya dahil edelim
repositories {
mavenCentral()
google()
}
dependencies {
implementation 'com.github.bumptech.glide:glide:4.10.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.10.0'
}
Uygulamamız içinde glide kütüphanesini kurmuş olduk. Şimdi glide’ı rahatlıkla kullanabiliriz.
2-)Glide kütüphanesi ile çalışmaya başlayalım
Xml klasörünü istediğimize uygun şekilde düzenleyelim.
Örnek uygulamada yaptığım checkboxlara tıklandığı takdirde drawable klasöründe bulunan 3(üç) farklı resmi bize gösterecektir.
Glide’ı kullanmak için tek yapmamız gereken kullanmak istediğimiz yere bu kodu eklemek:
Glide.with(this).load(URL).into(ImageView)
Glide.with( ) → Bize glide’ı nerede kullanmak istediğimizi soruyor . This diyerek bu context’i seçtiğimizi belirtiyoruz.
load( ) → İçerisine neyi yükleyeceğimizi belirtiyoruz.
into( ) → Nereye yükleyeceğimizi belirtiyoruz
Uygulamamız çalışıp checkboxlara tıklandığı takdirde resimlerimiz drawable klasöründen çağrılmış olacaktır.
open class MainActivity : AppCompatActivity(), View.OnClickListener {
override fun onClick(v: View?) {
v as CheckBox
var isChecked: Boolean = v.isChecked
when(v.id){
R.id.cbYoga1 -> if (isChecked){
Glide.with(this).load(R.drawable.yoga1).into(imgPosition)
}
R.id.cbYoga2 -> if(isChecked){
Glide.with(this).load(R.drawable.yoga2).into(imgPosition)
}
R.id.cbYoga3 -> if (isChecked){
Glide.with(this).load(R.drawable.yoga3).into(imgPosition)
}
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
cbYoga1.setOnClickListener(this)
cbYoga2.setOnClickListener(this)
cbYoga3.setOnClickListener(this)
}
}