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.
- 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.
- Configuració de Firebase en un Projecte Android
Pas 1: Crear un Projecte a Firebase Console
- Visita Firebase Console.
- Crea un nou projecte o selecciona un projecte existent.
- Afegeix la teva aplicació Android al projecte.
Pas 2: Afegir Firebase al Projecte Android
- Descarrega el fitxer
google-services.json
des de Firebase Console i col·loca'l a la carpetaapp
del teu projecte. - 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.
- Firebase Authentication
Configuració de Firebase Authentication
- A Firebase Console, navega a la secció Authentication.
- 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ó } });
- Firebase Realtime Database
Configuració de Firebase Realtime Database
- A Firebase Console, navega a la secció Database.
- 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 } });
- Firebase Storage
Configuració de Firebase Storage
- A Firebase Console, navega a la secció Storage.
- 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.
Curs d'Android Studio
Mòdul 1: Introducció a Android Studio
- Introducció a Android Studio
- Configuració d'Android Studio
- Comprensió de la Interfície d'Android Studio
- Creació del teu Primer Projecte Android
Mòdul 2: Desenvolupament Bàsic d'Android
- Comprensió de l'Estructura del Projecte Android
- Introducció als Dissenys XML
- Components Bàsics de la Interfície d'Usuari
- Introducció a les Activitats
- Executar la teva Aplicació en un Emulador
Mòdul 3: Desenvolupament Intermedi d'Android
- Introducció als Intents
- Treballar amb Fragments
- Gestió de l'Entrada de l'Usuari
- Ús de RecyclerView
- Xarxes en Android
Mòdul 4: Desenvolupament Avançat d'Android
- Persistència de Dades amb SQLite
- Ús de Room per a la Gestió de Bases de Dades
- Components Avançats de la Interfície d'Usuari
- Vistes Personalitzades i Canvas
- Treballar amb Tasques en Segon Pla
Mòdul 5: Desenvolupament Professional d'Android
- Implementació de l'Arquitectura MVVM
- Injecció de Dependències amb Dagger
- Proves Unitàries i Proves de la Interfície d'Usuari
- Publicació de la teva Aplicació a Google Play
- Optimització del Rendiment