Cómo crear login con usuario y contraseña en AppInventor 2/4

Tiempo Estimado de Lectura: 4 minutos
imagen destacada del post con un texto en el centro que dice Cómo crear login con usuario y contraseña en AppInventor 2/4 y abajo del texto aparece el nombre del autor Omar Obando
Rate this post

Introducción: Por qué implementar un sistema de login en App Inventor 2

En el desarrollo de aplicaciones móviles, la autenticación de usuarios es una funcionalidad crítica para personalizar experiencias y proteger datos. Si estás buscando crear un sistema de login con usuario y contraseña en App Inventor 2, este tutorial te guiará paso a paso, desde la configuración inicial hasta la integración con FirebaseDB, la base de datos en tiempo real de Google.

A diferencia de guías básicas, aquí profundizaremos en:

  • Configuración avanzada de pantallas (Screens) y navegación
  • Uso de componentes no visibles como FirebaseDB
  • Validación de contraseñas y manejo de errores
  • Buenas prácticas de seguridad para aplicaciones educativas

Configuración inicial del proyecto en App Inventor 2

Estructura básica de pantallas

Todo sistema de login requiere al menos tres pantallas:

  1. Screen1: Pantalla principal con botones de registro y login
  2. Screen2: Formulario de registro de nuevos usuarios
  3. Screen3: Formulario de inicio de sesión para usuarios existentes

Para crear esta estructura en App Inventor:

  • Ve a la pestaña "Designer"
  • Haz clic en "Add Screen" dos veces
  • Nombra las nuevas pantallas como "Screen2" y "Screen3" respectivamente

Navegación entre pantallas

La lógica de navegación se implementa en los bloques:

 // Para el botón "Registrar" en Screen1 al hacer clic en Botón_Registrar → abrir pantalla Screen2 // Para el botón "Iniciar Sesión" en Screen1 al hacer clic en Botón_Login → abrir pantalla Screen3 // Para el botón "Volver" en Screen2 y Screen3 al hacer clic en Botón_Volver → abrir pantalla Screen1 

Implementación de FirebaseDB: El corazón del sistema

FirebaseDB es un componente experimental en App Inventor que permite almacenar datos en la nube. Funciona como una hoja de cálculo donde:

  • Las etiquetas son equivalentes a los nombres de usuario
  • Los valores almacenan las contraseñas correspondientes

Configuración de FirebaseDB

  1. En la pestaña Designer, ve a "Palette" → "Experimental"
  2. Arrastra el componente FirebaseDB al visor
  3. Configura las propiedades:
    • FirebaseToken: Obtén uno en la consola de Firebase
    • FirebaseURL: Tu URL de proyecto Firebase

Desarrollo del formulario de registro (Screen2)

Elementos necesarios

Componente Propósito Configuración clave
TextBox1 Campo para nombre de usuario Hint: "Ingresa tu usuario"
TextBox2 Campo para contraseña PasswordMode: True
TextBox3 Confirmación de contraseña PasswordMode: True
Label_Estado Mensajes de feedback TextColor: Rojo para errores

Lógica de validación

El proceso de registro debe verificar:

  • Que las contraseñas coincidan
  • Que ningún campo esté vacío
  • Que el usuario no exista previamente

En bloques, esto se traduce a:

 al hacer clic en Botón_Registrar: si (TextBox2.Text = TextBox3.Text) y (TextBox2.Text ≠ "") entonces llamar FirebaseDB.ObtenerValor con etiqueta TextBox1.Text si (valor = "") entonces FirebaseDB.GuardarValor con etiqueta TextBox1.Text y valor TextBox2.Text Label_Estado.Text = "Registro exitoso" si no Label_Estado.Text = "Usuario ya existe" si no Label_Estado.Text = "Las contraseñas no coinciden o están vacías" 

¿Prefieres ver estos pasos en acción? El siguiente video muestra exactamente cómo implementar la validación de registro con ejemplos prácticos:

Desarrollo del formulario de login (Screen3)

Componentes esenciales

  • TextBox_Usuario: Para ingresar el nombre registrado
  • TextBox_Contraseña: Campo con propiedad PasswordMode activada
  • Label_EstadoLogin: Muestra mensajes de error/success

Lógica de autenticación

El flujo de verificación debe:

  1. Obtener el valor almacenado en Firebase para el usuario ingresado
  2. Compararlo con la contraseña proporcionada
  3. Manejar tres escenarios:
    • Usuario no existe (valor = "")
    • Contraseña incorrecta (valor ≠ TextBox_Contraseña.Text)
    • Credenciales correctas

Errores comunes y cómo solucionarlos

Problemas con FirebaseDB

Si la base de datos no responde:

  • Verifica que el FirebaseToken sea correcto
  • Confirma que las reglas de seguridad de Firebase permitan lectura/escritura
  • Prueba con una conexión a Internet estable

Validaciones fallidas

Cuando las comprobaciones no funcionan:

  1. Revisa que los nombres de componentes en bloques coincidan exactamente
  2. Verifica que no haya espacios en blanco inadvertidos (usa Trim)
  3. Implementa mensajes de error específicos para cada fallo

Preguntas frecuentes (FAQ)

¿Cómo puedo iniciar sesión en App Inventor?

Podemos entrar en la web de App Inventor haciendo clic en el icono del androide de la esquina superior izquierda, y dar "un paseo" por los recursos que hay en la página de App Inventor. Para proyectos existentes, necesitarás iniciar sesión con tu cuenta de Google asociada.

¿Qué se requiere para ingresar a MIT App Inventor?

Acceder a App Inventor Para empezar a usar entraremos en la dirección http://beta.appinventor.mit.edu/. Lo primero que nos pedirá será nuestro usuario y contraseña de Google. Los introducimos y entraremos en el Designer de App Inventor. Si es la primera vez que accedes, no tendrás ningún proyecto almacenado.

¿Qué se necesita para crear una cuenta en App Inventor?

Para utilizar la plataforma de programación de MIT App Inventor 2 solo es necesario: Una cuenta de google. Un ordenador con conexión a Internet. No se requieren recursos adicionales para el desarrollo básico, aunque para probar las apps necesitarás un dispositivo Android o el emulador.

¿Cómo recupero una contraseña olvidada en mi app creada con App Inventor?

El sistema básico que hemos creado no incluye recuperación de contraseña. Para implementarlo, necesitarías:

  1. Añadir un botón "Olvidé mi contraseña" en Screen3
  2. Crear una pantalla adicional (Screen4) para verificación por email
  3. Integrar el componente Web para enviar emails mediante API

¿Por qué mi aplicación no guarda los usuarios registrados?

Esto generalmente ocurre por:

  • Configuración incorrecta de FirebaseDB (URL o Token inválidos)
  • Reglas de seguridad de Firebase que bloquean escrituras
  • Errores en los nombres de etiquetas al guardar/recuperar valores

Mejoras y próximos pasos

Una vez funcione el sistema básico, considera añadir:

  • Encriptación básica: Usa el componente TinyDB local para almacenar una versión hasheada de las contraseñas
  • Recordar sesión: Implementa una preferencia que mantenga la sesión activa
  • Roles de usuario: Extiende la base de datos para diferenciar permisos

Este sistema de login, aunque básico, cubre los fundamentos para aplicaciones educativas o prototipos. Para proyectos comerciales, considera usar soluciones más robustas como Firebase Authentication directamente.

Hey, soy un programador que sabe lo frustrante que puede ser no poder entrar a una cuenta. Por eso hice este blog: para ayudarte a iniciar sesión sin complicaciones. Todo es gratis y explicado con calma, sin tanto enredo.
Artículos relacionados de la misma categoría: