Skip to content

mendess12/mobillium-staj-task2

Repository files navigation

mobillium-staj-task2

Konu

 Liste ve detay ekranları arasında veri paslayarak navigasyon/geçiş yapma 

Navigasyon için 3 farklı yolu uygulanacak.

1- Activity - Activity arasında navigasyon ve veri paslama
2- Fragment - Fragment arasında navigasyon ve veri paslama
3- Navigation Components kullanarak Fragment'lar arası navigasyon ve veri paslama
4- Fragment Result API ile veri paslama


Navigation component dependencies

- build.gradle (:app)

dependencies {
    def nav_version = "2.5.3"
    implementation("androidx.navigation:navigation-fragment-ktx:$nav_version")
    implementation("androidx.navigation:navigation-ui-ktx:$nav_version")
}
plugins{ id 'androidx.navigation.safeargs.kotlin' }
- build.gradle(project) dependencies { def nav_version = "2.5.3" classpath("androidx.navigation:navigation-safe-args-gradle-plugin:$nav_version") }

Hedef

1- Öncelikle her iki ekranı activity olarak tasarlayıp, ilgili liste item'a tıklanınca detay activity ekranını açılacak. Detay ekranına giderken Liste item'da gördülen tüm dataları da detay ekranına paslayıp, ilgili yerlerde setlenecek.
2- Sonrasında ayrı bir activity oluşturup, bu activity'ye ait 2 ayrı fragment oluşturulacak: Liste ve Detay. Fragment'lar arasında argument setleyerek ilgili dataları paslayarak, navigasyon tamamlanacak.
3- Projene navigation component'in ekli olduğundan emin olduktan sonra, ayrı bir activity oluşturulacak. Bu activity altında Liste ve Detay için 2 yeni fragment oluşturulacak. Bir nav graph oluşturulup, kurulumu yapılacak. Navigation component ve SafeArgs kullanarak bu 2 fragment arasında data paslayarak, navigasyon tamamlanacak.
4- Son olarak, navigation component için oluşturulan fragment'lardan detay ekranında bulunan refresh iconuna tıklanınca, rastgele min-max sıcaklık değerleri arasında bir sayıyı, o günün sıcaklık değerine setlenecek. Setlenen değer, verileri güncelle butonuna basınca Fragment Result API kullanarak Liste fragment'ındaki değeri güncellemek için kullanılacak. Geri geldiğinde atanan son random sıcaklık değeri ilgili item'daki sıcaklık değerine setlenmiş olacak.


Kaynaklar