Especificar el tamaño de sqlite db máximo para mi aplicación. Cómo manejar db completa excepción

Me preguntaron en una entrevista cómo podemos establecer el tamaño máximo de sqlite db para nuestra aplicación para Android. ¿Y cómo podemos manejar cuando se alcanza el tamaño máximo?

EDIT : La respuesta de Marina Lynn a continuación parece aceptable para esta pregunta. Pero ¿Hay algún tipo de oyentes que se activan cuando el tamaño de db alcanza cerca del límite que hemos especificado? (O algo como esto)

Primero, para establecer el tamaño máximo de la base de datos utilice .setMaximumSize() como se mencionó en la respuesta anterior.

Segundo, Android lanza SQLiteFullException si el archivo de base de datos crece más que el número máximo de páginas * tamaño de página. SQLiteFullException es una SQLiteFullException RuntimeException . Si desea manejarlo y enviar una respuesta relevante, hará algo como:

 try { getContentResolver().update(myEntity.CONTENT_URI, values, where, null); } catch (SQLiteFullException e) { Log.w(TAG, "Exception when updating ...", e); } 

Aunque no hay límite en el tamaño de la base de datos excepto en el almacenamiento disponible, puede establecer el tamaño máximo que creará la base de datos SQLiteDatabase.setMaximumSize() . Si usted alcanza el límite usted tiene que encoger su base de datos. O puede mover su base de datos desde la memoria interna al almacenamiento externo posiblemente con más espacio libre disponible y aumentar el tamaño máximo de la base de datos. Pero las bases de datos pesadas conducen a la mala experiencia del usuario así que la segunda opción considera teórica. Recuerde que estamos en un entorno móvil y no en un servidor de base de datos dedicado.

  • Android: Sugar ORM No hay tal excepción de tabla
  • Sugar ORM para Android no puede encontrar el nombre de mi columna
  • Excepción no manipulada org.json.jsonexception
  • SQLiteConstraintException: código de error 19: falla de restricción
  • Ejemplo de creación de un sqlite db en memoria en Java (Android)?
  • Cómo consultar una tabla FTS4 de contenido externo pero devolver columnas adicionales de la tabla de contenido original
  • SQLite de Android que incrementa un valor de columna
  • Bucle a través de un Cursor SQLite lleva demasiado tiempo
  • Posible obtener detalles de error específicos de Android SQLiteConstraintException?
  • ¿Rellenar la base de datos de Android desde el archivo CSV?
  • ¿Cómo puedo hacer un contexto de base de datos SQLite nulo en OnDestroy () en Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.