Last updated
Was this helpful?
Last updated
Was this helpful?
👁️ Açık kaynaklıdır (Java 13 kapalı, openJDK hariç)
🕰️ Java 8 eskidir, java 13 çıkmıştır
🚀 Proje Kotlin dahi olsa Java sınıfları oluşturabilirsin
💫 Java kodlarını Convert Java File to Kotlin
komutu ile Kotlin kodlarına çevirebilirsin
💁♂️ Tüm paketi çevirmek için paketi seç ve bu komutu kullan
👀 Neden geçmen gerektiğini öğrenmek için yazıyı okumaya devam et
📢 Çok büyük projeleri parça parça geçirmeniz tavsiye edilir
💦 Java'daki final
yapısı yerine daha sade bir arayüz sunar
🚀 Değişken türlerinin tanımlanmasına gerek yoktur
😱 Fonksiyon değişkenleri tanımlanabilir
⚡ Statik değişkenler için scope sunar
🕐 Daha sonra tanımlanacak değişkenler oluşturulabilir (lateinit
)
✨ Java'daki NullPointerException
hatalarına odaklı bir çalışmadır
🌌 Objeler null olabilir veya null olamaz şeklinde oluşturulur
💁♂️ Default olarak null olamaz olarak atanır
📈 Kotlin class
veya data class
yapısı ile get
ve set
kullanımı gerekmez
🙄 Java ile resmin solundaki yapı gereklidir
🌌 Get set olmadan direkt olarak kullanabilirsiniz
🧙♂ Kotlin, onu sizin için halletmekte
🤝 Koşullu değer atama işlemlerini destekler
📈 Sıradan switch yapısına göre daha verimlidir
💦 Gereksiz yere parantez (
kullanımı yoktur
⚙️ Bu yapı ile otomatik olarak son fonksiyona tanımlanan işlemler atanır
📢 Functional argument olursa, sadece metot {}
kullanılması durumunda sadece son argümana değer atanır
💁♂️ Tanımlı olan sınıflara .
operatörü ile metotlar ekleyebilirsiniz
👇 Alttaki örnekte Uri
sınıfına getInputStream
metodu ekliyoruz
📢
Uri
sınıfı temel java sınıflarından birisidir
🎯 Range metodu kullanılarak diziler parçalanabilmekte
🐥 Çok kolay kullanımı vardır
🐍 Python dizi parçalama işlemlerine benzemektedir
🚀 toTypedArray
eklentisi ile direkt olarak List'i argümana çevirebilirsiniz
📈 Java'dan çok daha verimli
✨ Değişkenlerin adları ile onlara değer atayabilirsin
⭐ Python gibi dillerde olan bir kullanımdır
📢 Functional argument olursa, sadece metot {}
kullanılması durumunda sadece son argümana değer atanır
💁♂️ Fonksiyonlar obje ise parametre olarak da kullanılabilir
👪 Bir değişkenin birden fazla metodunu kullanmayı sağar
🐣 Apply objelerine değer atarsınız
▶️ Run ile alt metotlarını kullanırsın, sonucunu döndürürsünüz
🙋♂️ Let ile objeyi koşullu kullanabilirsin
💁♂️ Also ile "işlemi bitirmeden bir de bunu yap" deriz
📈 Tekrar tekrar yazmayı engeller
👇 Metotların üzerine geldiğinizde (hover) açıklamasında doküman linki olur
⭐ Link üzerinden kullanım örneklerine erişirsiniz
🔗 Kotlin otomatik olarak xml idlerini projeye dahil eder
👨💻 import kotlinx.android.synthetic.main.<layour>.*
ile dahil edilir
💦 findViewByID
metoduna gerek yoktur
📢 İzin tanımlanmadığında hata verir
💁♂️ @SupressLint("MissingPermission")
ile bunu engelleyebilirsiniz
🤭 "Ne yaptığımın farkındayım, bana bulaşma" demek gibi
🕊️ Thread işlemlerini kolaylaştıran bir hafif yapıdır
👷♂️ Coroutine
ile inline thread kullanabilirsin
👮♂️ Main (UI), IO, Default thread yapıları ile arka plan işlemlerini yönetirsiniz
✨ Otomatik olarak optimize edilirler
👮♂️ suspend
anahtar kelimesi ile thread gerektiren metotlar belirlenir
❌ Thread gerektiren metotlar UI Thread üzerinde çalıştırılamaz
🌌 Coroutine scope içerisinde kendilerine özgü thread ile çalıştırılır
👋 AsyncTask
'a elveda (zaten sevmedim 🙄)
🧐 Size birini mi anımsattı? ()
🚀 Android Kotlin Extension'ları paketi altındadır
🧙♂ Detaylı bilgi için alanına bakabilirsin.
💡 ile parametre olarak verilebilir
🧙♂ Detaylı bilgi için ve alanlarına bakabilirsin.
🧙♂ Detaylı bilgi için alanına bakabilirsin.
🧙♂ Detaylı bilgi için sayfasına bakabilirsin.
UI Thread işlemleri
Disk ve network işlemleri
CPU gerektiren işlemler
Fonksiyon çağırma
Database
Liste sıralama
View işlemleri
Dosya okuma & yazma
JSON parsing
LiveData işlemleri
Ağ işlemleri
DiffUtils
Kotlin’i Java’ya nazaran daha kullanışlı, avantajlı (ve havalı) kılan nedir, Kotlin'in avantajları nelerdir, neden Android için Kotlin kullanmalıyız? (kotlin vs java, java vs kotlin).