Mobilapper for indiehackere · leksjon

Lokal datapersistens

Lær ulike metoder for lagring og håndtering av data lokalt på mobile enheter, inkludert SQLite, AsyncStorage og delte innstillinger.

Leksjon 2 av 411 trinn

Lokal datapersistens er en gratis leksjon i Mobilapper for indiehackere på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Mobilapper for indiehackere, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Mobilapper for indiehackere inneholder totalt 4 leksjoner.

Hvorfor lagre data lokalt?

Når du bygger mobilapper, må enkelte data være tilgjengelige selv når det ikke finnes internettilkobling. Det er her lokal datapersistens kommer inn!

Det innebærer å lagre informasjon direkte på brukerens enhet i stedet for alltid å hente den fra en server.

Fordeler med lokal lagring

Å lagre data lokalt gir appen flere fordeler:

  • Tilgang uten nett: Brukerne kan fortsatt bruke kjernefunksjonene uten internettilkobling.
  • Bedre ytelse: Det går raskere å hente data fra enheten enn fra en ekstern server.
  • Bedre brukeropplevelse: En jevnere og mer responsiv opplevelse for brukerne.
  • Personalisering: Lagring av brukerpreferanser og innstillinger.

Enkle nøkkel-verdi-par

En av de enkleste måtene å lagre små datamengder på er å bruke nøkkel-verdi-par. Se for deg en ordbok eller et map-objekt der hver datadel har et unikt navn («nøkkelen») og en tilhørende verdi.

Dette passer perfekt for brukerinnstillinger, funksjonsflagg eller enkle flagg som «har sett introduksjonen».

Shared Preferences (Android/iOS)

På native plattformer bruker Android Shared Preferences, mens iOS bruker UserDefaults til nøkkel-verdi-lagring. De fungerer på lignende måte:

  • Lagrer enkle datatyper (strenger, tall og boolske verdier).
  • Er ofte synkrone.
  • Passer best for små mengder ikke-sensitive data.

For plattformuavhengige rammeverk bruker du et abstraksjonslag.

AsyncStorage: Plattformuavhengig nøkkel-verdi-lagring

For apper som er bygget med rammeverk som React Native, er AsyncStorage en populær modul for lokal nøkkel-verdi-lagring. Det er et asynkront, ukryptert og persistent system for nøkkel-verdi-lagring.

Fordi det er asynkront, fryser ikke appen mens data leses eller skrives.

Lagre data med AsyncStorage

Slik kan du konseptuelt lagre brukerens temapreferanse ved hjelp av AsyncStorage. I en ekte app ville AsyncStorage blitt importert fra et bibliotek.

// (Imagine AsyncStorage is globally available)

async function main() {
  console.log("Attempting to save user theme...");
  try {
    // In a real app, this would save to device storage.
    // await AsyncStorage.setItem('userTheme', 'dark');
    console.log("User theme 'dark' conceptually saved.");
  } catch (error) {
    console.log("Error saving data:", error.message);
  }
}

main();

Les data med AsyncStorage

For å hente de lagrede dataene bruker du metoden getItem. Den returnerer også et Promise, så du bruker vanligvis await eller .then().

// (Imagine AsyncStorage is globally available)

async function main() {
  console.log("Attempting to read user theme...");
  try {
    // In a real app, this would read from device storage.
    // const theme = await AsyncStorage.getItem('userTheme');
    const theme = "dark"; // Simulate a retrieved value
    console.log("Retrieved user theme:", theme);
  } catch (error) {
    console.log("Error reading data:", error.message);
  }
}

main();

SQLite: Relasjonell database

For mer komplekse data, som lister over elementer, brukerprofiler med flere felt eller alt som krever strukturerte spørringer, er SQLite et kraftig alternativ.

Det er en lett innebygd relasjonell database som kjører direkte på enheten. Se på den som en liten serverløs database.

Når bør du bruke SQLite?

SQLite er ideelt når du trenger:

  • Strukturerte data: Tabeller, kolonner og relasjoner.
  • Komplekse spørringer: Filtrering, sortering og sammenføying av data.
  • Store datamengder: Mer effektivt enn nøkkel-verdi-lagring for mange elementer.
  • Synkronisering uten nett: Lagring av data som senere skal synkroniseres med en backend.

Det gjør imidlertid appens arkitektur mer kompleks.

Kort sjekk: Datalagring

Hvilken metode for lokal datalagring egner seg vanligvis best til å lagre brukerens preferanse for «mørk modus» i en plattformuavhengig mobilapp?

Oppsummering: Lokal datapersistens

Du har lært om viktige teknikker for lokal datapersistens i mobilapper!

  • Nøkkel-verdi-lagre: Enkelt for små datamengder (Shared Preferences/UserDefaults, AsyncStorage).
  • AsyncStorage: Plattformuavhengig (React Native) nøkkel-verdi-lagring som er asynkron.
  • SQLite: En innebygd relasjonell database for strukturerte og komplekse data.

Valget av riktig metode avhenger av hvor komplekse dataene er, og av appens spesifikke behov. Deretter skal vi utforske integrasjon med eksterne API-er!

Gratis å komme i gang

Lær deg Mobilapper for indiehackere med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «Lokal datapersistens» gratis?

Ja – hele teksten i «Lokal datapersistens» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Mobilapper for indiehackere-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Mobilapper for indiehackere inneholder totalt 4 leksjoner.

Hva lærer jeg i «Lokal datapersistens»?

Lær ulike metoder for lagring og håndtering av data lokalt på mobile enheter, inkludert SQLite, AsyncStorage og delte innstillinger. Du øver på Mobilapper for indiehackere med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Mobilapper for indiehackere?

Ingen tidligere erfaring er nødvendig. Mobilapper for indiehackere på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «Lokal datapersistens»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Mobilapper for indiehackere-leksjonen?

Ja. Alle Mobilapper for indiehackere-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Tilstandsbehandling for mobilapper
  2. Lokal datapersistens
  3. Integrering av RESTful API-er
  4. Navigasjons- og routingarkitektur
← Tilbake til Mobilapper for indiehackere