studio proveedores proveedor ejemplos desarrolladores definicion contentresolver contentprovider content contenido android database sqlite android-contentprovider dao

ejemplos - proveedores de contenido android



Android: ¿acceder a la base de datos SQLite a través del proveedor de contenido o implementar DAO? (3)

De Google Docs .

Antes de empezar a construir

Antes de comenzar a crear un proveedor, haga lo siguiente:

Decide si necesitas un proveedor de contenido.
Debe crear un proveedor de contenido si desea proporcionar una o más de las siguientes funciones:

  • Quiere ofrecer datos o archivos complejos a otras aplicaciones.
  • Desea permitir que los usuarios copien datos complejos de su aplicación en otras aplicaciones.
  • Desea proporcionar sugerencias de búsqueda personalizadas utilizando el marco de búsqueda.

No necesita un proveedor para usar una base de datos SQLite si el uso es totalmente dentro de su propia aplicación.

Pero luego me confundí un poco al leer este y algunos otros mensajes. ¿Tiene sentido usar el evento del proveedor de contenido si está destinado a ser utilizado solo por su propia aplicación?

Me pregunto cuál es el mejor método para acceder a la base de datos de mi aplicación: ¿usar un Proveedor de contenido o implementar mi DAO a mano? Según mis últimas investigaciones, parece que el Proveedor de contenido, incluso para uso interno de la aplicación, es preferible, pero no sé exactamente cuáles son los inconvenientes de cada enfoque. ¿Puedes dar algún comentario sobre esto?


De la documentación de ContentProvider:

Los proveedores de contenido son uno de los bloques de construcción principales de las aplicaciones de Android, que proporcionan contenido a las aplicaciones. Encapsulan datos y los proporcionan a las aplicaciones a través de la única interfaz ContentResolver. Solo se requiere un proveedor de contenido si necesita compartir datos entre varias aplicaciones. Por ejemplo, los datos de los contactos son utilizados por múltiples aplicaciones y deben almacenarse en un proveedor de contenido. Si no necesita compartir datos entre varias aplicaciones, puede usar una base de datos directamente a través de SQLiteDatabase.

Me parece que, si no va a compartir datos con otras aplicaciones, no necesita un proveedor de contenido.

Enlace: ContentProvider