![]() |
|
Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
«
Tema Anterior
|
Siguiente tema
»
|
Herramientas |
#1
|
SobreSQLite y SharedPreferences
Tengo una base de datos SQLite estática donde leo ciertos campos y los muestro. Con algo de código mediante el evento OnClick de un botón en pantalla, guardo en ciertas variables la tabla, fila y celda mostradas en esa ejecución. Mi intención era guardar estos valores para rellenar otra Activity mediante la lectura de la base de datos con las variables guardadas anteriormente (tabla, fila y celda).
No encuentro una solución para hacer esto, puesto que pensé en SharedPreferences pero no se ajusta a lo que busco. Hay alguna otra opción, además de crear otra tabla en la base de datos que ya tengo? (Esta opción me parecía algo engorrosa a priori, pero tal vez sea la mejor) Un saludo y gracias. Última edición por Bongiovi Día 12/07/14 a las 20:26:57 |
|
#2
|
||||
|
||||
Puedes pasarle los parámetros que quieras a la segunda actividad con el Intent.
Si lo que quieres es guardar los datos para distintas ejecuciones, entonces sí hace falta almacenamiento persistente, con las preferencias va sobrado. |
#3
|
||||
|
||||
Si lo que quieres es que el usuario rellene unos campos, guardarlos en la BD y a la vez que se abra una nueva activity con los datos rellenados, lo más facil es pasarle los parámetros a la nueva Activity mediante un Intent, como te ha dicho mocelet
Código:
Intent i = new Intent(this, Activity2.class); i.putExtra("CLAVE", valor); //Siendo valor un String, Int... o incluso un Parcelable startActivity(i); Código:
Bundle extras = getIntent().getExtras(); if (extras != null) { X nombreVariable = extras.getX("CLAVE"); //Siendo X String, int... o incluso un Parcelable } |
#4
|
Gracias por vuestras respuestas. El Intent no me sirve, puesto que los datos tienen que almacenarse de manera persistente.
En cuanto a SharedPreferences, tampoco me funcionaba por lo siguiente: asocié al evento de un botón colocar las variables tabla, fila y celda mediante el método putString (prefs.putString(key, value)), el problema es que ante distintas ejecuciones del programa no puedo guardar todos los datos, puesto que se sobreescriben dentro de la key que paso al método putString. No se si me he explicado ![]() Gracias y un saludo. |
#5
|
||||
|
||||
Si tienes que almacenar varias "tabla, fila y celda" y son indefinidos tienes que ir a morir a SQLite.
|
#6
|
|
Cita:
Código:
tabla = new String[numFilas]; tablaFila = new String[numFilas]; celda = new String[numFilas]; for (int i=1 ; i<=numFilas ; i++) { fila = miBBDDHelper.leerBBDD("DoneBin", i); tabla[i-1] = fila[0]; tablaFila[i-1] = fila[1]; celda[i-1] = fila[2]; } El problema es que "tabla", "tablaFila" y "celda" se rellenan con la última fila de la tabla "DoneBin". Es decir, si "DoneBin" tiene 12 filas, los 3 Arrays tienen 12 elementos iguales correspondientes a las 3 columnas de la tabla. Me trae loco esto, ¿dónde está el fallo? Un saludo. EDITO. El problema estaba en la definición del método "leerBBDD(String, int)". Doy por resuelto el post, muchas gracias ;) Última edición por Bongiovi Día 12/07/14 a las 20:26:18 |
Respuesta |
![]() |
||||||
|
«
Tema Anterior
|
Siguiente tema
»
|
|
Hora actual: 06:55:55 (GMT +2)
HTCMania: líderes desde el 2007