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.

  • Expandablelistview extiende simplecursoradapter para poblar desde sqlite
  • La concurrencia de webview de Android causó SQLiteException: la base de datos está bloqueada
  • Cómo reducir la base de datos sqlite?
  • Android Guardar objeto como blob en sqlite
  • La mejor manera de agrupar fotos con app: archivos o en la base de datos sqlite?
  • Android y SQLite: ¿Cuándo usar punto y coma para finalizar las sentencias?
  • Sqlite no devuelve ninguna tabla, pero la tabla está presente cuando se obtiene en el dispositivo OnePlusTwo
  • Obteniendo un valor único de SQLite en android
  • SQLiteDatabase - ¿Cómo utilizar la cláusula where?
  • ¿Necesito un proveedor de contenido con un cargador de cursor?
  • Unir tablas en SQLite.Net con LINQ en xamarin.android no es compatible
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.