Blog para desarrollo de aplicaciones en Android, aprende paso a paso como crear aplicaciones.

Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus h谩bitos de navegaci贸n para mostrarle publicidad personalizada y realizar an谩lisis de uso de nuestro sitio.
Si contin煤a navegando consideramos que acepta su uso. OK M谩s informaci贸n | Y m谩s

馃敀 C贸mo Crear un Login y Registro en Android con Firebase

Hola amigos 馃憢

Bienvenidos a un nuevo tutorial de Universo Android. Hoy aprenderemos a crear un sistema completo de Login y Registro en Android utilizando Firebase Authentication, una de las herramientas m谩s usadas para autenticar usuarios en apps reales.

Al finalizar este tutorial tendr谩s una aplicaci贸n funcional que permitir谩:

  • Registrar usuarios con email y contrase帽a

  • Iniciar sesi贸n

  • Validar campos

  • Mostrar mensajes de error

  • Redirigir al usuario a la pantalla principal


馃煩 1. Crear el Proyecto en Android Studio

Creamos un nuevo proyecto en Android Studio con Empty Activity.


馃煩 2. Conectar Android Studio con Firebase

  1. Ve a Tools → Firebase

  2. Abre Authentication

  3. Selecciona Email/Password Authentication

  4. Haz clic en Connect Your App to Firebase

  5. Pulsa Add Firebase Authentication to your App


馃煩 3. Activar el m茅todo de Email/Password en Firebase

En la consola de Firebase:

  1. Autenticaci贸n

  2. M茅todos de acceso

  3. Activa Email/Password


馃煩 4. Dise帽o XML para Login

Crea un archivo llamado:
馃搫 activity_login.xml

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="20dp" android:orientation="vertical"> <EditText android:id="@+id/txtEmailLogin" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Correo electr贸nico" /> <EditText android:id="@+id/txtPasswordLogin" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Contrase帽a" android:inputType="textPassword" /> <Button android:id="@+id/btnLogin" android:text="Iniciar Sesi贸n" android:layout_width="match_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/goToRegister" android:text="¿No tienes cuenta? Reg铆strate aqu铆." android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>

馃煩 5. Dise帽o XML para Registro

Crea:
馃搫 activity_register.xml

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="20dp" android:orientation="vertical"> <EditText android:id="@+id/txtEmailReg" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Correo electr贸nico" /> <EditText android:id="@+id/txtPasswordReg" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Contrase帽a" android:inputType="textPassword" /> <Button android:id="@+id/btnRegister" android:text="Crear Cuenta" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout>

馃煩 6. L贸gica Java del Registro

馃搫 RegisterActivity.java

import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.*; import com.google.firebase.auth.FirebaseAuth; public class RegisterActivity extends AppCompatActivity { EditText txtEmailReg, txtPasswordReg; Button btnRegister; FirebaseAuth mAuth; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_register); txtEmailReg = findViewById(R.id.txtEmailReg); txtPasswordReg = findViewById(R.id.txtPasswordReg); btnRegister = findViewById(R.id.btnRegister); mAuth = FirebaseAuth.getInstance(); btnRegister.setOnClickListener(v -> registerUser()); } private void registerUser() { String email = txtEmailReg.getText().toString(); String pass = txtPasswordReg.getText().toString(); if (email.isEmpty() || pass.isEmpty()) { Toast.makeText(this, "Completa todos los campos", Toast.LENGTH_SHORT).show(); return; } mAuth.createUserWithEmailAndPassword(email, pass) .addOnSuccessListener(authResult -> Toast.makeText(this, "Registro exitoso", Toast.LENGTH_SHORT).show()) .addOnFailureListener(e -> Toast.makeText(this, "Error: " + e.getMessage(), Toast.LENGTH_SHORT).show()); } }

馃煩 7. L贸gica Java del Login

馃搫 LoginActivity.java

import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.widget.*; import com.google.firebase.auth.FirebaseAuth; public class LoginActivity extends AppCompatActivity { EditText txtEmailLogin, txtPasswordLogin; Button btnLogin; FirebaseAuth mAuth; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); txtEmailLogin = findViewById(R.id.txtEmailLogin); txtPasswordLogin = findViewById(R.id.txtPasswordLogin); btnLogin = findViewById(R.id.btnLogin); mAuth = FirebaseAuth.getInstance(); btnLogin.setOnClickListener(v -> loginUser()); } private void loginUser() { String email = txtEmailLogin.getText().toString(); String pass = txtPasswordLogin.getText().toString(); if (email.isEmpty() || pass.isEmpty()) { Toast.makeText(this, "Completa todos los campos", Toast.LENGTH_SHORT).show(); return; } mAuth.signInWithEmailAndPassword(email, pass) .addOnSuccessListener(authResult -> { Toast.makeText(this, "Bienvenido", Toast.LENGTH_SHORT).show(); startActivity(new Intent(this, MainActivity.class)); }) .addOnFailureListener(e -> Toast.makeText(this, "Error: " + e.getMessage(), Toast.LENGTH_SHORT).show()); } }

馃煩 8. Permisos en AndroidManifest

<uses-permission android:name="android.permission.INTERNET" />

馃煩 9. Resultado Final

Con todos estos pasos tendr谩s una aplicaci贸n totalmente funcional de Login y Registro con Firebase Authentication.


▶️ C贸mo ejecutar tu aplicaci贸n

  1. Abre Android Studio.

  2. Presiona Run para ejecutar el proyecto.

  3. Si no tienes un emulador, crea uno desde AVD Manager.

  4. Ver谩s tu lista horizontal funcionando en pantalla.


馃И Resultado Final 

Tu aplicaci贸n mostrar谩 todos los elementos de la siguiente forma.


馃摜 Descargar Proyecto de Ejemplo

Puedes descargar el proyecto completo desde el siguiente enlace:

馃憠 Descargar


馃檶 Gracias por visitar mi blog

Si este tutorial  te fue 煤til:

✔️ Comp谩rtelo
✔️ D茅jame un comentario
✔️ S铆gueme para m谩s contenido sobre Android y programaci贸n

¡Estoy aqu铆 para ayudarte!


Preguntas Frecuentes (FAQ)

1. ¿Puedo usar Firebase gratuitamente?

S铆, con el plan Spark puedes usar correo y contrase帽a sin costo.

2. ¿Es seguro autenticar usuarios en Firebase?

S铆, Firebase usa encriptaci贸n y protocolos seguros.

3. ¿Puedo agregar Google o Facebook Login?

S铆, Firebase tiene soporte para m煤ltiples proveedores.

4. ¿Necesito un backend propio?

No, Firebase Authentication act煤a como backend.


No hay comentarios:

Publicar un comentario