Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Android KTX: 25 dicas em 25 minutos!

Android KTX: 25 dicas em 25 minutos!

Slides do um talk realizado na trilha Android da The Developer Conference São Paulo, que aconteceu em São Paulo, no dia 18 de julho de 2018.

O talk foi sobre uma breve introdução ao Android KTX, a estrutura do projeto, alguns exemplos rápidos e como utilizá-la no seu projeto!

Link: http://www.thedevelopersconference.com.br/tdc/2018/saopaulo/trilha-android

B567f69eed037ed20536fc825305a38d?s=128

Walmyr Carvalho

July 18, 2018
Tweet

Transcript

  1. Walmyr Carvalho #TheDevConf #trilhaAndroid Android KTX: 25 dicas em 25

    minutos! +
  2. Walmyr Carvalho @walmyrcarvalho

  3. None
  4. Contexto

  5. Fato: Kotlin veio pra ficar! —

  6. None
  7. Outro fato: Todo profissional Android quer boas ferramentas para se

    trabalhar.
  8. None
  9. None
  10. Android KTX

  11. 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
  12. Setup

  13. repositories { google() } build.gradle

  14. dependencies { implementation 'androidx.core:core-ktx:1.0.0-alpha1' } app/build.gradle

  15. Exemplos

  16. // Kotlin sharedPreferences.edit() .putBoolean("key", value) .apply() // Kotlin + Android

    KTX sharedPreferences.edit { putBoolean("key", value) }
  17. // Kotlin db.beginTransaction() try { // insira os dados db.setTransactionSuccessful()

    } finally { db.endTransaction() } // Kotlin + Android KTX db.transaction { // insira os dados }
  18. // Kotlin view.viewTreeObserver.addOnPreDrawListener( object : ViewTreeObserver.OnPreDrawListener { override fun onPreDraw():

    Boolean { viewTreeObserver.removeOnPreDrawListener(this) actionToBeTriggered() return true } } ) // Kotlin + Android KTX view.doOnPreDraw { actionToBeTriggered() }
  19. context.withStyledAttributes(set = someAttributeSet, attrs = attributes, defStyleAttr = ..., defStyleRes

    = ...) { // do your rolê } context.withStyledAttributes(set = someAttributeSet, attrs = attributes) { // do your rolê }
  20. Demonstração

  21. Android KTX - GitHub github.com/android/android-ktx

  22. Resumindo

  23. Dever de: Use o Android KTX como referência e crie

    as suas próprias extensions!
  24. Dúvidas?

  25. Links úteis

  26. Android Sunflower (alpha) github.com/googlesamples/android-sunflower

  27. Android KTX - GitHub github.com/android/android-ktx

  28. Kotlin & Android KTX - Jake Wharton (Google I/O ’18)

    youtu.be/st1XVfkDWqk
  29. Android Jetpack developer.android.com/jetpack/

  30. Kotlin - Site Oficial kotlinlang.org

  31. Kotlin Meetup SP meetup.com/kotlin-meetup-sp

  32. Android Dev BR slack.androiddevbr.org

  33. Muito obrigado! ♥

  34. Créditos de imagem NeONBRAND (Unsplash) bit.ly/2zR1rw2