Java Platformunun Temel Kavramları
- Kotlin, Java ve Scala'dan nasıl ortaya çıktı?
- Mevcut JSE platformu ve araç seti
- Google Android'i Oracle'dan neden kopardı?
- Java 8+ özellikleri Android'de mevcut değil
- Kotlin Android'de kodlamayı nasıl modernleştiriyor?
- IntelliJ Community'de Kotlin projeleri oluşturma
- Android Studio'da mobil uygulamalar oluşturma
JSE ve Android'de Temel Araçlar
- XCode ile Android Studio'yu Karşılaştırma
- Gradle kullanarak bağımlılıkları yönetme
- Android emülatörlerinin artıları ve eksileri
- Intel HAXM emülasyon hızlarını nasıl artırır?
- Test için örnek cihazları yapılandırma
- Cihazlarda bulunan geliştirici özellikleri
- ADB kullanarak komut satırı etkileşimi
Android Studio'dan En İyi Şekilde Yararlanma
- Android Studio'nun temel işlevleri
- Kotlin kod tabanlarını düzenlemek için en iyi uygulamalar
- Düzen Denetçisi ve Düzenleyici ile Çalışma
- SDK ve AVD Yöneticisinin Yapılandırılması
- Profiler aracılığıyla kaynak kullanımını izleme
- LogCat aracılığıyla günlükleri görüntüleme ve filtreleme
Swift'ten Kotlin'e Dönüştürme
- Temel sözdiziminde küçük değişiklikler
- Kotlin ve Swift'te Değişkenlik
- OO ve FP desteğindeki benzerlikler
- Kotlin'de sınıf uzantılarının sınırlamaları
- Koleksiyonlarla çalışma farklılıkları
- Swift ve Kotlin'de aralıkları temsil etme
- Swift'teki opsiyonellere karşı Kotlin'de null güvenliği
- Swift'te tuples, Kotlin'de Pair ve Triple vardır
- Kotlin'de veri sınıflarını ve listeleri yeniden yapılandırma
- Kapanışlardaki parametreler için steno gösterim
- Swift'teki protokolleri Kotlin arayüzleriyle karşılaştırma
- Yansıma ve delegelerden yararlanma
Android Uygulamalarının Temelleri
- Android'in Storyboard eşdeğeri yoktur
- Manifesto Dosyasını Anlama ve Düzenleme
- Android Aktiviteleri ve Fragmanlarına Giriş
- Faaliyetler ve Parçalar Arasında Gezinme
- Bir cihaz bir Faaliyetin yaşam döngüsünü nasıl yönetir?
- MVVM kalıbı etrafında bir uygulama tasarlama
- Verileri modele itmek için veritabanı bağlamayı kullanma
Temel Kullanıcı Arayüzleri Oluşturma
- Görünüm hiyerarşisini XML olarak belirtme
- Kodda hiyerarşi belirtmekten kaçınmak için nedenler
- IDE'deki 'sürükle ve bırak' yaklaşımının sınırları
- Standart Android widget'larını kullanma ve birleştirme
- Destek kütüphaneleri ve Android'in eski sürümlerini hedefleme
- Metinsel girdiyi kabul ederken özel dikkat
- Düzen oluşturarak ve iç içe yerleştirerek widget'ları konumlandırma
- Görünümlere olay işleyicileri eklemek için farklı seçenekler
- Görünümleri veri kaynaklarına bağlamak için bağlama bağdaştırıcılarını kullanma
- Stilleri ve temaları kullanarak widget'ları özelleştirme
- Mevcut widget'ları genişleterek yeni widget'lar oluşturma
Kullanıcı Arayüzünün Geliştirilmesi
- Bir Faaliyetin yaşam döngüsünü anlama
- Geri aramalar ve paketler aracılığıyla değiştirilebilir durum nasıl korunur?
- Niyetler aracılığıyla bir faaliyeti diğerinden başlatma
- Filtreleme ve alıcılar kullanarak amaçları işleme
- Çeşitli konumlarda dosya oluşturma ve kullanma
- Kotlin Coroutines'in AsyncTask'a Göre Avantajları
- JetBrains Kotlin Android Uzantılarını Kullanma
- Google Android Kotlin Uzantılarını Kullanma
Bağımlılık Enjeksiyonu
- DI için Dagger çerçevesini kullanma
- Derleme Zamanı Enjeksiyonunu Anlama
- Bağımlılıkları @Inject aracılığıyla yapılandırma
- Fabrika yöntemleri için @Provides kullanma
- Faaliyetlere enjekte ederken dikkat edilmesi gerekenler
Android'de Reaktif Kodlama
- Rx ve RxJava çerçevesinin gözden geçirilmesi
- Sözdizimsel şeker için RxKotlin kullanma
- Rx ve Kotlin Coroutines'i Birleştirme
RESTful Hizmetlerine Erişim
- Retrofit kütüphanesi ile tanışın
- Ek açıklamalar aracılığıyla hizmet istemcileri oluşturma
- Retrofit'te reaktif akışlar için destek
- JSON ve XML'e ve XML'den Marshalling
- Nesne serileştirmeyi özelleştirme
Android'de Kalıcılık
- Android cihazlarda desteklenen veritabanları
- Room kullanarak SQLite'ta veri kalıcı hale getirme
- Varlık Türlerini belirtmek için ek açıklamaları kullanma
- Veri Erişim Nesnelerini belirtmek için ek açıklamaları kullanma
- Veritabanlarını şema sürümleri arasında taşıma
- Test için veritabanlarını değiştirme
Android'de Güvenlik
- Android Keystore aracılığıyla anahtar çiftlerini yönetme
- Güvenlik modeli ve mevcut izinler
- Kullanıcıdan izinleri almasını isteme
- Dağıtım için uygulamaları imzalama
Arka Plan İşlemleri
- Android hizmetleri ve yaşam döngüleri
- İşleri planlamak için İş Yöneticisini kullanma
Android Uygulamalarını Test Etme
- JUnit, Mockito ve Hamcrest ile TDD
- Espresso ile Kullanıcı Arayüzü testi
- CI/CD'de test çalıştırmak için en iyi uygulamalar
- RESTful hizmetleri taklit etme seçenekleri
Uygulamaları Dağıtma ve İzleme
- Beta sürümleri dağıtmak için platformlar
- Kazaların kaydedilmesi ve raporlanması için seçenekler
- Tüm sistemi izlemeye yönelik teknikler