Noveno tema del curso de Programación de Dispositivos Móviles con enfoque en desarrollo de aplicaciones con Android Studio.
En este video, conoceremos qué son los Proveedores de Contenidos, cómo y para qué se usan; así como varias consideraciones en torno a su diseño, uso e implementación.
Notas de clase: http://www.nachintoch.x10.mx/teaching/mobile_dev/contentproviders.pdf
URL del repositorio del proyecto de ejemplo:
https://gitlab.com/nachintoch/gui-design-patterns-w-material-desig
00:00 Introducción (del video)
00:24 8.1 - Introducción (a los Proveedores de Contenidos, operaciones ABM y URIs)
01:16 8.1a - Paso 1 para definir un ContentProvider: Contrato para el acceso a datos
01:40 8.1b - Paso 2 para definir un ContentProvider: Interfaz (mecanismos) de acceso a datos
02:29 8.1c - Paso 3 para definir un ContentProvider: Implementación basada en URIs
03:16 8.1d - Paso 4 para definir un ContentProvider: Hilos de carga
03:26 8.1.1 - Bundle VS SharedPreferences VS ContentProvider
04:33 8.2 - Definiendo un Contrato para acceso a información
05:43 8.2.1 - Estructura y propósito de una URI
06:54 8.2.2 - Definiendo una colección en el Contrato
07:45 8.3 - Creando una Interfaz de acceso a datos con SQLiteOpenHelper
09:13 8.4 - Implementando un Proveedor de Contenidos
11:14 8.4.1 - Identificando consultas con URIMatcher
13:42 8.4.2a - onCreate - El ContentProvider prepara los medios de almacenamiento
14:15 8.4.2b - query - Consultando el medio de almacenamiento
16:11 8.4.2c - Herramientas para operaciones ABM en Android (con SQLite)
16:48 8.4.2d - Consideraciones generales para usar ContentProvider
18:49 8.4.2e - insert - (Alta) Creando registros en el repositorio de datos
20:16 8.4.2f - delete - Borrando registros en el repositorio
20:47 8.4.2g - update - Modificando registros en el medio de almacenamiento
21:16 8.4.2h - getType - Preguntando por el tipo correspondiente a una URI
21:31 8.4.2i - Registrando el Proveedor de Contenidos en el Manifiesto de la app
22:45 8.5 - Usando el proveedor de contenidos para mantener la lista infinita
22:58 8.5.1 - Reemplazando LinearLayout con ConstraintLayout para sobreponer vistas
23:53 8.5.2 - Abstrayendo la definición repetida del layout activity_second
24:06 8.5.3 - Cargadores asíncronos (AsyncTaskLoader)
33:14 8.5.4 - Guardando el estado de la lista antes de cerrar SecondActivity
34:00 8.5.5 - Probando la aplicación resultante
R. Meier, Professional Android 4 application
development, Updated for Android 4.
Indianapolis: John Wiley & Sons, 2012.
Google Developers, “Guías para desarrolladores”,
https://developer.android.com/guide
Android Developers, 3 abr. 2022.
Google Developers. "Android API reference",
https://developer.android.com/reference
Android Developers, 3 abr. 2022