Excelente video Antonio!... Tengo 3 preguntas para ti. 1. Podrías hacer un video avanzado de Room, en donde incluyas migración de base de datos y unit testing? 2. Que tal sencillo seria construir el DAO desde un archivo .db ya existente? 3. Seria estupendo ver un ejemplo corto pero con más detalle del uso de Room + Livedata
@devexpert_io4 жыл бұрын
Tengo pendiente hacer vídeos del 1 y del 2. Para el 2 hay una nueva funcionalidad en Room que te permite prepoblar la base de datos, pero no sé cómo funciona ni de dónde se obtienen los datos. Lo que pasa que se me van acumulando temas, así que no puedo prometer cuándo los haré 😅
@javiertorres-qs5bh3 жыл бұрын
Muy buen video, bien explicado. Sobre el error que últimamente a la mayoría les sucede sobre "on a null object reference" en "val app = applicationContext as PersonApp" Lo solucione cambiando "val app = applicationContext as PersonApp" Por val app by lazy { applicationContext as PersonApp } Además que la clase "MyActivity" no sea "abstract"
@devexpert_io3 жыл бұрын
Gracias! Sí, es que en ese punto aún no se puede acceder al contexto, lo grabé mal. Esta es una solución perfectamente válida.
@javiertorres-qs5bh3 жыл бұрын
@@devexpert_io Me siguió causando problemas y ni agregando la clase al manifest pude solucionarlo. Termine cambiando solo un poco el codigo en base a otro tutorial y eliminando el PersonApp. Gracias por tu contenido, sigo al pendiente
@devexpert_io4 жыл бұрын
Si aún no te decides sobre si Kotlin es el lenguaje que deberías aprender, te animo a que te apuntes a mi masterclass gratuita 👉 bit.ly/3eRcwfu
@ssmgeo3846 Жыл бұрын
Madre mía!!!En 16 minutos de video me acabas de aclarar 20 páginas de uso de SQLite y dos horas de videos de programación multimedia y dispositivos móviles de DAM de Ilerna....y oye, mira que los has explicado bien, fácil, y claro. Qué sería de los que estamos empezando sin estos videos maravillosos. Mil gracias!!!!
@devexpert_io Жыл бұрын
Oh! Pues ya está, me has alegrado el día 🥰. Muchas gracias por tus palabras!
@alexisrivas4334 жыл бұрын
Muy bueno , sería bueno que tocaras algo de test con room....
@devexpert_io4 жыл бұрын
Tomo nota! Gracias!
@ruif3r4 жыл бұрын
Me sumo a esta peticion
@devexpert_io4 жыл бұрын
@@ruif3r ok! Gracias!
@camilochico37863 жыл бұрын
Hola profe , ella un año este video y se le entiende a la perfección siga así , y gracias por tus consejos sirven mucho
@devexpert_io3 жыл бұрын
Muchas gracias Camilo, en esas estoy!! 😉
@JoseRodriguez-lu4ce3 жыл бұрын
Me estás ayudando un montón para hacer mi proyecto final de la FP. ¡Muchas gracias!
@devexpert_io3 жыл бұрын
oh! qué ilusión, gracias a ti! Si ves que no encuentras algo, dime, por si tengo algún artículo que no tenga en formato vídeo o lo que sea
@bigotes20random863 жыл бұрын
Muchas gracias por compartir tus conocimientos :D
@devexpert_io3 жыл бұрын
Un placer!
@bitabrah9402 жыл бұрын
🙌🏼🙌🏼🙌🏼 se agradece el vidio!
@devexpert_io2 жыл бұрын
Muchas gracias!! 🤩
@orlandosandovalm.92184 жыл бұрын
Una vez más agradezco este material, es de mucha ayuda. Gracias Antonio!
@devexpert_io4 жыл бұрын
A ti por estar y comentar siempre! Me ayuda mucho a seguir creando contenido. Un abrazo y muchas gracias!
@magic89943 жыл бұрын
Excelente explicacion Antonio, me ayudo mucho, muchas gracias !!
@devexpert_io3 жыл бұрын
Que alegría! Gracias a ti!
@edudlebal4 жыл бұрын
¡Excelente! Este tema ya lo dominaba pero nunca viene mal recordarlo.
@devexpert_io4 жыл бұрын
Genial! Gracias por echarle un ojo aún así ☺️
@tomas.menniti3 жыл бұрын
Muy didáctico y preparado el tutorial. Gracias por compartir, Antonio!
@devexpert_io3 жыл бұрын
Muchas gracias!
@albertoluisrinconbarajas92824 жыл бұрын
Genial! Cómo todos tus videos! Todo muy claro 🤓👏👨💻
@devexpert_io4 жыл бұрын
Muchas gracias Alberto!
@orlandosandovalm.92184 жыл бұрын
A la espera!!!
@devexpert_io4 жыл бұрын
Ole!
@augustorojas99964 жыл бұрын
Antonio , gracias por compartir tu conocimiento, tu libro es una obra maestra!
@devexpert_io4 жыл бұрын
Muchas gracias Augusto!
@CornetaSantaCruz4 жыл бұрын
Excelente video Antonio. Estaría muy bien ver más en detalle el apartado de migración así cómo el uso de flow con Room. Un saludo y gracias.
@devexpert_io4 жыл бұрын
Perfecto, gracias por el feedback!
@pablodavidflorezjaramillo26583 жыл бұрын
Muchas gracias Antonio por tan valiosa informacion.
@devexpert_io3 жыл бұрын
Gracias!
@luisrobertonavarro75814 жыл бұрын
El video es excelente, pero me tira error al poner val app = applicationContext as PersonApp en el MainActivity
@devexpert_io4 жыл бұрын
Habría que ver un poco más. Qué error te da?
@16jeremias4 жыл бұрын
@@devexpert_io me arroja el mismo error en esa linea
@16jeremias4 жыл бұрын
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.proyectobasededatos/com.example.proyectobasededatos.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.content.Context.getApplicationContext()' on a null object reference
@16jeremias4 жыл бұрын
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.content.Context.getApplicationContext()' on a null object reference
@devexpert_io4 жыл бұрын
Ya veo... No está bien hacer una property como hice porque en ese punto puede que el application context aún no exista. Poned esa línea después del "setContentView". O se puede usar esa property pero usar el delegado "lazy". Otra opción interesante es hacer una función de extensión con esa línea, pero eso quizá daría para otro video 😅
@gastondipierro3 жыл бұрын
Muy bueno Antonio... sería interesante ver las migraciones de base de datos y algo de test ! Muchas gracias !!!
@devexpert_io3 жыл бұрын
Lo tendré en cuenta. Gracias!
@diegoalarcon70104 жыл бұрын
Muy buen video Antonio. Me gustaria si podes explicar como usar Flow en vez de LiveData. Saludos!
@devexpert_io4 жыл бұрын
Tengo pendiente hacer una serie de vídeos sobre Flow, y justo para eso hice este vídeo 😬, para luego poder usar una base de datos con Flow sin tener que explicar Room. Así que ahí va el spoiler 😆😆
@chescored58874 жыл бұрын
Gracias Antonio por el vídeo, a mí me encanta el autocompletado de las Query, cuando tienes muchas entidades ayuda mucho. Los quebraderos de cabeza los tengo con los Date 🤦 y todavía no tengo claro si meter suspend, LiveData, los dos, sigo ejemplos y me apaño pero tengo que experimentar más con eso, saludos!!!
@chescored58874 жыл бұрын
He visto comentarios con los problemas que comento, la comunidad está en todo!
@devexpert_io4 жыл бұрын
Gracias por tus comentarios! Sí, hay muchos pequeños detalles que intentaré ir resolviendo en siguientes vídeos.
@leorodseg3 жыл бұрын
Estoy empezando a crear apps pero no tengo claro como poner una base de datos que tengo en local (tabla de Excel por ejemplo) en la propia app, es posible eso?? Muchas gracias por tus vídeos!!
@devexpert_io3 жыл бұрын
Echa un ojo a esto a ver si te vale developer.android.com/training/data-storage/room/prepopulate
@leorodseg3 жыл бұрын
@@devexpert_io muchas gracias!!
@tadeogonzalezalvarez64884 жыл бұрын
Como siempre un gran vídeo, muchas gracias!!, me gustaría que indagaras mas con un ejemplo ORM para no realizar consultas sql directas a la BD.
@devexpert_io4 жыл бұрын
Ok, lo apunto! Aunque últimamente veo poco uso de este tipo de librerías
@activoysaludable3 жыл бұрын
Buen vídeo Bro. Aquí aprendiendo sobre room ahora jajjajaja
@devexpert_io3 жыл бұрын
Gracias! Te estás dando un buen repaso a todos los vídeos, enhorabuena!
@mateoflorezjaramillo68083 жыл бұрын
Excelente contenido!! Bien hecho, tambien hace videos para java android ?
@devexpert_io3 жыл бұрын
Gracias! No, solo hago con Kotlin
@gersalvarez88004 жыл бұрын
Excelente video como siempre, estaría bien tener un ejemplo con una base de datos más grande y verlo en algun modelo de presentación
@devexpert_io4 жыл бұрын
Gracias! Me apunto como idea algún vídeo más avanzado. Lo de modelo de presentación te refieres a algo como MVP o MVVM? En realidad eso tiene poco que contar. Sería igual pero en otra clase. Si no lo he entendido bien, cuéntame!
@gersalvarez88004 жыл бұрын
@@devexpert_io Así es con MVP O MVVM en qué parte estaría implementada la DB y organizada la estructura que mencionas en este video 😃. Quedamos ansiosos de ver más de tu contenido y videos muchas gracias por todo.
@luchonetvv4 жыл бұрын
Excelente video!!!, otro video interesante podría ser otras alternativas que existen ademas de SQLite y Room, como por ejemplo Realm.
@devexpert_io4 жыл бұрын
Tomo nota para echarle un ojo, porque me da la sensación de que hoy en día todo se está abandonando en favor de Room
@luchonetvv4 жыл бұрын
@@devexpert_io muy cierto, actualmente la preferencia para nuevo desarrollo viene siendo Room inclusive proyectos legacy vienen haciendo transición poco a poco aprovechando que Room tiene muchas ventajas y sobre todo se acopla muy bien con la Arquitectura de Componentes, y muchísimas gracias, ya estoy ansioso por ver que nuevo material prepararás 😁😁😁
@joseluiscobian43313 жыл бұрын
Algo que sería interesante y que ya comentaron es que se hablara del pre-populate o la aplicación de las migraciones.
@devexpert_io3 жыл бұрын
Sí, está apuntado, a ver si algún día puedo grabarlo. Gracias!
@YukoshiHub3 жыл бұрын
Claro como el agua. Muchas gracias.
@devexpert_io3 жыл бұрын
Gracias a ti!
@d-landjs2 ай бұрын
Super entendible maestro, sera que tendrás un video más actualizado con Compose y probando eñ room
@devexpert_io2 ай бұрын
En el curso de 3 horas de Kotlin Multiplatform que publiqué el jueves se usa Room
@jairomarcelo18164 жыл бұрын
Buenísimo video Antonio, sería bueno que toques el tema de migraciones de base de datos
@devexpert_io4 жыл бұрын
Gracias Jairo! Lo tengo anotado para próximos vídeos, aunque la lista no para de crecer 😅
@axeljurczuk17243 жыл бұрын
Excelente video! Gracias!
@devexpert_io3 жыл бұрын
Gracias!
@rogersandresdiazbeltran22234 жыл бұрын
Muy buenos contenidos Antonio!
@devexpert_io4 жыл бұрын
Muchas gracias!
@rogersandresdiazbeltran22234 жыл бұрын
@@devexpert_io tengo ya varios años de exp en desarrollo android pero con java. Al ver tus vídeos usando kotlin me dan muchas ganas de aprender el lenguaje.
4 жыл бұрын
Antonio muchas gracias por el contenido. Como sugieres en el vídeo sería genial tratar un poco el tema de las migraciones. Nuevamente muchas gracias.
@devexpert_io4 жыл бұрын
Apuntado queda. Gracias!
@gustavoaguilargarcia96652 жыл бұрын
Muchas gracias por el video. Como siempre, claro y directo. Tengo un par de preguntas: 1. He visto en algunos tutoriales que la base de datos la crean siguiendo un patrón singleton con algunas especificaciones para evitar problemas por acceso "multi-threading". ¿Cuál de los dos enfoques es más conveniente? 2. ¿Hay algún problema en que las dataclasses que son las entities de room incluyan funcionalidad adicional (aparte de la implícita de las dataclasses)? Es decir, funciones a medida particulares para la realización de determinadas tareas.
@devexpert_io2 жыл бұрын
1. Pudiendo crearlo en el application, o inyectado con un inyector de dependencias, no veo la necesidad de un singleton. 2. Creo que técnicamente no hay problema, aunque no lo he probado...
@gustavoaguilargarcia96652 жыл бұрын
Gracias por la respuesta. 1. ok. Es que nunca había extendido la Application para nada. 2. Efectivamente, no parece que haya problema. He probado con una clase muy simple, con un par de métodos (en este caso, en un companion object) y ha funcionado: los datos se guardan y recuperan correctamente. Ha funcionado tanto si califico la clase como 'data class' como si no. Saludos.
@cjuggernaut66342 ай бұрын
buenas, como puedo obtener un campo en room a partir del valor de una variable?? *tengo 3 columnas id word defword la variable recibe un valor que esta en la columna "word" y en base a esto me devuelve el valor de "defword" gracias!
@amilcar24062 жыл бұрын
hola antonio creo que realice todo tal cual explicas en el video pero al momento de ejecutar la app me da un error algo como "entities and pojos must have a usable public constructor and kotlin", como lo corrijo. muchas gracias
@devexpert_io2 жыл бұрын
Entra en el discord y nos compartes código, así podemos ver por qué puede ser: devexperto.com/discord
@paimei48153 жыл бұрын
Muy buen video la mejor explicación de implementación de room, no se si exista una forma de actualizar la base de datos con la inyección de un JSON o podrías hacer un video sobre eso
@devexpert_io3 жыл бұрын
Te refieres a precargar la base de datos la primera vez que se abre la App, o a descargar un json de un servidor y cargarlo en una base de datos? Gracias!
@paimei48153 жыл бұрын
@@devexpert_io Pues Antonio seria en ambas situaciones porque ese tema aun no lo tengo muy claro y los ejemplos que he visto me generan mas confusión
@adrieleduardopalestinohern85352 жыл бұрын
te amo!
@devexpert_io2 жыл бұрын
Jajaja 🥰
@SoyChoquero Жыл бұрын
Vendría bien este CRUD completo de Kotlin, mostrando como trabajar con ROOM y como integrarlo con la UI.
@devexpert_io Жыл бұрын
Tomo nota!
@sergioalvarez99134 жыл бұрын
Genial Antonio! ¿Tienes pensado Ampliar sobre este tema? A un curso sobre esto yo me apuntaría.. :D
@devexpert_io4 жыл бұрын
Qué te gustaria ver en un curso así?
@sergioalvarez99134 жыл бұрын
@@devexpert_io pues un curso de room, de cero a casos prácticos!
@sergioalvarez99134 жыл бұрын
@@devexpert_io este video despierta mucho el interés
@devexpert_io4 жыл бұрын
@@sergioalvarez9913 ok, tengo algunas cosas en mente donde algo así podría encajar. Pero tengo que definirlo bien y ver si es viable. Pensaré en ello! Gracias 🙇
@jesusdevandroid19303 жыл бұрын
Excelente video !!!
@devexpert_io3 жыл бұрын
Gracias!
@luisrobertonavarro75813 жыл бұрын
Buenos días Antonio. Hoy actualicé mi Android Studio a la versión estable de 4.1. Y me encontré con el problema de no poder agregar en el build.gradle(:app) apply plugin: 'kotlin-kpt'. Por lo poquito que entiendo ahora en esta versión se ha modificado la estructura de este archivo ¿PUEDE SER? De entrada cuando inicio un nuevo proyecto viene con la siguiente estructura : plugins { id 'com.android.application' }
@devexpert_io3 жыл бұрын
Pues la verdad que no lo sé, yo he actualizado literalmente hace 5 minutos. Esa es la nueva forma de definir los plugins en Gradle, me sorprende que hayan pasado por dejar de soportar la antigua sin deprecarla antes, pero todo puede ser... La nueva forma para el plugin de KAPT sería así, por si te sirve: kotlinlang.org/docs/reference/kapt.html#using-in-gradle
@luisrobertonavarro75813 жыл бұрын
Ahí logré registrar el Kapt en el Gradle. Pero el problema inicial continua. Tratando de depurar veo que es cuando val room = Room .databaseBuilder(this, PeopleDb::class.java, "person") .build(). Y se rompe la ejecución en el emulador "LA APLICACION SE DETUVO"
@devexpert_io3 жыл бұрын
Pero entiendo que el logcat te dará un error más o menos claro, no? Si quieres pásamelo por email, que hoy vi uno tuyo pero no lo pude contestar. Aunque creo que es eso que ya has solucionado
@drackon19952 жыл бұрын
Excelente video. Tengo una duda, como podria resetear el contador id, cuando elimino todos los elementos de mi tabla? Es que cuando comienzo a meter registros empieza agregar desde el ultimo id que habia generado anteriormente. Te agradeceria mucho si me pudieras ayudar. Saludos desde Mexico.
@devexpert_io2 жыл бұрын
Pues la verdad que no lo sé, nunca lo he necesitado... Haciendo una búsqueda, esto es lo primero que me aparece, no parece que haya una opción muy directa... stackoverflow.com/questions/50878734/android-room-how-to-reset-auto-generated-table-primary-key-on-each-app-run
@drackon19952 жыл бұрын
@@devexpert_io Vale vale muchas gracias por tu respuesta. Ahí lo checo. Saludos 🙋🏻
@ddeandroid52794 жыл бұрын
Hola Antonio, excelente video. Solo me queda una duda. Por qué al final cuando dices que se puede ocupar con LiveData se le tiene que quitar el suspend?. Esa función de getAll ya no se llamaria desde la corutina entonces? Muchas Gracias de nuevo por esta serie de videos
@devexpert_io4 жыл бұрын
No hace falta porque Room se encarga de ejecutar las peticiones en segundo plano si usas un Observable (como LiveData)
@luisgamarrarosado35653 жыл бұрын
Muchas gracias
@devexpert_io3 жыл бұрын
Gracias por comentar
@gabrielcastillo76922 жыл бұрын
Buenas, estaba siguiendo el vídeo y cuando quise hacer pruebas, me arrojaba la siguiente excepción Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.content.Context.getApplicationContext()' on a null object reference, no sé a qué se deba, gracias.
@devexpert_io2 жыл бұрын
Necesitas crear la base de datos en el onCreate() de application
@gabrielcastillo76922 жыл бұрын
@@devexpert_io La tengo como se hace en el minuto 11:47 y de igual forma creo en el main activity la variable app, cómo se crearía en ese caso?, gracias
@devexpert_io2 жыл бұрын
@@gabrielcastillo7692 a ver si escribo un artículo o algo. En el vídeo hay un fallo, pero ya no se puede cambiar. Es lo que te digo, crear la base de datos en el onCreate del application, en vez de hacerlo directamente como una property
@josephpaucar21792 жыл бұрын
Pudiste resolverlo?
@lujossan.85084 жыл бұрын
Muy buen video, solo te tengo 2 dudas, ¿se pueden usa llaves foráneas con room? y si es así ¿qué sintaxis lleva?
@devexpert_io4 жыл бұрын
En Room directamente puedes hacer que un objeto contenga otro objeto, y automáticamente es capaz de buscarlo en tabla correspondiente y recuperarlo. En algún momento haré un vídeo sobre esto, pero mientras puedes echar un ojo a la doc oficial para ver cómo se hace: developer.android.com/training/data-storage/room/relationships
@cjuggernaut66342 ай бұрын
como puedo definir un string como primaryKey?
@fabriziovit.developerandro85223 жыл бұрын
Hola antonio como siempre muchas gracias por tus videos, una consulta como podria guardar un texto ya creado osea un tipo "text" en un apartado de favoritos que tengo en mi app y tambien como quitarlo de favoritos con room. Tendras algun tutorial sobre ello? Gracias
@devexpert_io3 жыл бұрын
Gracias! No te sigo muy bien con la pregunta. Si quieres únete al Discord y por allí lo podemos hablar más tranquilamente: devexperto.com/comunidad
@miguelramirezagustin20374 жыл бұрын
muy bueno el video, podrías explicar como las migraciones de db, seria de mucha ayuda Saludos
@devexpert_io4 жыл бұрын
Claro! Lo tengo apuntado, pero se me acumulan los temas 😅. En cuanto pueda le hago un hueco.
@JHONESTIVENGonzalez2 жыл бұрын
Hola, muchas gracias, excelente video, tengo una duda si me puedes ayudar, al usar esta librería cada vez que agrego una nueva tabla, me pide eliminar la app de manera completa, como puedo hacer para que esto no ocurra?, gracias!!!
@devexpert_io2 жыл бұрын
Muchas gracias Jhon, te invito a que te unas y traslades tus dudas por Discord, un saludo! 👉 devexperto.com/comunidad
@devexpert_io2 жыл бұрын
Sí, cuando cambia la estructura de la base de datos, hay que reinstalar, o bien configurar el mecanismo de actualización de la base de datos. Si estás programando y los usuarios no están usando la app, lo mejor es simplemente reinstalar la app y listo
@JHONESTIVENGonzalez2 жыл бұрын
@@devexpert_io Muchas gracias por invitarme, ya me he unido, he estado leyendo de apoco porque hay mucha información importante y aprendiendo un poco de como usar discord. Paso también para agradecerte por el materia tan bueno que se comparte por el canal de youtube
@devexpert_io2 жыл бұрын
@@JHONESTIVENGonzalez gracias!
@jonathanfuentes37023 жыл бұрын
muy bueno el video, bien explicado, queria consultar sobre personapp que extiende de application, solo hay que aclarar el name en el manisfest no? xq me da error cuando quiero iniciar la val app en el MainActivity, Attempt to invoke virtual method 'java.lang.Object android.content.Context.getSystemService(java.lang.String)' on a null object reference por lo que entiendo en es el context en PersonApp, cuando construyo el room
@devexpert_io3 жыл бұрын
Si, el contexto del application
@djuradof3 жыл бұрын
Hola, a qué te refieres con lo de ' aclarar el name en el manisfest', tengo ese mismo error y no sé cómo resolverlo. Ya añadí al manifest el nombre pero nada, sigo con el error al ejecutar la app Esto fue lo que añadí al manifest:
@agustinkuran3 жыл бұрын
que bueno sería encontrar un tutorial con esta claridad pero en JAVA.
@devexpert_io3 жыл бұрын
Yo no hago vídeos en Java sorry, la mayor parte de la gente lo busca ya todo en Kotlin
@roofedforest79374 жыл бұрын
Tengo una duda, yo se java, pero quiero hacer desarrollo android ¿Me conviene aprender con kotlin Por mas que yo ya sepa java y nada de kotlin?
@devexpert_io4 жыл бұрын
Si te quieres dedicar profesionalmente a ello, te lo recomiendo sí o sí. Apúntate a mi Training gratuito (lo puedes encontrar en el primer comentario o en la descripción) porque ahí te doy números para que veas la situación. Un abrazo!
@nomadeandy4 жыл бұрын
Además de todas las ventajas sobre Java, las búsquedas laborales de Android ya hace tiempo que vienen pidiendo Kotlin como excluyente. Te recomiendo que encares por ese lado totalmente!
@danielsacchi6494 ай бұрын
Excelente explicacion. Siendo 4/2024, ¿Hay algo deprecated en este video?
@devexpert_io4 ай бұрын
Solo que ahora se usa ksp en lugar de kapt para las dependencias que generan código. En este caso para el compilador de Room. Pero si no lo pones Android Studio te da un warning, así que seguramente lo detectarás rápido.
@t910403 жыл бұрын
Hola Antonio, muchas gracias por sus tutoriales, necesito pedirle un favor grande, necesito que nos regales unos tutoriales de GraphQL en Android, para reemplazar retrofit. Y por otro lado quería preguntarle, conoces la app indriver? Si, si, sabes con qué tecnología se pudo haber programado le sección de esa app dónde se negocia los precios de una carrera y el cliente puede ir viendo la lista de solicitudes del transportador que le la lista puede ser un recyclerview pero cada una de las cardview tienen una linea de progreso que disminuye cuando los segundos se acaben, cuando el tiempo se acaba para que en cliente escoja la oferta. Esa sección es en tiempo real, he pensado en socket, he pensado en rx Java, en corrutinas, realmente pienso que indriver está hecha en firebase realtime database.
@devexpert_io3 жыл бұрын
Hola Erik, pues no conozco nada de ninguno de los dos temas, sorry...
@cermenoandres98434 жыл бұрын
Excelente Antonio, siempre muy claro y explicaciones fáciles de entender. Me hubiese gustado que trataras el caso especial de los campos tipo Fecha (Date) ya que no es soportado por SQL lite y tu siempre me agregas algo nuevo que no se jejejejeje... Saludos
@devexpert_io4 жыл бұрын
Eso se hace con TypeConverters, pero me lo apunto para otro vídeo. Gracias!
@shiden163 жыл бұрын
Muy buen video bien explicado, solo me quedo una duda, es posible realizar cualquier tipo de Query con Dao?, por ejemplo hacer el uso de SUM() o COUNT()?, para tenerlos en variables con LiveData?, Gracias y que tengan buen dia.
@devexpert_io3 жыл бұрын
Sí, se pueden hacer queries de ese tipo contra Room
@TheMarsal83 жыл бұрын
¿Cómo se podría añadir otra tabla en la base de datos? Solo hay una tabla..
@devexpert_io3 жыл бұрын
El proceso es el mismo, puede añadir tantas como quieras
@TheMarsal83 жыл бұрын
@@devexpert_io es decir, creando mas clases e interfaces? ej. ProductoDb, Producto, ProductoApp, ProductoDao. Serías así? ¿Y en cuanto a las relaciones de la base de datos? Sería de gran ayuda!! Muchas gracias!
@devexpert_io3 жыл бұрын
Para crear una tabla solo necesitas una entity y añadirla en la anotación de @Database, en el listado de entities. Luego si es una entity que tiene vida propia más allá de formar parte de otras entities, entonces merecerá la pena crearle un Dao propio. Lo de las relaciones es otro tema. Tengo pendiente hacer un vídeo en algún momento, pero si no en la referencia de Android está explicado
@melchiah66034 жыл бұрын
¿Se pueden realizar mapeos para hacer relaciones con otras tablas, algo similar a JPQL (Spring)?
@devexpert_io4 жыл бұрын
Sí, te dejo el enlace a la doc oficial developer.android.com/training/data-storage/room/relationships
@dinodesa98943 жыл бұрын
Hola Antonio espero estes bien... tu video está muy bueno (bien explicado)... he realizado al pie todo lo que expones... al final se me genera un error "on a null object reference" en val app = applicationContext as PersonApp... espero puedas ayudarme con ello... Gracias por tu amable contribución.
@devexpert_io2 жыл бұрын
Hola Dino, estoy centralizando las respuestas para todos en Discord, así que te invito a que te unas y traslades tus dudas allí, un saludo! 👉 devexperto.com/comunidad
@jeremiasivanchiricocmartin90474 жыл бұрын
saludos, que tanto varia el desarrollo con java, ya que tu lo haces con kotlin
@devexpert_io4 жыл бұрын
Es prácticamente igual, no sé usa ninguna feature de Kotlin que Java no tenga en este vídeo
@enriquemartindelpomarleon3 жыл бұрын
Buen video, y si emulas el código para ver su función en la app?
@devexpert_io3 жыл бұрын
No entiendo muy bien la pregunta, qué necesitas exactamente?
@enriquemartindelpomarleon3 жыл бұрын
@@devexpert_io pregunta podrías correr el código en el emulador para ver?
@usuario5343 жыл бұрын
Me aparece este error: A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution
@devexpert_io2 жыл бұрын
Hola Jesús, estoy centralizando las respuestas para todos en Discord, así que te invito a que te unas y traslades tus dudas allí, un saludo! 👉 devexperto.com/comunidad
@seba235713 жыл бұрын
y en que directorio del sistema operativo android va a parar la base de dato sqlite ? gracias
@devexpert_io3 жыл бұрын
Genera una carpeta privada para esa App a la que solo puede acceder ella, por seguridad. En teléfonos rooteados te puedes saltar esa seguridad
@seba235713 жыл бұрын
@@devexpert_io gracias logre encontrar esta en el directorio data/data/project-package/ en telefono rooteado o en elmulador no hizo falta que este en root .. muchas gracias
@ssmgeo3846 Жыл бұрын
Buenas de nuevo!! Una pregunta que no he visto formulada. Si tienes una DB con tres o cuatro entities, cómo haces para añadirlas dentro de @Database? he probado dentro de los corchetes y da error y no encuentro nada en developer.android. ¿O tengo que crear una nueva base de datos?. Mil gracias!!!
@devexpert_io Жыл бұрын
Deberías poder. Qué error te da? Si quieres entra en nuestro Discord y te intentamos ayudar por allí: devexperto.com/discord
@ssmgeo3846 Жыл бұрын
@@devexpert_io , me da este error: "Type mismatch: inferred type is KClass but Array was expected". Pero me meto en discord a preguntar desde ahí. Mil gracias!!!😃
@eduaguilar50044 ай бұрын
Pero cuando llamas a room no estas creando una y otra vez la bd?
@devexpert_io4 ай бұрын
No, la base de datos se crea solo una vez, luego realizas conexiones a la misma base de datos
@criptomonedasconmarshall78693 жыл бұрын
solo una pequeña aclaración, el campo edad(age) no se debe considerar ponerlo, ya que la edad es un dato calculado, se debería poner la fecha de nacimiento. Saludos
@devexpert_io3 жыл бұрын
Gracias! Un apunte importante, sin duda
@GRANDELIAS4 жыл бұрын
Muy bueno
@devexpert_io4 жыл бұрын
Muchas gracias!
@alexandervcc3 жыл бұрын
Hola buen video. Talvez alguien me puede ayudar porfa, al ejecutar el codigo, me da un error de tratar de ejecutar el metodo en un objeto con referencia null. Haciendo referencia a la linea donde se instancia el PersonApp desde el Main
@devexpert_io3 жыл бұрын
Es complicado saber sin ver el código, sorry...
@leor2853 жыл бұрын
@@devexpert_io Buenas tardes. A mi me ocurre exactamente lo mismo. Error: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.content.Context.getApplicationContext()' on a null object reference Lei que pusiste de poner la linea donde creo el app luego del setContentView, pero luego el error es: java.lang.ClassCastException: android.app.Application cannot be cast to com.example.personasenbbdd.PersonaApp
@devexpert_io3 жыл бұрын
Comprobad que el contexto que le pasáis a la BD no es nulo
@ruif3r4 жыл бұрын
Excelente video como siempre. Que lindas las waifus en la estanteria
@devexpert_io4 жыл бұрын
😂 no son waifus pero gracias!
@cesarruiz7105 Жыл бұрын
Sabes ¿cuál es el límite de campos que me permite manejar ROOM en las Entities?.
@devexpert_io Жыл бұрын
En principio el límite de SQLite es 2000, pero no sé si Room aplicará algún límite extra, no creo
@salazarw7002 жыл бұрын
Hola , tendras algun video de room pero con java ?
@devexpert_io2 жыл бұрын
No, lo siento...
@marvinguillen32112 жыл бұрын
podes hacerlo para mssql server
@devexpert_io2 жыл бұрын
Si quieres proponer temas, puedes hacerlo en: devexperto.com/video-klisst
@BitacoraTIMX3 жыл бұрын
En resumen, ROOM = Un ORM inspirado en SpringData para Android
@devexpert_io3 жыл бұрын
Ni idea 😅, pero si se parece a SpringData, puede ser.
@RANDONcrafting3 жыл бұрын
pues no me funciona...
@devexpert_io3 жыл бұрын
qué te falla?
@RANDONcrafting3 жыл бұрын
@@devexpert_io en la parte que justo decías que no era necesario implementarlo en el manifest, pará que a mí me funcione tuve que implementarlo según lo que encontré en un foro.
@RANDONcrafting3 жыл бұрын
Y además del uso de singleton
@maikolsoro18353 жыл бұрын
¿Cuál es la mejor manera de traer 3 tablas relacionadas con room ?
@devexpert_io3 жыл бұрын
Tengo pendiente hacer un vídeo del tema, pero puedes leer sobre ello aquí developer.android.com/training/data-storage/room/relationships
@maikolsoro18353 жыл бұрын
@@devexpert_io Gracias
@davidhernando4716 Жыл бұрын
se sigue importando lifecycleScope? no me da a pesar de tener: implementation "androidx.room:room-ktx:2.5.0" kapt "androidx.room:room-compiler:2.5.0" implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.5.1" implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4" en mi buildgradle
@devexpert_io Жыл бұрын
Hay que importar activity-ktx para el lifecyclescope