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?

3 Solutions collect form web for “SQLite Base de datos "contexto" pasó a adaptador”

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í .

  • ¿Por qué fue InsertHelper obsoleta?
  • Consulta sqlite de Android para que coincida con la columna que contiene el texto
  • Devolver todas las columnas de una tabla SQLite en Android
  • SQLiteDatabase transacción anidada y solución alternativa
  • Identificar el tipo de datos de una columna en un Cursor Android de SQLite
  • ¿Cómo unir dos tablas SQLite en mi aplicación de Android?
  • Android: insertar varias filas en la base de datos sqlite no funciona
  • ¿Cómo popule ListView con elementos de la base de datos en Xamarin?
  • ¿Cuál es el mejor método para almacenar esta pequeña tabla de datos de sólo lectura en un teléfono Android?
  • Android: ¿Cómo acceder a los resultados de Cursor cuando INNER JOIN se realiza?
  • Android Sqlite - "No hay tal tabla" Error
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.