Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Walmyr Carvalho #TheDevConf #trilhaAndroid Android KTX: 25 dicas em 25 minutos! +
Slide 2
Slide 2 text
Walmyr Carvalho @walmyrcarvalho
Slide 3
Slide 3 text
No content
Slide 4
Slide 4 text
Contexto
Slide 5
Slide 5 text
Fato: Kotlin veio pra ficar! —
Slide 6
Slide 6 text
No content
Slide 7
Slide 7 text
Outro fato: Todo profissional Android quer boas ferramentas para se trabalhar.
Slide 8
Slide 8 text
No content
Slide 9
Slide 9 text
No content
Slide 10
Slide 10 text
Android KTX
Slide 11
Slide 11 text
Módulo (artefato) Versão Pacotes androidx.core:core-ktx 1.0.0-alpha1 Todos os pacotes core abaixo androidx.fragment:fragment-ktx 1.0.0-alpha1 androidx.fragment.app androidx.palette:palette-ktx 1.0.0-alpha1 androidx.palette.graphics androidx.sqlite:sqlite-ktx 1.0.0-alpha1 androidx.sqlite.db androidx.collection:collection-ktx 1.0.0-alpha1 androidx.collection androidx.lifecycle:lifecycle-viewmodel-ktx 2.0.0-alpha1 androidx.lifecycle androidx.lifecycle:lifecycle-reactivestreams-ktx 2.0.0-alpha1 androidx.lifecycle android.arch.navigation:navigation-common-ktx 1.0.0-alpha01 androidx.navigation android.arch.navigation:navigation-fragment-ktx 1.0.0-alpha01 androidx.navigation.fragment android.arch.navigation:navigation-runtime-ktx 1.0.0-alpha01 androidx.navigation android.arch.navigation:navigation-testing-ktx 1.0.0-alpha01 androidx.navigation.testing android.arch.navigation:navigation-ui-ktx 1.0.0-alpha01 androidx.navigation.ui android.arch.work:work-runtime-ktx 1.0.0-alpha01 androidx.work.ktx Fonte: developer.android.com/kotlin/ktx
Slide 12
Slide 12 text
Setup
Slide 13
Slide 13 text
repositories { google() } build.gradle
Slide 14
Slide 14 text
dependencies { implementation 'androidx.core:core-ktx:1.0.0-alpha1' } app/build.gradle
Slide 15
Slide 15 text
Exemplos
Slide 16
Slide 16 text
// Kotlin sharedPreferences.edit() .putBoolean("key", value) .apply() // Kotlin + Android KTX sharedPreferences.edit { putBoolean("key", value) }
Slide 17
Slide 17 text
// Kotlin db.beginTransaction() try { // insira os dados db.setTransactionSuccessful() } finally { db.endTransaction() } // Kotlin + Android KTX db.transaction { // insira os dados }
Slide 18
Slide 18 text
// Kotlin view.viewTreeObserver.addOnPreDrawListener( object : ViewTreeObserver.OnPreDrawListener { override fun onPreDraw(): Boolean { viewTreeObserver.removeOnPreDrawListener(this) actionToBeTriggered() return true } } ) // Kotlin + Android KTX view.doOnPreDraw { actionToBeTriggered() }
Slide 19
Slide 19 text
context.withStyledAttributes(set = someAttributeSet, attrs = attributes, defStyleAttr = ..., defStyleRes = ...) { // do your rolê } context.withStyledAttributes(set = someAttributeSet, attrs = attributes) { // do your rolê }
Slide 20
Slide 20 text
Demonstração
Slide 21
Slide 21 text
Android KTX - GitHub github.com/android/android-ktx
Slide 22
Slide 22 text
Resumindo
Slide 23
Slide 23 text
Dever de: Use o Android KTX como referência e crie as suas próprias extensions!
Slide 24
Slide 24 text
Dúvidas?
Slide 25
Slide 25 text
Links úteis
Slide 26
Slide 26 text
Android Sunflower (alpha) github.com/googlesamples/android-sunflower
Slide 27
Slide 27 text
Android KTX - GitHub github.com/android/android-ktx
Slide 28
Slide 28 text
Kotlin & Android KTX - Jake Wharton (Google I/O ’18) youtu.be/st1XVfkDWqk
Slide 29
Slide 29 text
Android Jetpack developer.android.com/jetpack/
Slide 30
Slide 30 text
Kotlin - Site Oficial kotlinlang.org
Slide 31
Slide 31 text
Kotlin Meetup SP meetup.com/kotlin-meetup-sp
Slide 32
Slide 32 text
Android Dev BR slack.androiddevbr.org
Slide 33
Slide 33 text
Muito obrigado! ♥
Slide 34
Slide 34 text
Créditos de imagem NeONBRAND (Unsplash) bit.ly/2zR1rw2