Öncelikli olarak herkese merhaba.Bu projemde Jetpack Compose ile bir ülkeler uygulaması geliştirmeye çalıştımUygulama içerisinde 6 bölge , 16 alt bölge mevcuttur. Uygulama içerisinde ülkeleri listeleyebileceğimiz,bölgelere göre ülkeleri listeleyeceğimiz,bu ülkelerin başkent,isim ve yerel bayraklarına göre ve bölgelere göre öğrenmek için yapacağımız bir Quiz kısımı ekledim.Yine ülkeleri detay sayfasında favoriye alıp daha sonra inceleyebileceğimiz bir kısım da mevcut.Ülkelerin para birimlerinin olduğu bir sayfada mevcut.Ayrıca ülkelerin isimlerine göre aratabileceğimizbir arama kısımıda eklemeyi ihmal etmedim :) . All Country kısımında ülkelerin hepsini doğrudan listelemeden kendi oluşturduğum paging algoritmasını kullandım.Bu algoritma kaydırdıkça 20 şer adet yüklenmesini sağlıyor.Yani ilk 20 adet ülke çekildikten sonra ki kaydırmada 40 adet çekiliyor. Fakat daha önce elimde 20 adet olduğu için ben hep son 20 gelen ülkeyi liste içerisine alarak işlem yaptım. Böylelikle tek seferde tüm verilerin çekilmesini engelledim ve telefondaki kasma,donma,aniden belleğin dolması gibi durumların önüne geçmeye çalıştım. Böylelikle tam fonksiyonel bir uygulama geliştirmeye çalıştım.Uygulamayı geliştirirken Stateless,Statefull,State Hoisting gibi kavramları özümseyerek kullanmaya çalıştım. Clean olması için gerekli methodları ve özellikleri de olabildiğince uygulamaya çalıştım.Gereksiz kod tekrarlarından kurtulduğum fonksiyon,class,composable lar mevcut. Kullanıcıya quizde 3 hak tanınıyor.3 yanlış sonunda butona basıp tekrar 3 hak alabiliyor.
-Flow
-Retrofit
-MVVM
-State
-Hilt
-Room
-Timber
-Coroutines
-Navigations,Arguments