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 27/04/12, 21:34:18
Array

[xs_avatar]
gohan0189 gohan0189 no está en línea
Miembro del foro
 
Fecha de registro: feb 2012
Mensajes: 190
Tu operador: TELCEL

sqlite

hola buen dia

estoy tratando de trabajar con sqlite

lo que necesito es poner una concdicion para ver si existe la tabla "name" o ya hay algun registro dentro de ella , esto es si no existe que se muestren unos layout de registro, si si existe algun registro q muestre los layouts sobrantes , alguien tiene algun ejemplo o alguna pagina , tutorial o algo q me pueda servir??

no se como decirle con codigo que ya no inicie en cierto layout si no en el otro
Responder Con Cita


  #2  
Viejo 28/04/12, 19:46:02
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 haces las cosas bien con SQLite la tabla va (debe) existir siempre. Lo que debes comprobar es que existen registros dentro de ella, y para eso puedes hacer un SELECT COUNT(*) por ejemplo, o simplemente intentar seleccionar y si no consigues leer nada es que no hay registros.

Aquí tienes un ejemplo de como se hace:

http://www.sgoliver.net/blog/?p=1646
Responder Con Cita
  #3  
Viejo 29/04/12, 12:54:35
Array

[xs_avatar]
hecsagis hecsagis no está en línea
Desarrollador
· Votos compra/venta: (1)
 
Fecha de registro: mar 2009
Mensajes: 266
Modelo de smartphone: Nexus 5
Tu operador: Vodafone
Si lo único que quieres almacenar es un usuario y saber si es la primera vez que se ejecuta o no te va a ser mucho más sencillo y eficaz utilizar SharedPreferences que una tabla SQLite:

http://developer.android.com/guide/t...rage.html#pref

http://developer.android.com/referen...eferences.html

Te bastará con guardar los campos que necesites para el registro y un campo extra booleano que inicialmente sea "false" indicando si el usuario se ha registrado.

Cada vez que abres la app se comprobará ese campo, la primera vez será "false" y pones una condición que si es "false" te vaya a la pantalla de registro, una vez en esa pantalla cuando el usuario se registre le cambias el valor a "true" y ya no lo tocas nunca más.

A partir de ahí cada vez que se abra la app y lea que el valor es "true" en lugar de ir a la pantalla de registro le indicas que vaya a la pantalla que quieras.

Si no te aclaras mucho con lo que dice el link avisame, que realmente se implementa en 4 líneas y no requieres ni estructuras y datos adicionales y te pego un código de ejemplo
Responder Con Cita
Gracias de parte de:
  #4  
Viejo 29/04/12, 16:16:41
Array

[xs_avatar]
Sopanda Sopanda no está en línea
Usuario muy activo
 
Fecha de registro: abr 2009
Localización: Feldkirch (Austria)
Mensajes: 575
Modelo de smartphone: Galaxy Note
Tu operador: Pepephone
Yo como el compañero anterior para la funcionalidad que comentas utilizaría solo SharedPreferences. Yo por ejemplo en la aplicación que estoy haciendo necesito saber si es la primera vez que ejecuta la aplicación para que me introduzca una fecha que necesita el programa, y lo he hecho con SharedPreferences y va perfecto. Te evitas así tener que utilizar una base de datos.
__________________
Visitar mi blog sobre ANDROID.
bamboo5.blogspot.com
Buscar en GOOGLE PLAY mis apps gratuitas LENTILLAS WIDGET, EATTOOL y TRIPTOOL
COACHMANAGER para gestión de entrenadores.
Responder Con Cita
Gracias de parte de:
  #5  
Viejo 01/05/12, 17:36:42
Array

[xs_avatar]
gohan0189 gohan0189 no está en línea
Miembro del foro
 
Fecha de registro: feb 2012
Mensajes: 190
Tu operador: TELCEL

gracias hecsagis

no estaria nada mal si tuvieras un ejemplo mas entendible xq la vdd soy novato y con lo que viene en la pag me hago bolas jejejejeje si no es mucha molestia y pudieras ponerme el ejemplo que dices seria de gran utilidad gracias
Responder Con Cita
  #6  
Viejo 01/05/12, 18:05:20
Array

[xs_avatar]
hecsagis hecsagis no está en línea
Desarrollador
· Votos compra/venta: (1)
 
Fecha de registro: mar 2009
Mensajes: 266
Modelo de smartphone: Nexus 5
Tu operador: Vodafone
Un ejemplo fácil:

En el OnCreate de tu Activity principal añades lo siguiente:

boolean primera; //Declaramos estas variables
String user, pass;


//Cargamos el valor de las variables desde una estructura SharedPreferences.

SharedPreferences misDatos = getApplicationContext().getSharedPreferences("misd atos", 0);
primera = misDatos.getBoolean("primera", "true");
user= misDatos.getString("user", "");
pass = misDatos.getString("pass", "");

//Con eso de ahí cargará el valor almacenado, si es la primera vez que se ejecuta, como no habrá nada cargará el valor por defecto (el segundo parámetro de la asignación), es decir, user y pass en blanco y primera será igual a true, lo que quiere decir que es la primera vez que ejecutamos la aplicación.


//A continuación añades la siguiente condición en el programa:

if(primera){
//Cargar intent que vaya a la pantalla de registro
}
else{
//Cargar intent que vaya a la pantalla cuando se trata de alguien ya registrado
}


--------------------------------

Con eso tendríamos todo lo que hay que añadir a la activity principal, ahora solo falta guardar los datos de registro en la pantalla empleada para tal propósito.

En la activity de registro, una vez el usuario ha introducido user y pass bastará con añadir el siguiente código:

SharedPreferences misDatos = getApplicationContext().getSharedPreferences("misd atos", 0);
SharedPreferences.Editor editor = misDatos.edit();
editor.putBoolean("primera", false); //Con esto le indicamos que ya se ha registrado
editor.putString("user", evUser.getText().toString()); //Guardas el nombre de usuario del EditView que sea
editor.putString("pass", evPAss.getText().toString()); //Guardas la pass
editor.commit();
------------------------------------

Y eso es todo, a partir de ahí cada vez que ejecutes el programa la variable boolean primera será igual a false, por lo que a partir de la condición que has puesto saltará a la activity correspondiente.

Como ves es muy sencillo y basta con añadir unas 10 líneas de código
Responder Con Cita
Gracias de parte de:
  #7  
Viejo 01/05/12, 18:48:08
Array

[xs_avatar]
gohan0189 gohan0189 no está en línea
Miembro del foro
 
Fecha de registro: feb 2012
Mensajes: 190
Tu operador: TELCEL

de verdad muchas gracias me acabas de salvar hecsagis

tengo una duda a ver si se puede y si puedes ayudarme , al iniciar mi app empieza en la pantalla de registro (esto siendo la primera vez) pero si ya es la segunda todo eso del sharedpreferences tendria q ponerlo en el oncreate de mi activity de registro y por tanto se carga la pantalla auque despues se la salte pero ya la cargo, hay alguna forma para que no carge la pantalla y se vaya directo a la otra??? espero me de a entender
Responder Con Cita
  #8  
Viejo 01/05/12, 18:49:04
Array

[xs_avatar]
gohan0189 gohan0189 no está en línea
Miembro del foro
 
Fecha de registro: feb 2012
Mensajes: 190
Tu operador: TELCEL

o tendria que crear una nueva activity para q de ahi me mande a la de registro o a la otra??
Responder Con Cita
  #9  
Viejo 01/05/12, 21:52:53
Array

[xs_avatar]
hecsagis hecsagis no está en línea
Desarrollador
· Votos compra/venta: (1)
 
Fecha de registro: mar 2009
Mensajes: 266
Modelo de smartphone: Nexus 5
Tu operador: Vodafone
Lo que yo haría es que la activity principal no sea la del registro, de esa forma si es la primera vez carga la de registro y si es la segunda o siguientes que se quede en esa activity o cargue otra diferente, según el funcionamiento que quieras darle
Responder Con Cita
  #10  
Viejo 01/05/12, 23:53:52
Array

[xs_avatar]
gohan0189 gohan0189 no está en línea
Miembro del foro
 
Fecha de registro: feb 2012
Mensajes: 190
Tu operador: TELCEL

si pero de todas formas si pongo la otra como principal esa tambien se cargara aunque se la primera vez osea se carga y manda a llamar la de registro pero si se regresan volveran a esa
Responder Con Cita
  #11  
Viejo 02/05/12, 01:28:02
Array

[xs_avatar]
gohan0189 gohan0189 no está en línea
Miembro del foro
 
Fecha de registro: feb 2012
Mensajes: 190
Tu operador: TELCEL

otra pregunta hay alguna forma de borrar el sharedpreferences??? con codigo
Responder Con Cita
  #12  
Viejo 02/05/12, 09:54:47
Array

[xs_avatar]
hecsagis hecsagis no está en línea
Desarrollador
· Votos compra/venta: (1)
 
Fecha de registro: mar 2009
Mensajes: 266
Modelo de smartphone: Nexus 5
Tu operador: Vodafone
Siempre que quieras, simplemente en la activity que quieras borrar los datos ejecutas la parte en la que guardas el valor de las variables y les asignas lo que quieras, por ejemplo para borrar yo haría:

SharedPreferences misDatos = getApplicationContext().getSharedPreferences("misd atos", 0);
SharedPreferences.Editor editor = misDatos.edit();
editor.putBoolean("primera", true);
editor.putString("user", "");
editor.putString("pass", "");
editor.commit();
Responder Con Cita
Gracias de parte de:
  #13  
Viejo 02/05/12, 17:26:03
Array

[xs_avatar]
gohan0189 gohan0189 no está en línea
Miembro del foro
 
Fecha de registro: feb 2012
Mensajes: 190
Tu operador: TELCEL

pero eso seria para borrar los datos, pero para borrar el registro digamos, hay alguna forma???
Responder Con Cita
  #14  
Viejo 02/05/12, 21:58:05
Array

[xs_avatar]
hecsagis hecsagis no está en línea
Desarrollador
· Votos compra/venta: (1)
 
Fecha de registro: mar 2009
Mensajes: 266
Modelo de smartphone: Nexus 5
Tu operador: Vodafone
Para borrarlo por completo:

getApplicationContext().getSharedPreferences("misd atos", 0).edit().clear().commit()
Responder Con Cita
Gracias de parte de:
  #15  
Viejo 03/05/12, 19:52:41
Array

[xs_avatar]
gohan0189 gohan0189 no está en línea
Miembro del foro
 
Fecha de registro: feb 2012
Mensajes: 190
Tu operador: TELCEL

muchas gracias hecsagis eres de gran ayuda

aprovechandote jejje una duda como puedo cerrar un activity desde otra??

ejemplo

tengo 2 activitys,

activity1
activity2

de la activity uno pasa al dos y cuando le doy en un boton de finalizar en el activity dos quiero q se cierren los dos

activity2.this.finish(); asi solo cierro la dos pero la uno no se como
Responder Con Cita
Respuesta

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



Hora actual: 03:32:48 (GMT +2)



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

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