Andoridde Context ve Alert Dialog Kullanımı
Activity Context
Activity Context, yalnızca ilgili aktiviteye bağlı olan bağlamdır. UI bileşenleriyle (AlertDialog, Toast, Intent vb.) etkileşim için kullanılır.
İlgili kütüphanesini import etmemiz gerekiyor,
import android.widget.Toast
. Ayrıcashow()
fonksiyonunu da görüntülemek için çağırmamız gerekiyor.
Toast.makeText(this@MainActivity,"Uygulamaya Hoşgeldiniz",Toast.LENGTH_LONG).show()
Bu kodda this@MainActivity yerine sadece this yazabiliriz ama alışmak için this@MainActivity daha iyi olur çünkü bazı kullanımlarda sadece this yeterli olmuyor.
App Context
App Context, uygulamanın genel yaşam döngüsüne bağlı, tüm uygulama boyunca geçerli olan bağlamdır. Genellikle servisler, bildirimler veya uzun ömürlü işlemler için kullanılır.
Toast.makeText(applicationContext,"Uygulamaya Hoşgeldiniz",Toast.LENGTH_LONG).show()

Görüleceği üzere iki türlü de ekranın aşağısında Toast mesajımız görüntülendi.
Alert Dialog Kullanımı
Alert Dialog, uygulamanın kullanıcıya önemli bilgiler vermek veya onay istemek için kullanılan bir yöntemdir.
Yukarıda resmi olan örnekte Kaydet butonuna tıklandığında Alert Dialog görüntülemek için adını kaydet koyduğumuz onClick fonksiyonunu şu şekilde tanımlayabiliriz:
val alert = AlertDialog.Builder(this@MainActivity) //applicationContext olsa hata vercekti
alert.setTitle("Kayıt Edilecek")
alert.setMessage("Kayıt işlemini yapmak istediğinize emin misiniz?")

Bu kodda AlertDialog.Builder fonksiyonunu kullanarak AlertDialog oluşturuyoruz ve başarılı bir şekilde AlertDialog görüntülendi.
Şimdi bu pencereye buton ekleyerek işlemleri tamamlayalım. Basılan butona göre aşağıda bir toast mesajı görüntüleyelim.
alert.setPositiveButton("Evet") { dialog, which ->
Toast.makeText(this@MainActivity,"Kayıt Tamamlandı", Toast.LENGTH_LONG).show()
}
Bu şekilde de buton kodunu yazabiliriz şu şekilde obeject sınıfından türeterek de:
alert.setNegativeButton("Hayır" , object : DialogInterface.OnClickListener{
override fun onClick(dialog: DialogInterface?, which: Int) {
Toast.makeText(this@MainActivity,"Kayıt Yapılmadı", Toast.LENGTH_LONG).show()
}
})
Dikkat: Bu kod kullanımında this@MainActivity yazmamız gerekiyor, sadece this yazarsak hata verir.
Artık butonlarımızı ekledik ve alert dialogumuzda gözükecek.

Şimdi yazdığımız koda göre evete bastığımızda "Kayıt Tamamlandı", hayıra bastığımızda "Kayıt Yapılmadı" mesajı görüntüleniyor.
