Android KTX Nedir ?

Merhabalar Arkadaşlar,

Bugünkü yazımda sizlere Google’ın Şubat ayında kullanıcılara sunduğu KTX yapısından bahsetmeye çalışacağım. Mayıs ayında yapılan konferansta ise bu yapı Jetpack ailesine katıldı. Bu yapıya ise gelecek yazıda derinlemesine bakacağız. Hazırsanız haydi başlayalım :)

Android KTX , Android ile ilgili uygulama geliştirirken daha kısa, sade ve hoş bir şekilde Kotlin kodu yazılması için tasarlanan bir dizi eklentidir.

Android KTX, hem Android Framework’ün hem de Destek Kitaplığınızın (Support Library) üstüne güzel bir API katmanı sağlayarak, Kotlin kodunuzu daha doğal yazmanızı sağlamaktadır.

Android KTX, Android Jetpack ailesinin bir parçası olan bir dizi Kotlin uzantısıdır.

Android KTX, mevcut Android API’lerine yeni özellikler eklememektedir.

Youtube da Android KTX yapısı ile ilgili ilk tanıtımı Android Developer kanalı yapmıştır. Bu tanıtım videosuna aşağıdaki linkten ulaşabilirsiniz :

Tanıtım videosuna blog yazısından ulaştım. Yeni eklemelerden sonra bu videoyu liste dışı etmişler. Bir sonraki yazıda yepyeni haliyle sizlere Android KTX’ten bahsedeceğim :)

Android KTX ile ilgili Örnekler

android ktx ile ilgili görsel sonucu

Android - Kotlin projelerinizde Android KTX kullanmaya başlamak için, uygulama modülünüzün build.gradle dosyasına aşağıdakileri eklemeniz gerekmektedir :

repositories {
google()
}

dependencies {
// Android KTX for framework API
implementation 'androidx.core:core-ktx:0.1'
...
}

Ardından, projenizi senkronize ettikten sonra, uzantılar otomatik olarak IDE’nin otomatik tamamlama listesinde görünür. Bir uzantı seçmek, gerekli import ifadesini otomatik olarak dosyanıza ekler.

Aşağıda Android KTX ile ilgili çeşitli örnekler verilmiştir. Kotlin kullanarak ve Android KTX kullanarak nasıl bir fark oluyor aşağıdaki örneklerden anlayabilirsiniz.

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — -

String to Uri Example

Kotlin:

val uri = Uri.parse(myUriString)

Kotlin with Android KTX:

val uri = myUriString.toUri()

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — -

Shared Preferences Example

Kotlin:

sharedPreferences.edit()
.putBoolean("key", value)
.apply()

Kotlin with Android KTX:

sharedPreferences.edit {
putBoolean("key", value)
}

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — -

Canvas Example

Kotlin:

val pathDifference = Path(myPath1).apply {
op(myPath2, Path.Op.DIFFERENCE)
}
canvas.apply {
val checkpoint = save()
translate(0F, 100F)
drawPath(pathDifference, myPaint)
restoreToCount(checkpoint)
}

Kotlin with Android KTX:

val pathDifference = myPath1 - myPath2
canvas.withTranslation(y = 100F) {
drawPath(pathDifference, myPaint)
}

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — -

Graphics Example

Kotlin:

view.viewTreeObserver.addOnPreDrawListener(
object : ViewTreeObserver.OnPreDrawListener {
override fun onPreDraw(): Boolean {
viewTreeObserver.removeOnPreDrawListener(this)
actionToBeTriggered()
return true
}
})

Kotlin with Android KTX:

view.doOnPreDraw {
actionToBeTriggered()
}

Android KTX ile ilgili temel birkaç örnek verdik. Aşağıdaki github adresinden Android KTX ile ilgili ayrıntılı bilgileri bulup, projeye destek olabilirsiniz.

Yararlandığım Linkler

Evet arkadaşlar bu yazımda sizlere kısaca bir Android KTX yapısından bahsettim. Bir sonraki yazımda ise Derinlemesine Jetpack ailesine bakacağız. Kendinize iyi bakın. Herkese Bol kodlu günler dilerim :)

Aşağıdaki adreslerden bana ulaşabilirsiniz :