ejemplo - Gestionando conexiones SQLite en Android
sqlite on android (2)
La apertura de la conexión en SQLite es de unos 0.2ms.
La mejor práctica nos dice que abramos y cerremos la conexión cada vez que necesitemos una.
Tengo una pregunta rápida (con suerte) sobre el manejo de las conexiones de base de datos SQLite en Android. Tengo una aplicación que se compone, naturalmente, de varias actividades. No tengo problemas para crear / actualizar / consultar la base de datos, ya que he creado una única clase dedicada para manejar ese trabajo a través de SQLiteOpenHelper, etc.
Mi pregunta es la siguiente: dado que todas estas actividades comparten esta misma base de datos, ¿esto se implementa generalmente como un miembro único y estático, o cada actividad debe tener su propia conexión? Mi preocupación, por supuesto, es el costo de volver a conectarse a la base de datos en cada actividad.
O, dicho de otra manera, ¿hay alguna razón para no solo almacenar una instancia de singleton?
También me pregunto si hay algo detrás de la escena similar a la agrupación de conexiones de .NET para reducir el costo de abrir conexiones.
¡Gracias por adelantado!
Simplemente use SQLiteOpenHelper.getReadableDatabase() y SQLiteOpenHelper.getWriteableDatabase() : Android administrará y almacenará en caché la conexión para que no sea necesario.
De hecho, consulte la documentación oficial de Google Using Databases :
Para escribir y leer desde la base de datos, llame a getWritableDatabase () y getReadableDatabase (), respectivamente. Ambos devuelven una base de datos SQLite