SQLite Base de datos "contexto" pasó a adaptador

He seguido este tutorial para usar SQLite db en mi aplicación para Android. Ya que soy un principiante tengo problemas para entender el parámetro "contexto" utilizado en el ejemplo.

Quiero llamar al adaptador e insertar / actualizar / eliminar registros de una clase que no extiende la actividad que en este ejemplo representa el contexto.

Ahora no sé qué pasar en el adaptador como contexto, ya que no estoy llamando al adaptador de la actividad.

¿Puede alguien por favor explicar esto?

Pase el nombre de la actividad. Como contexto de la clase como argumento al constructor de la clase del adaptador, el nombre de la actividad es el nombre de la clase de actividad en la que está llamando al adaptador

Se podría imaginar que el contexto define WHERE / WHEN la base de datos sqlite existe. Sqlite bases de datos no existen por su cuenta, que existen dentro de los límites de su actividad, por lo tanto, en el contexto de su actividad.

Para los próximos pasos debes entender que el contexto es una "cosa" dinámica (en realidad puedes imaginarlo como alguien AQUÍ y AHORA). El contexto es individual a la actividad y su momento, así como tu aquí y ahora son tuyos y sólo tuyos y cambian con el tiempo.

Si estás llamando a una clase desde dentro de tu actividad, entonces este es el truco (pasando el contexto de la actividad dentro de la actividad en sí está bien – sorta como dices a tu amigo: así es como me siento ahora).

public class MyActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Context contextNew = this; myClass(contextNew); 

Una solución fácil alrededor de (panacea) sería crear una variable Context estático (contextVariable) dentro de MyActivity y acceder directamente desde fuera a través de: MyActivity.contextVariable. Pero eso no funciona, porque obtiene un error cuando intenta declarar / utilizar una variable de contexto estático.

Por lo tanto, si planea usar sqlite dentro de un servicio que NO se llama desde dentro de la actividad principal, como, por ejemplo, un servicio activado por un receptor de difusión (ni un servicio ni un receptor tienen un contexto per se), entonces debe Acceder al contexto de la aplicación original desde dentro de dicho receptor.

El acceso al contexto de la actividad original es simple, pero lejos de obvio.

Esto funciona para mí (thanx @ZiGi y @Cristian):

 import android.app.Service; import android.content.Context; public class BatchUploadGpsData extends Service { public Context contextNew; @Override public void onCreate() { contextNew = getApplicationContext(); 

Este es un ejemplo de código de trabajo que carga datos de navegación a una base de datos en la web cada vez que el dispositivo android se conecta a una red WIFI. Tengo un receptor que escucha los cambios de la conectividad (existente como una clase separada llamada directamente "de" archivo del manifiesto).

Espero que esto tenga sentido, si desea más detalles sobre esto, echa un vistazo a este post de la mina donde tengo el código completo (barebones) para dicho receptor.

Como se ve en el ejemplo, hay un contexto pasado a ToDoAdapter. Puede pasar actividad como un contexto o activity.getApplicationContext (). Lea sobre el contexto aquí .

  • SQLITE INSERT con ID manual (clave principal)
  • Android SQLite select * de la tabla donde nombre como% key% usando instrucciones preparadas
  • Obtener los siguientes N puntos geográficos más cercanos
  • Tratar con WHERE IN (?) En la consulta de SQLite de SQL
  • "No hay un constructor por defecto disponible en android.database.sqlite.SQLitepenhelper" en Android Studio
  • Limitación de una consulta SQLite en android
  • Cómo convertir el objeto de cursor en XML o JSON en android
  • Android: Incrementar el campo DB a través de ContentValues
  • Almacenamiento de datos grandes local o en línea para la aplicación de Android?
  • SQLite Android: parámetro nullColumnHack en los métodos insert / replace
  • Base de datos SQLite de Android, ¿POR QUÉ caída de tabla y volver a crear en la actualización
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.