Firebase és una plataforma desenvolupada per Google que proporciona una sèrie de serveis per ajudar els desenvolupadors a crear aplicacions d'alta qualitat. En aquest tema, aprendrem com integrar Firebase en una aplicació Android i utilitzar alguns dels seus serveis més populars, com ara l'autenticació, la base de dades en temps real i l'emmagatzematge.

Objectius del Tema

  • Comprendre què és Firebase i els seus serveis.
  • Aprendre a configurar Firebase en un projecte Android.
  • Utilitzar Firebase Authentication per gestionar usuaris.
  • Emmagatzemar i recuperar dades amb Firebase Realtime Database.
  • Utilitzar Firebase Storage per emmagatzemar fitxers.

  1. Introducció a Firebase

Què és Firebase?

Firebase és una plataforma de desenvolupament d'aplicacions que ofereix una sèrie de serveis com:

  • Firebase Authentication: Per gestionar l'autenticació d'usuaris.
  • Firebase Realtime Database: Una base de dades NoSQL que sincronitza dades en temps real.
  • Firebase Storage: Per emmagatzemar fitxers com imatges i vídeos.
  • Firebase Cloud Messaging: Per enviar notificacions push.
  • Firebase Analytics: Per analitzar el comportament dels usuaris.

Avantatges de Firebase

  • Sincronització en temps real: Les dades es sincronitzen automàticament entre tots els clients.
  • Escalabilitat: Pot gestionar aplicacions petites i grans.
  • Integració fàcil: Es pot integrar fàcilment amb altres serveis de Google.

  1. Configuració de Firebase en un Projecte Android

Pas 1: Crear un Projecte a Firebase Console

  1. Visita Firebase Console.
  2. Crea un nou projecte o selecciona un projecte existent.
  3. Afegeix la teva aplicació Android al projecte.

Pas 2: Afegir Firebase al Projecte Android

  1. Descarrega el fitxer google-services.json des de Firebase Console i col·loca'l a la carpeta app del teu projecte.
  2. Afegeix les dependències de Firebase al fitxer build.gradle del projecte:
// build.gradle (Project level)
buildscript {
    dependencies {
        classpath 'com.google.gms:google-services:4.3.10'
    }
}

// build.gradle (App level)
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'

dependencies {
    implementation platform('com.google.firebase:firebase-bom:28.4.1')
    implementation 'com.google.firebase:firebase-auth'
    implementation 'com.google.firebase:firebase-database'
    implementation 'com.google.firebase:firebase-storage'
}

Pas 3: Sincronitzar el Projecte

  • Sincronitza el projecte amb Gradle per assegurar-te que les dependències s'han afegit correctament.

  1. Firebase Authentication

Configuració de Firebase Authentication

  1. A Firebase Console, navega a la secció Authentication.
  2. Activa el mètode d'autenticació que vulguis utilitzar (per exemple, correu electrònic i contrasenya).

Exemple de Codi: Autenticació amb Correu Electrònic i Contrasenya

FirebaseAuth mAuth = FirebaseAuth.getInstance();

// Registre d'un nou usuari
mAuth.createUserWithEmailAndPassword(email, password)
    .addOnCompleteListener(this, task -> {
        if (task.isSuccessful()) {
            FirebaseUser user = mAuth.getCurrentUser();
            // L'usuari s'ha registrat correctament
        } else {
            // Error en el registre
        }
    });

// Inici de sessió d'un usuari existent
mAuth.signInWithEmailAndPassword(email, password)
    .addOnCompleteListener(this, task -> {
        if (task.isSuccessful()) {
            FirebaseUser user = mAuth.getCurrentUser();
            // L'usuari ha iniciat sessió correctament
        } else {
            // Error en l'inici de sessió
        }
    });

  1. Firebase Realtime Database

Configuració de Firebase Realtime Database

  1. A Firebase Console, navega a la secció Database.
  2. Crea una nova base de dades i selecciona el mode de seguretat (per exemple, mode de prova).

Exemple de Codi: Emmagatzemar i Recuperar Dades

FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("message");

// Emmagatzemar dades
myRef.setValue("Hola, Firebase!");

// Recuperar dades
myRef.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        String value = dataSnapshot.getValue(String.class);
        // Mostra el valor recuperat
    }

    @Override
    public void onCancelled(DatabaseError error) {
        // Error en la recuperació de dades
    }
});

  1. Firebase Storage

Configuració de Firebase Storage

  1. A Firebase Console, navega a la secció Storage.
  2. Configura l'emmagatzematge i selecciona les regles de seguretat.

Exemple de Codi: Pujar i Baixar Fitxers

FirebaseStorage storage = FirebaseStorage.getInstance();
StorageReference storageRef = storage.getReference();

// Pujar un fitxer
Uri file = Uri.fromFile(new File("path/to/images/rivers.jpg"));
StorageReference riversRef = storageRef.child("images/rivers.jpg");

riversRef.putFile(file)
    .addOnSuccessListener(taskSnapshot -> {
        // Fitxer pujat correctament
    })
    .addOnFailureListener(exception -> {
        // Error en la pujada del fitxer
    });

// Baixar un fitxer
riversRef.getDownloadUrl().addOnSuccessListener(uri -> {
    // Obtenir l'URL de descàrrega
}).addOnFailureListener(exception -> {
    // Error en la descàrrega del fitxer
});

Exercicis Pràctics

Exercici 1: Autenticació d'Usuaris

  • Implementa una pantalla de registre i inici de sessió utilitzant Firebase Authentication.
  • Proporciona feedback a l'usuari en cas d'error (per exemple, contrasenya incorrecta).

Exercici 2: Emmagatzematge de Dades

  • Crea una aplicació que permeti als usuaris emmagatzemar i recuperar notes utilitzant Firebase Realtime Database.
  • Mostra les notes en una llista i permet l'edició i eliminació de notes.

Exercici 3: Emmagatzematge de Fitxers

  • Implementa una funcionalitat que permeti als usuaris pujar i baixar imatges utilitzant Firebase Storage.
  • Mostra les imatges pujades en una galeria dins de l'aplicació.

Resum

En aquest tema, hem après a integrar Firebase en una aplicació Android i utilitzar alguns dels seus serveis més populars. Hem configurat Firebase Authentication per gestionar usuaris, hem emmagatzemat i recuperat dades amb Firebase Realtime Database, i hem utilitzat Firebase Storage per emmagatzemar fitxers. Els exercicis pràctics proporcionats t'ajudaran a consolidar els coneixements adquirits.

En el següent tema, explorarem com integrar Google Maps en una aplicació Android.

© Copyright 2024. Tots els drets reservats