SQLite (Transparencias)
Transparencias - SQLite
Room (Transparencias):
Transparencias - Room
SQLite (video clase)
Video Transparencias
Artículos
Revisión de Cómo se instancia un ViewModel desde varios sitios, Activity, Fragment y RecyclerViewAdapter
(El proyecto sobre el que se explica incluye Room (sección-6))
En este video revisamos como debemos instanciar correctamente un ViewModel para que todas las instancias obtengan el mismo acceso a los datos.
- BasicNavigationDrawer + ViewModel + Livedata + ListAdapter + Room ( App NavDrawerDynamicRecyclerViewRoom código en GitHub )
Añadiendo Room a la aplicación, partimos de NavDrawerDynamicRecyclerView y paso a paso vamos incluyendo Room siguiendo los pasos de este Codelab de Android Developers. Tras una presentación (-00), comenzamos repasando lo más complicado de la aplicación base (-01 al -03) para después ya empezar a integrar Room.
NavDrawerDynamicRecyclerViewRoom – 00 – Presentación
NavDrawerDynamicRecyclerViewRoom 01 – Revisando Ingredientes & IngredientesViewModel
NavDrawerDynamicRecyclerViewRoom 02 – Revisando IngredientesFragment
NavDrawerDynamicRecyclerViewRoom 03 – Revisando IngredientesAdapter
NavDrawerDynamicRecyclerViewRoom 04 – Esquema de la nueva App con Room
NavDrawerDynamicRecyclerViewRoom 05 – Creando el ViewModel en la Activity
NavDrawerDynamicRecyclerViewRoom 06 – Update Gradle Files
NavDrawerDynamicRecyclerViewRoom 07 – Create an Entity
NavDrawerDynamicRecyclerViewRoom 08 – Create the DAO
NavDrawerDynamicRecyclerViewRoom 09 – The LiveData Class
NavDrawerDynamicRecyclerViewRoom 10 – Add a Room Database
NavDrawerDynamicRecyclerViewRoom 11 – Create the Repository
NavDrawerDynamicRecyclerViewRoom 12 – Create the ViewModel
NavDrawerDynamicRecyclerViewRoom 13 – Last settings and corrections
Esté código añade la posibilidad de modificar el contenido de un RecyclerView al pulsar el botón que determina el tipo de contenido que debe mostrarse. Para ello utiliza queries en el DAO que seleccionan el conjunto de registros a devolver. Se hace apropiadamente utilizando el esquema del Repositorio.
Aplicación: ( App NavDrawerRecyclerViewRoomMasterDetail código en GitHub )
Utiliza: BasicNavigationDrawer + ViewModel + Livedata + ListAdapter + Room Database + Repository + Filtering Queries en DAO.
Esté código añade modificar el contenido de un RecyclerView al pulsar en el ménu del Navigation Drawer determinando el tipo de contenido que debe mostrarse. Utiliza un único fragment que recibe argumentos que le indican cuál es el tipo a mostrar.
Aplicación: ( App NavDrawerRoomMasterDetail código en GitHub )
Utiliza: BasicNavigationDrawer + ViewModel + Livedata + ListAdapter + Navigation Arguments + Room Database + Repository + Filtering Queries en DAO.
Enlaces
- SQLite.org Web Oficial
- SQLiteTutorial Web completa dedicada a SQLite
- SQLite para Android: La herramienta definitiva Artículo sobre qué es y ventajas de SQLite en Android.
- Android Developers: Cómo guardar datos con SQLite
- Un buen artículo sobre optimización al trabajar con SQLite es este: Everything You Need TO Know About Optimizing SQLite Is Here. Se trata de aspectos avanzados pero es interesante tenerlos en cuenta para aplicaciones reales.
- Cómo depurar tu base de datos con el Inspector de bases de datos
- Database Inspector: A live database tool we’ve been waiting for!
- Cómo guardar contenido en una base de datos local con Room