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

Desenvolvimento de Apps Modernas em Android com Room [PT]

Desenvolvimento de Apps Modernas em Android com Room [PT]

Slides da palestra ministrada na comunidade Fênix Innovation, sobre utilização na prática da biblioteca Room.

Manuel Ernesto

October 10, 2020
Tweet

More Decks by Manuel Ernesto

Other Decks in Programming

Transcript

  1. Manuel Ernesto Twitter: @manuelernest0 Medium: @manuelernesto Desenvolvimento de Apps Modernas

    em Android com Room
  2. Biblioteca Android Parte do Android Jetpack Camada de abstracção sobre

    o banco de dados SQLite Cache Android Room
  3. Biblioteca Android Parte do Android Jetpack Camada de abstracção sobre

    o banco de dados SQLite Cache Android Room
  4. Biblioteca Android Parte do Android Jetpack Camada de abstracção sobre

    o banco de dados SQLite Cache Android Room
  5. Biblioteca Android Parte do Android Jetpack Camada de abstracção sobre

    o banco de dados SQLite Cache Android Room
  6. Verificação em tempo de compilação das consultas SQL Construído para

    trabalhar com LiveData e ViewModel Facilidade no mapeamento das entidades da base de dados para objectos Kotlin/Java Vantagens
  7. Verificação em tempo de compilação das consultas SQL Construído para

    trabalhar com LiveData e ViewModel Facilidade no mapeamento das entidades da base de dados para objectos Kotlin/Java Vantagens
  8. Verificação em tempo de compilação das consultas SQL Construído para

    trabalhar com LiveData e ViewModel Facilidade no mapeamento das entidades da base de dados para objectos Kotlin/Java Vantagens
  9. Arquitectura

  10. Database Entity DAO Componentes @Database(entities = [Palestrante::class], version = 1)

    abstract class PalestranteDB: RoomDatabase() { abstract fun dao(): PalestranteDA }
  11. Database Entity DAO Componentes @Entity(tableName = "db.palestrante") data class Palestrante(

    @PrimaryKey(autoGenerate = true) var id: Int, @ColumnInfo(name = "nome_palestrante") val nome: String )
  12. Database Entity DAO Componentes @Dao interface DAO { @Insert suspend

    fun salvar(user: Utilizador) @Query("SELECT * FROM db.user") suspend fun buscarTodos(): List<Utilizador> @Update suspend fun actualizar(user: Utilizador) @Delete suspend fun apagar(user: Utilizador) }
  13. Configuração def room_version = "2.2.5" implementation "androidx.room:room-runtime:$room_version" kapt "androidx.room:room-compiler:$room_version"

  14. Configuração implementation "androidx.room:room-ktx:$room_version" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.9"

  15. Projeto Demo

  16. DEMO ‍

  17. https://medium.com/@manuelernesto/android-room-na-pr%C3%A1tica-b54ecc769064 https://github.com/manuelernesto/android-room-demo-talk https://developer.android.com/topic/libraries/architecture/room https://developer.android.com/jetpack Links ⛓

  18. Obrigado Desenvolvimento de Apps Modernas em Android com Room Twitter:

    @manuelernest0 Medium: @manuelernesto Github: @manuelernesto