Android - Ayuda con SQLITE para un Login

 
Vista:

Ayuda con SQLITE para un Login

Publicado por Laura Gonzalez (5 intervenciones) el 13/06/2019 02:00:55
Hola a todos...

Espero se encuentren bien

Estoy creando un login en una app con SQLITE, pero necesito que solo tenga la opcion de registrar un solo login o un solo dato con su contraseña, osea si ya hay un correo registrado no pueda registrar mas, pero no se como hacer,

Que cuando se le de en la opcion de "registrar" y ya tenga un dato almacenado salga el Toast que diga "ya hay un correo y contraseña registrada, no se puede registrar mas"

No se si sea con un ArrayList q haga el conteo de los datos y si es >1 no se pueda...
O con un if(cursor.getCount()>1), o algo asi

Que solo deje almacenar un solo dato con su contraseña...

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 444
Oro
Ha mantenido su posición en Android (en relación al último mes)
Gráfica de Android

Ayuda con SQLITE para un Login

Publicado por juanki (253 intervenciones) el 13/06/2019 10:56:28
Hola

Una forma sencilla, cuando el usuario se registra, antes de guardar los datos en la base de datos, haces una consulta a la base de datos algo así : "SELECT emal FROM usuarios WHERE email= 'nuevo_email'". nuevo_email es el email que acaba de introducir el usuario para registrarse. Si te trae algún registro es que ese email ya está guardado en la base de datos.

Otra forma, antes de pedir el registro al usuario, cargas de la base de datos todos los email guardados y los metes en un arraylist. Cuando el usuario introduzca el suyo para registrase miras en esa lista si está.

Es lo mismo, pero hecho de dos formas diferentes.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con SQLITE para un Login

Publicado por Laura Gonzalez (5 intervenciones) el 13/06/2019 18:45:57
Hola Juanki

Mucha Gracias Por Tu Colaboración...

Lo que necesito es que solo me deje grabar un solo dato con su contraseña...

Creo q tengo q hacer el conteo con el ArrayList pero no se como... si ya hay un dato grabado no me deje grabar mas...no importa si sea el mismo email o uno nuevo... no se si me hago entender...

Un Abrazo

Saludos :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 444
Oro
Ha mantenido su posición en Android (en relación al último mes)
Gráfica de Android

Ayuda con SQLITE para un Login

Publicado por juanki (253 intervenciones) el 13/06/2019 21:45:29
Hola

¿Qué quieres decir con que deje grabar un solo dato? ¿Solo tener un usuario?

Lo del ArrayList es lo que te he dicho, cargas de la base de datos todos los usuarios y los metes en un arraylist, cuando el usuario introduzca los datos, los comparas con los guardados en el array y así sabes si ya existe o no.

Si no quieres precargar los datos, haces lo otro que te dije, el usuario teclea los datos y luego haces una consulta a la base de datos a ver si existen los que acaba de teclear el usuario.

Normalmente, la contraseña no importa que se repita, es más, sería muy raro que diferentes usuarios usen la misma, lo que se suele comprobar que no se repita es el email del usuario, así un mismo usuario no podrá tener varias cuentas, a no ser que tenga varios email, claro :P

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con SQLITE para un Login

Publicado por Laura Gonzalez (5 intervenciones) el 14/06/2019 03:25:13
hola Juanki

Gracias por tu intención de ayudarme :)

Creo q no me he hecho entender...jejeje

"¿Qué quieres decir con que deje grabar un solo dato? ¿Solo tener un usuario?"

Me explico mejor... necesito q la app, la persona q la descargue en su cel, al abrirla le aparece registrarse, allí crea su login y su contraseña, ya después de esto la persona entra cuando quiera all app, con su login y contraseña,

Ya existe "un usuario y una contraseña" = 1 dato

Hasta ahí todo muy bien.. ya todo eso lo tengo hecho con Sqlite etc...

Lo que necesito es q si esa persona quiere o desea crear otro usuario nuevo y otra contraseña en el "mismo celular", le aparezca q ya no se puede, porque ya hay un usuario registrado...

El Sqlite ya tiene un dato guardado... no quiero q pueda crear mas o almacenar mas...

Gracias Juanki

Creo que es con el Arraylist si al revisar los registros es =1 no pueda registrar mas o algo así o con el f(cursor.getCount()>1), en fin.

Es como ponerle un límite al Sqlite de la cantidad de datos que pueda Guardar

Un Abrazo

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Emanuel
Val: 12
Ha aumentado su posición en 4 puestos en Android (en relación al último mes)
Gráfica de Android

Ayuda con SQLITE para un Login

Publicado por Emanuel (3 intervenciones) el 14/06/2019 12:23:58
Hola, me parece bien tu propuesta. Recuperas las tuplas de la tabla de usuarios y contas cuántos hay, si hay 1 no se puede crear más tuplas de usuario y si el conteo es 0 puede crear un usuario.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con SQLITE para un Login

Publicado por Laura Gonzalez (5 intervenciones) el 15/06/2019 17:56:17
Exactamente Emanuel... pero no se como hacer :(

Gracias por tu comment !!

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 444
Oro
Ha mantenido su posición en Android (en relación al último mes)
Gráfica de Android

Ayuda con SQLITE para un Login

Publicado por juanki (253 intervenciones) el 14/06/2019 12:25:41
Hola

Entonces es tan fácil como hacer un "SELECT * FROM usuarios", si la consulta devuelve algún resultado es que ya tienes un usuario guardado. Entonces puedes deshabilitar o no mostrar el botón para registrarse, así no das opción a que se vuelva a registrar.

Pero de todas formas, si la aplicación se ejecuta en el móvil y no conecta con ningún servicio web o lo que sea, no lo veo sentido que guardes un único usuario y contraseña, si solo el dueño del móvil la va a usar. Si quieres un poco de protección por si los datos son sensibles o algo, guarda únicamente una contraseña y que la pida al iniciar y listo.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con SQLITE para un Login

Publicado por Laura Gonzalez (5 intervenciones) el 15/06/2019 18:04:20
Hola Juanki,

Así es... pero he probado de todas las formas y no puedo :(

Esto es lo que tengo en la clase Adaptador

// checking if email exist
public Boolean checkmail(String email) {
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery("Select * from user where email=?", new String[]{email});
if(cursor.getCount()> 0) return false;
else return true;
}

Pero en la clase Login le he hecho de todo y no he podido saber bien :(... como hacer para q me revise el número de datos... o q me haga el conteo...

le he puesto el getCount ==1 y nada, le he cambiado el "chceckmail" por false donde es true y visceverza y nada.... :(

Cabe aclarar que no soy muy especialista en programación pero si entiendo muchas cosas...

Yo se q debe ser muy facil pero no he podido dar con la formula :(

Gracias por tu buena intención :)

Espero puedas ayudarme...

Un abrazo

Saludos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar