Importando este plugin en el gradle podemos ahorrarnos los findViewById y tener una referencia directa de imagePhoto
apply plugin: 'kotlin-android-extensions'
Arquitectura de Software
Arquitectura en Android
Patrón de diseño vs. Arquitectura de Diseño
¿Qué es la Arquitectura de Diseño?
SOLID: Single Responsability y Open/Closed Principles
SOLID: Liskov substitution, Interface segregation y Dependency Inversion principle
Evolución de la Arquitectura en Android
Arquitectura Model View Controller (MVC)
¿Qué es la aquitectura Model View Controller (MVC)?
MVC en un Proyecto Android: Analizando el código en capas
MVC en un Proyecto Android: Llevando el código a sus responsabilidades
Arquitectura Model View Presenter (MVP)
¿Qué es la aquitectura Model View Presenter (MVP)?
¿Qué es Clean Architecture?
Composición en Clases
Model View Presenter explicado
Capa Model
MVP en un Proyecto Android: Presenters y Views
MVP en un Proyecto Android: Model
Ubicando el código en MVP
Arquitectura Model View ViewModel (MVVM)
¿Qué es la arquitectura Model View ViewModel (MVVM)?
¿Cómo funciona MVVM Data Binding?
MVVM Data Binding estructurando nuestra aplicación y migrando a AndriodX
MVVM DataBinding creando un ViewModel
Patron Observer en MVVM
MVVM Data Binding: integrando ViewModel a View
MVVM Data Binding: RecyclerView Adapter
MVVM Data Binding: RecyclerView CardView
Android JetPack Arquitectura
¿Qué es Android JetPack Arquitectura?
¿Cómo funciona la arquitectura de componentes?
Arquitectura Componentes Lifecycle ViewModel
Arquitectura Componentes Lifecycle Observe
Fin del curso
Conclusiones
Aún no tienes acceso a esta clase
Crea una cuenta y continúa viendo este curso
Aportes 10
Preguntas 1
Importando este plugin en el gradle podemos ahorrarnos los findViewById y tener una referencia directa de imagePhoto
apply plugin: 'kotlin-android-extensions'
Para utilizar ViewModelProvider (versión más reciente de AndroidX) debemos importar primero la liberia siguiente:
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0-alpha03'
y luego podemos declararlo de la siguiente forma:
var model = ViewModelProvider(this).get(MainActivityViewModel::class.java)```
Hola compañeros si por casualidad ViewModelProviders.of les marca como obsoleto, pueden poner la siguiente linea de codigo:
var model = ViewModelProvider(this).get(MainActivityViewModel::class.java)
y donde quedo el clean architect? donde quedo el mvvm?? estoy de acuerdo que es un ejemplo simple pero que no la idea era implementar buenas practicas de arquitectura?
Un truco: gracias al nuevo ViewBinding disponible desde Android Studio 3.6, pueden utilizar una nueva nomenclatura para llamar a las vistas sin necesidad de findViewById()
y sin necesidad de hacer DataBinding.
Solo agreguen las siguientes líneas al build.gradle (app)
android {
...
buildFeatures {
viewBinding = true
}
...
}
Así, en el MainActivity.kt
pueden hacer esto:
val binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
val imagePhoto: ImageView = binding.imagePhoto
Donde la propiedad imagePhoto
del objeto binding
es el ID del ImageView
Por si a alguien mas le ocurre esto:
Al diseñar la interfaz aparece bien la foto pero a la hora de ejecuarlo en el emulador de Android NO me aparecía la imagen aleatoria. Decidí conectar mi celular y desde ahí si funciona, para que no pierdan tiempo valioso “cacharreando” como me pasó por esa bobada.
No se puede reproducir el video
Cuando estas creando el proyecto, puedes seleccionar de una que se cree con Androidx, cerca de la opcion de escoger el lenguaje de desarrollo
Disculpen, alguien sabria cual es la ultima version de picasso?
Muy útil la información de la clase
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.