¿Qué hace la clase SQLiteOpenHelper con el parámetro de contexto?

Estoy extendiendo la clase SQLiteOpenHelper . Mi constructor es

 public MyDatabaseHelper(Context context) { super( context, // ??? "MyDatabase.db", // Database name null, // Cursor factory 1 // database version ); } 

¿Qué hace el constructor SQLiteOpenHelper con la información de contexto?

Para mi aplicación, el constructor se comportará de la misma independientemente del estado del programa (contexto). ¿Puedo pasar a cero para el contexto sin ningún problema futuro?

Si proporciona un valor nulo, creará una base de datos en memoria en su lugar, pero también tendrá que proporcionar null para el parámetro de nombre de base de datos para que se maneje correctamente.

Esto se documenta en la documentación del constructor para el contexto

Contexto a utilizar para abrir o crear el nombre de base de datos del archivo de base de datos, o null para una base de datos en memoria

Además, si ve el código fuente de la clase SQLiteHelper en sí, verá que utiliza el valor mName para decidir si desea utilizar mContext. Ver el código fuente en línea aquí:

http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.4_r1.2/android/database/sqlite/SQLiteOpenHelper.java#SQLiteOpenHelper.0mContext

  • Excepción "tabla ... no tiene columna nombrada ..."
  • ¿La desinstalación de una aplicación android borra la base de datos almacenada en sdcard?
  • ¿Cuál es el uso de moveToFirst () en cursores SQLite
  • La restricción UNIQUE falló: base de datos sqlite: android
  • Encriptación de contraseña de Android SQlite?
  • Android getColumName y getColumnIndex
  • Cómo obtener entradas nulas de sqlite en android
  • sqlite Android - cómo obtener el valor de col / fila específica
  • Android: inserta una matriz de imágenes de mapa de bits en la base de datos SQLite
  • Confuso respecto a SQLiteOpenHelper y crear varias tablas
  • ¿Qué diferencia hay entre SQLite y SQL?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.