Applikationer med Firebase Auth och Realtime Database · Lektion

Användarprofiler i realtid

Bygg dynamiska användarprofiler som uppdateras i realtid när användare ändrar sina uppgifter eller interagerar med appen

Lektion 2 av 411 steg

Användarprofiler i realtid är en gratis lektion i Applikationer med Firebase Auth och Realtime Database på CoddyKit. Detta är lektion 2 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Applikationer med Firebase Auth och Realtime Database, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Applikationer med Firebase Auth och Realtime Database innehåller totalt 4 lektioner.

Vad är användarprofiler i realtid?

Välkomna till arbetet med dynamiska användarprofiler! En användarprofil är en samling information om en specifik användare, till exempel namn, e-postadress eller en kort biografi.

När vi säger "realtid" betyder det att alla ändringar i profildata omedelbart synkroniseras mellan alla anslutna enheter och visas i användargränssnittet utan att en manuell uppdatering behövs.

Kraften i omedelbara uppdateringar

Varför är "realtid" viktigt för profiler?

  • Aktuella data: Användarna ser alltid den senaste versionen av sin profil.
  • Bättre UX: Omedelbar återkoppling när ändringar sparas förbättrar användarupplevelsen.
  • Sömlös synkronisering: Profiluppdateringar visas direkt på alla enheter där användaren är inloggad.

Strukturera profilens data

I Firebase Realtime Database lagras användarprofildata vanligtvis under en users-nod, där varje användares profil ligger som en undernod under deras unika User ID (UID) från Firebase Authentication.

Den här strukturen säkerställer att varje profil är direkt kopplad till en autentiserad användare.

Här är en vanlig struktur:

/users/

"user_id_123": {
"name": "Jane Doe",
"email": "jane@example.com",
"bio": "Mobile dev enthusiast",
"photoUrl": "https://.../pic.jpg"
},
"user_id_456": {
"name": "John Smith",
"email": "john@example.com",
"bio": "Learning Firebase!"
}

Lagra initial profildata

När en användare registrerar sig eller loggar in för första gången vill ni skapa den första profilposten i Realtime Database. Detta sker vanligtvis direkt efter en lyckad autentisering.

Vi använder användarens unika UID för att skapa en separat sökväg för profildatan.

Prova att köra det här exemplet för att se hur initiala data kan anges:

public class Main {
  public static void main(String[] args) {
    String userId = "auth_uid_789";
    // Simulate getting a database reference
    System.out.println("Firebase RTDB: users/" + userId + "/profile");
    // Simulate setting initial data
    System.out.println("Setting data:");
    System.out.println("  name: 'New User'");
    System.out.println("  email: 'new@example.com'");
    System.out.println("Initial profile saved!");
  }
}

Läsa en användares profil

Om ni vill visa en användares profil behöver ni läsa användarens data från databasen. Vanligtvis hämtar ni data för den användare som är autentiserad just nu.

Det viktiga är att lyssna på den specifika sökväg som är kopplad till användarens UID.

Så här kan ni läsa en profil en gång:

public class Main {
  public static void main(String[] args) {
    String userId = "auth_uid_789";
    // Simulate getting a database reference
    System.out.println("Firebase RTDB: users/" + userId + "/profile");
    // Simulate a one-time read operation
    System.out.println("Reading profile data...");
    System.out.println("  name: 'New User'");
    System.out.println("  email: 'new@example.com'");
    System.out.println("Profile data loaded.");
  }
}

Visa uppdateringar i realtid

Den verkliga styrkan hos Realtime Database för profiler är möjligheten att lyssna efter ändringar. I stället för att läsa data en enda gång kopplar ni en lyssnare som aktiveras varje gång data på den sökvägen ändras.

Det innebär att användargränssnittet uppdateras automatiskt utan att ni behöver göra något mer!

Det här exemplet visar hur en lyssnare fungerar:

public class Main {
  public static void main(String[] args) {
    String userId = "auth_uid_789";
    System.out.println("Attaching listener to: users/" + userId + "/profile");
    System.out.println("// This listener runs initially and whenever data changes");
    System.out.println("onDataChange(snapshot) {");
    System.out.println("  // Update UI with new data");
    System.out.println("  System.out.println("    Current name: '" + snapshot.get("name") + "'");
    System.out.println("    Current email: '" + snapshot.get("email") + "'");
    System.out.println("  ");
    System.out.println("}");
    System.out.println("Listener set up. Waiting for changes...");
  }
}

Uppdatera profilinformation

Användare vill kunna ändra sina profildetaljer, till exempel sitt namn eller sin biografi. För att göra detta uppdaterar ni de specifika fälten i den databassökväg som motsvarar deras UID.

Med Firebase kan ni uppdatera specifika fält utan att skriva över hela profilobjektet.

Kör det här exemplet för att se hur ni uppdaterar ett namn:

public class Main {
  public static void main(String[] args) {
    String userId = "auth_uid_789";
    System.out.println("Firebase RTDB: users/" + userId + "/profile");
    // Simulate updating a specific field
    System.out.println("Updating data:");
    System.out.println("  name: 'Updated User Name'");
    System.out.println("Profile name updated!");
    System.out.println("// Connected listeners will instantly see this change.");
  }
}

Bortom text: profilbilder

Hur är det då med profilbilder? Realtime Database passar utmärkt för textbaserade data, men är inte idealiskt för stora filer som bilder.

I stället laddar ni vanligtvis upp profilbilder till Firebase Storage. När bilden har laddats upp sparar ni bildens offentliga nedladdnings-URL i användarens profilobjekt i Realtime Database.

På så sätt förblir profildatan liten och snabb att synkronisera i realtid.

Bästa praxis för profiler

Tänk på följande tips när ni bygger användarprofiler i realtid:

  • Säkerhetsregler: Skydda alltid profildata med Firebase Security Rules för att säkerställa att endast den autentiserade användaren kan läsa och skriva sin egen profil.
  • Platta data: Håll profildatan så platt som möjligt för att minimera hämtningar och förbättra prestandan.
  • Indexering: Om ni behöver söka bland profiler (till exempel söka efter användare utifrån namn) bör ni överväga att indexera de relevanta fälten i era regler.

Snabbtest: profiluppdateringar

Ni har implementerat en funktion där användare kan uppdatera sin biografi i profilen. Vad är det effektivaste sättet att säkerställa att ändringen omedelbart syns för användaren och på alla andra anslutna enheter som visar profilen?

Repetition: profiler i realtid

Utmärkt arbete! Ni har lärt er att bygga dynamiska användarprofiler i realtid.

  • Profiler lagrar användarinformation och kopplas via användarens Auth UID.
  • Uppdateringar i realtid säkerställer att data alltid är aktuella.
  • Ni kan skriva initiala data och uppdatera specifika fält.
  • Lyssnare är nyckeln till omedelbar synkronisering av användargränssnittet.
  • Använd Firebase Storage för bilder och Security Rules för skydd.

Härnäst utforskar vi hur flera användare kan redigera och visa delade data i realtid!

Gratis att börja

Lär dig Applikationer med Firebase Auth och Realtime Database med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
11
Lektioner
44

Vanliga frågor

Är lektionen ”Användarprofiler i realtid” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Applikationer med Firebase Auth och Realtime Database, inklusive ”Användarprofiler i realtid”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Applikationer med Firebase Auth och Realtime Database innehåller totalt 4 lektioner.

Vad lär jag mig i ”Användarprofiler i realtid”?

Bygg dynamiska användarprofiler som uppdateras i realtid när användare ändrar sina uppgifter eller interagerar med appen Ni övar på Applikationer med Firebase Auth och Realtime Database med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Applikationer med Firebase Auth och Realtime Database?

Du behöver inga förkunskaper. Utbildningen i Applikationer med Firebase Auth och Realtime Database på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”Användarprofiler i realtid”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Applikationer med Firebase Auth och Realtime Database-lektionen?

Ja. Varje Applikationer med Firebase Auth och Realtime Database-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Koppla användardata till Auth
  2. Användarprofiler i realtid
  3. Samarbetsbaserad dataredigering
  4. Rollbaserad åtkomst till användardata
← Tillbaka till Applikationer med Firebase Auth och Realtime Database