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.jsondes de Firebase Console i col·loca'l a la carpetaappdel teu projecte. - Afegeix les dependències de Firebase al fitxer
build.gradledel 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
