Android
Users
Inicio de sesión y registro en Android con Parse Server
18 min
tutorial de inicio de sesión y registro de usuario introducción en esta sección veremos cómo crear una aplicación con un registro de usuario simple utilizando las características principales de parse server a través de back4app este tutorial utiliza una aplicación básica creada en android studio 4 1 1 con buildtoolsversion=30 0 2 buildtoolsversion=30 0 2 , compile sdk version = 30 0 2 compile sdk version = 30 0 2 y targetsdkversion 30 targetsdkversion 30 en cualquier momento, puedes acceder al proyecto completo de android construido con este tutorial en nuestros repositorios de github repositorio de ejemplo en kotlin repositorio de ejemplo en java objetivo aprenderemos cómo iniciar sesión y registrarse utilizando parse aquí hay una vista previa de lo que vamos a lograr requisitos previos para completar este tutorial, necesitamos android studio una aplicación creada en back4app nota sigue el tutorial de nueva aplicación parse para aprender cómo crear una aplicación parse en back4app una aplicación de android conectada a back4app nota sigue el tutorial de instalación del sdk de parse para crear un proyecto de android studio conectado a back4app un dispositivo (o dispositivo virtual ) que ejecute android 4 1 (jelly bean) o más reciente 1 importar biblioteca en este paso importaremos las bibliotecas que vamos a usar en nuestro proyecto agregaremos las siguientes clases de parse a nuestras actividades 2\ usaremos funciones lambda con frecuencia en nuestro proyecto, por lo que necesitamos agregar java 1 8 a nuestro proyecto a través de build gradle(module\ app) 2 registrarse registrarse básicamente crea un nuevo objeto parse user en la clase user, mostrado como “user” en tu aplicación dashboard dashboard necesitamos establecer al menos dos propiedades al crear un nuevo usuario => parseuser setusername() parseuser setusername() y parseuser setpassword() parseuser setpassword() el método utilizado para guardar el nuevo usuario en android es parseuser signupinbackground() parseuser signupinbackground() , que puede venir junto con una función de callback nota los objetos de esta clase especial no se guardan en el dashboard dashboard con el método parseobject save() parseobject save() para hacer signupactivity signupactivity funcionar, sigue estos pasos importar en tu signupactivity signupactivity , además de las dependencias importadas en paso 1 2\ para implementar el registro de usuarios, simplemente usa el siguiente código en el oncreate() oncreate() método 1 parseuser user = new parseuser(); 2 // set the user's username and password, which can be obtained by a forms 3 user setusername( "\<your username here>"); 4 user setpassword( "\<your password here>"); 5 user signupinbackground(new signupcallback() { 6 @override 7 public void done(parseexception e) { 8 if (e == null) { 9 showalert("successful sign up!", "welcome" + "\<your username here>" +"!"); 10 } else { 11 parseuser logout(); 12 toast maketext(signupactivity this, e getmessage(), toast length long) show(); 13 } 14 } 15 });1 val user = parseuser(); 2 // set the user's username and password, which can be obtained by a forms 3 user setusername("\<your username here>"); 4 user setpassword("\<your password here>"); 5 user signupinbackground(signupcallback() { 6 if (it == null) { 7 showalert("successful sign up!", "welcome" + "\<your username here>" + "!"); 8 } else { 9 parseuser logout(); 10 toast maketext(this, it message, toast length long) show(); 11 } 12 }); en el proyecto de ejemplo, este código se coloca dentro de un registrarse registrarse callback de botón además, el nombre de usuario y la contraseña se obtienen usando editar textos 3\ es interesante agregar un método adicional para mostrar alert dialogs y hacer que el proceso se vea más profesional el método a continuación hace esto 1 private void showalert(string title,string message){ 2 alertdialog builder builder = new alertdialog builder(signupactivity this) 3 settitle(title) 4 setmessage(message) 5 setpositivebutton("ok", new dialoginterface onclicklistener() { 6 @override 7 public void onclick(dialoginterface dialog, int which) { 8 dialog cancel(); 9 // don't forget to change the line below with the names of your activities 10 intent intent = new intent(signupactivity this, logoutactivity class); 11 intent addflags(intent flag activity clear task | intent flag activity new task); 12 startactivity(intent); 13 } 14 }); 15 alertdialog ok = builder create(); 16 ok show(); 17 }1 private fun showalert(title string, message string) { 2 val builder = alertdialog builder(this) 3 settitle(title) 4 setmessage(message) 5 setpositivebutton("ok") { dialog, which > 6 dialog cancel() 7 // don't forget to change the line below with the names of your activities 8 val intent = intent(this, logoutactivity class java) 9 intent addflags(intent flag activity clear task or intent flag activity new task) 10 startactivity(intent) 11 } 12 val ok = builder create() 13 ok show() 14 } 3 iniciar sesión iniciar sesión crea un objeto session, que apunta al usuario que ha iniciado sesión si el inicio de sesión es exitoso, parseuser getcurrentuser() parseuser getcurrentuser() devuelve un objeto user, y un objeto session que se creó en el tablero tablero de lo contrario, si el nombre de usuario objetivo no existe, o la contraseña es incorrecta, devuelve null el método utilizado para realizar la acción de inicio de sesión es parseuser logininbackground() parseuser logininbackground() , que requiere tantos argumentos como las cadenas de nombre de usuario y contraseña, y puede llamar a una función de callback nota después de registrarse, el inicio de sesión se realiza automáticamente para hacer loginactivity loginactivity funcionar, sigue estos pasos importa en tu loginactivity loginactivity , además de las dependencias importadas en el paso 1 2\ para implementar la función de inicio de sesión de usuario, simplemente usa el código 1 private void login(string username, string password) { 2 progressdialog show(); 3 parseuser logininbackground(username, password, (parseuser, e) > { 4 progressdialog dismiss(); 5 if (parseuser != null) { 6 showalert("successful login", "welcome back " + username + " !"); 7 } else { 8 parseuser logout(); 9 toast maketext(loginactivity this, e getmessage(), toast length long) show(); 10 } 11 }); 12 }1 fun login(username string, password string) { 2 progressdialog? show() 3 parseuser logininbackground(username,password) { parseuser parseuser?, parseexception parseexception? > 4 progressdialog? dismiss() 5 if (parseuser != null) { 6 showalert("successful login", "welcome back " + username + " !") 7 } else { 8 parseuser logout() 9 if (parseexception != null) { 10 toast maketext(this, parseexception message, toast length long) show() 11 } 12 } 13 } 14 } en el proyecto de ejemplo, este código se coloca dentro de un iniciar sesión iniciar sesión callback además, el nombre de usuario y la contraseña se obtienen usando edit texts el método showalert showalert es el mismo que agregaste en el signupactivity signupactivity , no olvides cambiar sus intent intent argumentos 4 cerrar sesión cerrar sesión elimina el objeto de sesión activa para el usuario conectado el método utilizado para cerrar sesión es parseuser logoutinbackground() parseuser logoutinbackground() para implementar el cierre de sesión del usuario, simplemente utiliza el código a continuación, en el logoutactivity logoutactivity 1 parseuser logoutinbackground(e > { 2 progressdialog dismiss(); 3 if (e == null) 4 showalert("so, you're going ", "ok bye bye then"); 5 });1 fun login(username string, password string) { 2 progressdialog? show() 3 parseuser logininbackground(username,password) { parseuser parseuser?, parseexception parseexception? > 4 progressdialog? dismiss() 5 if (parseuser != null) { 6 showalert("successful login", "welcome back " + username + " !") 7 } else { 8 parseuser logout() 9 if (parseexception != null) { 10 toast maketext(this, parseexception message, toast length long) show() 11 } 12 } 13 } 14 } en el proyecto de ejemplo, este código se coloca dentro de un cerrar sesión cerrar sesión callback del botón el método showalert showalert es el mismo que agregaste en el loginactivity loginactivity y signupactivity signupactivity , no olvides cambiar sus argumentos de intent argumentos de intent 5 prueba tu aplicación ejecuta tu aplicación y crea un par de usuarios, también intenta iniciar sesión nuevamente después de registrarlos inicia sesión en sitio web de back4app encuentra tu aplicación y haz clic en tablero tablero > núcleo núcleo > navegador navegador > usuario usuario en este punto, deberías ver a tus usuarios como se muestra a continuación nota usando los códigos mostrados arriba, cada vez que inicies sesión con un usuario, se abre una sesión sesión en tu tablero tablero , pero cuando el usuario cierra sesión, esa sesión sesión particular termina además, cada vez que ocurre un intento fallido de inicio de sesión o registro, la sesión sesión abierta en el servidor parse tablero tablero se elimina ¡está hecho! ¡felicidades! ahora puedes iniciar sesión, registrarte o cerrar sesión en tu aplicación utilizando las características básicas del servidor parse a través de back4app!