Chicos, cree un repositorio de esta clase, lo probe en un dispositivo con android 9 y todo funciono correctamente, pueden descargar el código de la rama que necesiten, crearé una rama por cada arquitectura, espero les sirva 💚
link
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 18
Preguntas 4
Chicos, cree un repositorio de esta clase, lo probe en un dispositivo con android 9 y todo funciono correctamente, pueden descargar el código de la rama que necesiten, crearé una rama por cada arquitectura, espero les sirva 💚
link
Hola compañeros, recuerden el objetivo de este curso no es hacer una aplicación desde cero, si no mas bien tener una base de código, analizarlo y entonces identificar las responsabilidades de las clases y entonces organizar el código mejor; esto es un curso de arquitectura estamos estructurando aplicaciones para que sean mucho mejor escalables y para que estén disponibles para todos nuestros usuarios con la mejor fluidez posible.
Saludos.
La verdad no me agrada tener que crearme una cuenta en una pagina externa, la cual me pide datos como mi numero de teléfono y otras cosas como mi dirección.
Esta bien que se explique como implementar la arquitectura MVC, pero queda uno volando en el sentido que no entiende el codigo.
siguiendo los pasos, no me corre en un emulador con android 10, pero si corre en mi celular con Android 7 pero solo un rato luego muere la aplicación
kotlin.UninitializedPropertyAccessException: lateinit property descriptionShort has not been initialized
at com.anncode.offersandcoupons.Coupon.getDescriptionShort(Coupon.kt:15)
at com.anncode.offersandcoupons.RecyclerCouponsAdapter$CardCouponHolder.setDataCard(RecyclerCouponsAdapter.kt:47)
at com.anncode.offersandcoupons.RecyclerCouponsAdapter.onBindViewHolder(RecyclerCouponsAdapter.kt:26)
at com.anncode.offersandcoupons.RecyclerCouponsAdapter.onBindViewHolder(RecyclerCouponsAdapter.kt:13)
at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6781)
at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6823)
at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:5752)
at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6019)
at android.support.v7.widget.GapWorker.prefetchPositionWithDeadline(GapWorker.java:286)
at android.support.v7.widget.GapWorker.flushTaskWithDeadline(GapWorker.java:343)
at android.support.v7.widget.GapWorker.flushTasksWithDeadline(GapWorker.java:359)```
que debo modificar para que no me salga el error? ayuda porfa
E/ERROR:: Failed to connect to feed.linkmydeals.com/103.14.96.21:443
Me sale el siguiente error, he cambiado por mi API, pero me deniega la solicitud. Tengo que configurar algo mas en el panel de control de la api?
y el código?
lista de imports:
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.support.v7.widget.LinearLayoutManager
import android.support.v7.widget.RecyclerView
import android.util.Log
import com.google.gson.JsonElement
import com.google.gson.JsonObject
import retrofit2.Call
import retrofit2.Callback
import retrofit2.Response
repositorio starter: https://github.com/anncode1/Curso-Arquitectura-Android
En el curso de Kotlin para android no se explica cada detalle de lo aqui expuesto, pero en el curso Basico de Kotlin para android si, en el de Kotlin es super acelerado, tiene un poco mas de nivel.
Ya que estamos con arquitecturas, tengo la duda de cómo organizar correctamente el contenido en paquetes ¿estaría correcto así?
[Mode]l
+ ApiAdapter
+ ApiService
+ Coupon
[ui]
+CouponDetailActivity
+MainActivity
[adapter] //Esto va dentro de ui, pero no sé que porque no sale bien en la maquetación de este doc.
+RecyclerCouponAdapter
Un saludo!!
Para los que no entiendan porque Anahi coloco el signo ? es porque Kotlin esta fuera de las excepciones con NullPointerException, es por eso que se debe poner ese signo y tu aplicacion estara mas segura sin excepciones o valores nulos
Vamos con el MVC en Adroid!
a los que les marca error de la imagen vacia
if( coupon.image_url!="" )
Picasso.get().load(coupon.image_url).resize(520, 520).centerCrop().into(imgCoupon)
Código comentario? En serio?
donde está el código base, por que el codigo que encontre ya tiene acomodado todo, alguien me puede ayudar?
No he podido solucionar estos errores:
import com.google.gson.JsonObject marca error en google
import retrofit2.Call marca error en retrofit2
import retrofit2.http.GET marca error en retrofit2
interface ApiService {
@GET(“getOffers/”) marca error en GET
fun getCoupons(): Call<JsonObject> marca error en Call y en JsonObject
}
Cuando clono el repo desde github en mi Intellij importa todo pero me sale un error ‘Invalid Gradle JDK configuration found’ y no me deja ver el proyecto como una app creada por mí mismo. Alguna idea???
https://github.com/anncode1/Curso-Arquitectura-Android
para clonar el repo, recuerden hacerlo desde la rama master (sin modificar)
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.