MVVM(Model View ViewModel) ejemplo en Kotlin usando los componentes : ViewModel, LiveData, las bibliotecas Retrofit, Glide y Mockito para pruebas unitarias.
Android MVVM https://docs.google.com/presentation/d/1nTwtU8OWYs_8Q3i_3hOPAWodDpDKzO--uA-4b6LUr8g/edit?usp=sharing
Android MVVM Clean https://docs.google.com/presentation/d/1luTzvqGaMjVycEx109-AjYIj3FIpXYAt3Mnu-gjqxtc/edit?usp=sharing
-
Se agregó State Flow. branch state-flow
-
Se agregó jetpack compose. branch compose
-
Se agregó la biblioteca rxjava. branch rx-kotlin
-
Se agregó la biblioteca navigation component. branch navigation-component
-
Se agregó soporte a viewbinding y se removió kotlin extensions. branch viewbinding
-
Se agregó inyección de dependencias con Hilt dependency, incluye android tests. branch hilt
-
Se agregó tests unitarios con Flow branch flow
-
Se agregó Kotlin Flow y la dependencias Fragment Ktx branch flow
-
Se agregó un ejemplo con Room branch room
-
Se agregó View Binding branch viewbinding
-
Se actualizó las versiones de las dependencias del proyecto y se removio la clase ViewModelProviders(deprecated). all branches
-
Se agregó coroutines con Retrofit y sealed classes(clases selladas) para reemplazar los callbacks. Incluye tests unitarios con coroutines. branch coroutines
-
Se agregó Koin, framework de inyección de dependencias escrito en Kotlin, Incluye también integración con Mockito para los tests unitarios.(11th Oct) branch koin
-
Se agregó tests unitarios con Mockito (27th May) Link
-
Se resolvió la carga de images en Android 9.0(Pie) por Carlos Ugaz carlosgub Link
- Retrofit 2 version: '2.3.0'
- OkHttp 3 version: '3.4.1'
- Glide version: '4.9.0'
- AndroidX version: '1.2.0'
- Arch Lifecycle version: '2.4.0'
- Mockito version: '2.27.0'
- Arch Testing version: '2.4.0'
- ViewModel https://developer.android.com/topic/libraries/architecture/viewmodel
- LiveData https://developer.android.com/topic/libraries/architecture/livedata
- Android Architecture Blueprints https://github.com/googlesamples/android-architecture
- Android Jetpack: ViewModel https://www.youtube.com/watch?v=5qlIPTDE274
- Mockito : https://site.mockito.org/
- Unit Testing + Mockito + Kotlin + Architecture components https://medium.com/@marco_cattaneo/unit-testing-with-mockito-on-kotlin-android-project-with-architecture-components-2059eb637912
- Junit + LiveData https://jeroenmols.com/blog/2019/01/17/livedatajunit5/
Si deseas contribuir en este repositorio, por favor enviar un Pull Request o si quieres reportar algún error por favor enviar a https://github.com/emedinaa/kotlin-mvvm/issues
Cualquier duda o consulta es bienvenida. También, si consideras que este repositorio útil, puedes darle una estrella ⭐ ⭐ ⭐.