Implementación de Logout con Huawei AccountKit y Refactorización en Android
Clase 13 de 31 • Curso de Desarrollo de Aplicaciones con Huawei
Resumen
¿Cómo implementar el método logout con Huawei AccountKit?
Para implementar el método logout con Huawei AccountKit de manera efectiva, sigue estos pasos clave. Primero, organiza tu proyecto, creando actividades y paquetes bien estructurados. Esto te facilitará gestionar el código y asegurarte de que tu aplicación hselficam funcione adecuadamente. A continuación, implementarás la función de logout y realizarás pruebas para confirmar que el proceso sea exitoso.
¿Cómo organizar las actividades y paquetes?
Es fundamental empezar organizando tu proyecto para facilitar el acceso y la modificación del código. Lo primero que debes hacer es:
- Crear una nueva actividad: Introduce una nueva actividad llamada
activity_home
. Esta será la actividad principal que alojará tu botón de logout. - Organizar paquetes: Crea dos paquetes nuevos:
- Paquete
auth
: Este paquete albergará las clases relacionadas con la autenticación. - Paquete
main
: En este se alojarán las clases principales como la actividadMainActivity
.
- Paquete
Una vez organizados los paquetes, mueve las actividades correspondientes a cada paquete y verifica en el manifiesto de tu aplicación que estén correctamente referenciadas.
¿Cómo realizar el redireccionamiento tras el login?
Para garantizar que el usuario sea redirigido correctamente a la actividad principal después de un inicio de sesión exitoso, realiza estos ajustes en tu flujo:
- Modificar la actividad de autenticación: En tu proceso de login, en lugar de mostrar un mensaje de éxito, redirige al usuario a la
MainActivity
recién creada. - Finalizar la actividad anterior: Una vez que se redirija al usuario a la nueva actividad, finaliza la actividad de autenticación para liberar recursos y prevenir el regreso innecesario.
val intent = Intent(this, MainActivity::class.java)
startActivity(intent)
finish()
¿Cómo añadir el botón de logout en el layout?
En la MainActivity
, podrás definir un botón de logout para la interacción del usuario con el siguiente proceso:
- Agregar un icono Vector Asset: Selecciona un icono, como una flecha de navegación hacia atrás, mediante el Vector Asset en Android Studio.
- Configurar el botón con constraints: Ajusta el tamaño y posición del botón:
<Button android:id="@+id/btn_logout" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_constraintTop_toTopOf="parent" app:layout_constraintEnd_toEndOf="parent" tools:ignore="MissingConstraints"/>
- Crear un Listener en MainActivity: Dentro de
onCreate
, implementa el listener del botón:
val btnLogout = findViewById<Button>(R.id.btn_logout)
btnLogout.setOnClickListener {
logoutWithHuaweiID()
}
¿Cómo programar la función de logout con Huawei ID?
La función logout se programa de forma similar a cómo se gestiona la autenticación, utilizando parámetros de autenticación y un servicio adecuado:
- Crear la función de logout:
- Define los parámetros de autenticación.
- Crea un objeto de tipo
HuaweiAuthParamsHelper
.
private fun logoutWithHuaweiID() {
val authParams = HuaweiIdAuthParamsHelper(HuaweiIdAuthParams.DEFAULT_AUTH_REQUEST_PARAM).createParams()
val authManager = HuaweiIdAuthManager.getService(this, authParams)
val signOutTask = authManager.signOut()
signOutTask.addOnSuccessListener {
startActivity(Intent(this, AuthActivity::class.java))
finish()
}.addOnFailureListener {
Toast.makeText(this, "Logout fallido", Toast.LENGTH_LONG).show()
}
}
- Controlar interacciones de navegación: Override la función
onBackPressed()
enMainActivity
para controlar cómo se comporta la navegación hacia atrás.
override fun onBackPressed() {
// Evita acciones no deseadas al presionar atrás
}
¿Qué implica realizar pruebas de logout en la aplicación?
Finalmente, después de implementar y llamar correctamente a la función de logout desde el botón en MainActivity
, es esencial probar la funcionalidad. Los pasos para llevar a cabo las pruebas son:
- Ejecutar la aplicación: Asegúrate de que se compila correctamente sin errores y despliega en un dispositivo o emulador.
- Probar inicio de sesión y logout: Inicia sesión con Huawei ID, verifica que se redirige correctamente a
MainActivity
, y prueba el botón de logout para confirmar que devuelve al usuario a la página de autenticación.
Con estos pasos, habrás implementado exitosamente la función de logout con Huawei AccountKit, fortaleciendo la seguridad y usabilidad de tu aplicación. Este conocimiento te será particularmente útil para integrar futuros módulos como Huawei Machine Learning. ¡Sigue adelante y sigue aprendiendo!