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

Respuesta
 
Herramientas
  #1  
Viejo 09/07/14, 23:32:38
Array

[xs_avatar]
Bongiovi Bongiovi no está en línea
Miembro del foro
 
Fecha de registro: oct 2012
Localización: España
Mensajes: 186
Modelo de smartphone: Motorola Moto G , BQ Maxwell 2 Lite
Tu operador: Simyo
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.
Responder Con Cita


  #2  
Viejo 10/07/14, 08:00:29
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -

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.
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Responder Con Cita
  #3  
Viejo 10/07/14, 11:09:16
Array

[xs_avatar]
Dexafree Dexafree no está en línea
Mr. FAQMan
· Votos compra/venta: (1)
 
Fecha de registro: dic 2008
Mensajes: 8,021
Modelo de smartphone: Samsung Galaxy S i9000 + Galaxy Tab 10.1 WiFi
Tu operador: Movistar
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);
Y luego en la Activity 2, en el onCreate:

Código:
Bundle extras = getIntent().getExtras();
if (extras != null) {
    X nombreVariable = extras.getX("CLAVE"); //Siendo X String, int... o incluso un Parcelable
}
Responder Con Cita
  #4  
Viejo 10/07/14, 11:35:29
Array

[xs_avatar]
Bongiovi Bongiovi no está en línea
Miembro del foro
 
Fecha de registro: oct 2012
Localización: España
Mensajes: 186
Modelo de smartphone: Motorola Moto G , BQ Maxwell 2 Lite
Tu operador: Simyo
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.
Responder Con Cita
  #5  
Viejo 10/07/14, 12:12:59
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
Si tienes que almacenar varias "tabla, fila y celda" y son indefinidos tienes que ir a morir a SQLite.
Responder Con Cita
  #6  
Viejo 12/07/14, 00:04:04
Array

[xs_avatar]
Bongiovi Bongiovi no está en línea
Miembro del foro
 
Fecha de registro: oct 2012
Localización: España
Mensajes: 186
Modelo de smartphone: Motorola Moto G , BQ Maxwell 2 Lite
Tu operador: Simyo
 Cita: Originalmente Escrito por kriogeN Ver Mensaje
Si tienes que almacenar varias "tabla, fila y celda" y son indefinidos tienes que ir a morir a SQLite.
Reutilizo este post para preguntar sobre un error que tengo tras usar SQLite para lo comentado anteriormente.
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 código anterior está pensado para rellenar los Arrays "tabla", "tablaFila" y "celda" con los datos de una BBDD, dentro de la tabla "DoneBin". El método "leerBBDD(String, int)" devuelve un StringArray con los campos de la fila de mi BBDD (los parámetros que se le pasan son la tabla y la fila de la tabla).

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.
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 09:35:44 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /