Share via


Funksjonene SaveData, LoadData og ClearData

Gjelder: Lerretsapper

Lagrer og laster inn en samling på nytt fra lagringsplassen for appverten.

Merk

Disse funksjonene kan nå brukes når du spiller av en app i en nettleser som en eksperimentell funksjon. Denne funksjonen er deaktivert som standard. Hvis du vil aktivere, navigerer du til Innstillinger>Kommende funksjoner>Eksperimentell>Aktiver SaveData, LoadData og ClearData på nettavspilleren." og slå på bryteren. Hvis du vil sende inn tilbakemelding om denne eksperimentelle funksjonen, går du til Power Apps-fellesskapsforumet.

Beskrivelse

SaveData-funksjonen lagrer en samling under et navn for senere bruk.

LoadData-funksjonen laster inn en samling på nytt ut fra navnet som tidligere ble lagret med SaveData. Du kan ikke bruke denne funksjonen til å laste inn en samling fra en annen kilde.

ClearData-funksjonen fjerner lagringsplassen med et bestemt navn eller fjerner all lagringsplass som er tilknyttet appen hvis det ikke oppgis navn.

Merk

  • Navnet som deles mellom SaveData, LoadData og ClearData er en nøkkel, ikke et filnavn. Det er ikke nødvendig å være avansert siden navn er unike for hver app, og det er ingen fare for navnekonflikt. Navnet kan ikke inneholde noen av disse tegnene: *".?:\<>|/.
  • SaveData er begrenset til 1 MB med data for Power Apps-kjøring i Teams og i en webleser. Det finnes ingen fast grense for Power Apps som kjører i en mobilspiller, men praktiske grenser diskuteres nedenfor.
  • Ikke bruk SaveData til å lagre sensitive data på Internett, siden de lagres i ren tekst.

Bruk disse funksjonene til å forbedre appoppstartsytelsen ved å:

  • Hurtigbufre data i App.OnStart-formelen ved første kjøring.
  • Laste inn den lokale hurtigbufferen på nytt ved neste kjøring.

Du kan også bruke disse funksjonene til å legge til enkle funksjoner for frakoblet modus i appen.

Du kan ikke bruke disse funksjonene i en nettleser i disse tilfellene:

  • Redigering av appen i Power Apps Studio.

Hvis du vil teste appen, kjører du den i Power Apps mobile på en iPhone eller Android-enhet.

Disse funksjonene er begrenset av mengden tilgjengelig appminne når de kjører på en samling i minnet. Tilgjengelig minne kan variere avhengig av følgende faktorer:

  • Enheten og operativsystemet.
  • Minnet som Power Apps-spilleren bruker.
  • Kompleksiteten på appen med skjermer og kontroller.

Test appen med forventede scenarier på enhetstypene du forventer å kjøre appen på, når store datamengder lagres. Forvent å ha mellom 30 MB og 70 MB tilgjengelig minne generelt.

Disse funksjonene avhenger av at samlingen blir implisitt definert med Collect eller ClearCollect. Du trenger ikke å kalle Collect eller ClearCollect for å laste inn data i samlingen for å definere den. Det er en vanlig sak når du bruker LoadData etter en tidligere SaveData. Alt som er nødvendig, er at disse funksjonene vises i en formel for å implisitt definere strukturen i samlingen. Hvis du vil ha mer informasjon, kan du se opprette og fjerne variabler.

De lastede dataene blir lagt til i samlingen. Bruk Clear-funksjonen før kaller LoadData hvis du vil starte med en tom samling.

Datasikkerhet

Vurder nøye isolasjon og kryptering av data som lagres med SaveData, og avgjør om det er hensiktsmessig for dine behov, spesielt hvis enheter deles av flere brukere.

Data som lagres med SaveData, isoleres fra andre Power Apps av Power Apps-spillere. Data lagres basert på app-ID-en, og isolerer automatisk SaveData-navneområdet mellom Power Apps.

Operativsystemet og nettleseren er ansvarlig for å isolere data mellom Power Apps og andre apper på en enhet og med nettsteder. Operativsystemet er for eksempel ansvarlig for å isolere data som er lagret i Microsoft Outlook fra data som er lagret i Power Apps, og også isolere disse dataene fra nettsteder som Bing.com eller PowerApps.com. Operativsystemets innebygde appinterne sandkassefunksjoner brukes til SaveData-lagring som vanligvis ikke er tilgjengelig for eller skjult for brukeren.

Når du bruker samme app, er operativsystemet og nettleseren også ansvarlig for å isolere dataene mellom brukere på operativsystemnivå. Hvis for eksempel to forskjellige brukere deler en datamaskin og bruker to forskjellige Windows-påloggingslegitimasjoner, er operativsystemet ansvarlig for å isolere data mellom de to Windows-brukerne.

Data kan være isolert mellom forskjellige Power Apps-brukere hvis brukeren av operativsystemet er den samme. Ikke alle Power Apps-spillere behandler dette på samme måte. Når brukeren for eksempel er logget på som samme Windows-bruker i Power Apps-spilleren, logger brukeren seg av Power Apps og logger på som en annen Power Apps-bruker. Data som lagres i en app før endringen av Power Apps-brukeren, kan være tilgjengelig for den andre Power Apps-brukeren i samme app. Dataene kan også bli fjernet, og det kan hende at den første Power Apps-brukeren ikke lenger har tilgang til dem. Virkemåten varierer mellom Power Apps-spillerne.

Operativsystemet kan også kryptere dataene, eller du kan bruke et administrasjonsverktøy for mobilenheter, for eksempel Microsoft Intune. Data som lagres når du spiller av en app i en nettleser, krypteres ikke.

Syntaks

SaveData( Collection, Name )
LoadData( Collection, Name [, IgnoreNonexistentFile ])

  • Collection - obligatorisk. Samlingen som skal lagres eller lastes inn.
  • Name - obligatorisk. Navnet på lagringen. Navnet må være det samme for å lagre og laste inn det samme settet med data. Navneområdet er ikke delt med andre apper. Navn kan ikke inneholde noen av disse tegnene: *".?:\<>|/.
  • IgnoreNonexistentFile - valgfritt. En boolsk verdi som angir hva som skal gjøres hvis filen ikke allerede finnes. Bruk usann (standard) for å returnere en feil og sann for å undertrykke feilen.

ClearData( [Navn] )

  • Name - Valgfritt. Navnet på lagringsplassen som tidligere ble lagret med SaveData. Hvis Navn ikke oppgis, slettes all lagringsplass som er tilknyttet appen.

Eksempler

Formel Beskrivelse Resultat
SaveData( LocalCache, "MyCache" ) Lagre LocalCache-samlingen på brukerens enhet under navnet "MyCache", som passer for LoadData å hente senere. Data lagres til appverten under navnet MyCache.
LoadData( LocalCache, "MyCache" ) Laster inn LocalCache-samlingen fra brukerens enhet under navnet "MyCache", som tidligere er lagret med et kall til SaveData. Data lastes fra appverten under navnet MyCache.
ClearData( "MyCache" ) Tømmer lagringsplassen under navnet MyCache. Data som lagres under dette navnet, er ikke lenger tilgjengelig via LoadData. Data fjernes fra appverten under navnet MyCache.
ClearData() Fjern all lagringsplass som er tilknyttet denne appen. Data som lagres av andre apper, påvirkes ikke. Alle data fjernes fra appverten.

Enkelt eksempel på frakoblet modus

I dette enkle eksemplet er det enkelt å fange opp og lagre navn og bilder av daglige elementer mens du er frakoblet. Den lagrer informasjonen i enhetens lokale lager for senere bruk. Dette gjør at appen kan lukkes eller enheten kan startes på nytt uten å miste data.

Merk

I dette eksemplet brukes en kamerakontroll til å ta bilder. Siden SaveData er begrenset til 1 MB med data når du kjører i Teams eller en webleser, fungerer ikke dette eksemplet med mer enn noen få bilder. Avhengig av kamera kan det hende at det ikke fungerer med ett bilde. Bruk en enhet til å arbeide deg gjennom dette eksemplet, eller fjern kamerakontrollen og bildedelen av dette eksemplet for å kjøre i Teams eller i en webleser.

  1. Opprett en tom lerretapp med et nettbrettoppsett. Hvis du vil ha mer informasjon, kan du lese opprette en app fra en mal og velge Oppsett for nettbrett under Tom app.

  2. Legg til en Text input-kontroll og en Camera-kontroll, og ordne dem omtrent som vist:

    En text input- og camera-kontroll som er lagt til i en tom skjerm.

  3. Legg til en Button-kontroll.

  4. Dobbeltklikk knappekontrollen for å endre knappeteksten til Legg til element (eller endre Text-egenskapen).

  5. Angi OnSelect-egenskapen for knappekontrollen til denne formelen, som legger til et element i samlingen:

    Collect( MyItems, { Item: TextInput1.Text, Picture: Camera1.Photo } )
    

    En knappekontroll som er lagt til med teksten

  6. Legg til en annen Button-kontroll.

  7. Dobbeltklikk knappekontrollen for å endre knappeteksten til Lagre data (eller endre Text-egenskapen).

  8. Angi OnSelect-egenskapen for knappekontrollen til denne formelen for å lagre samlingen til den lokale enheten:

    SaveData( MyItems, "LocalSavedItems" )
    

    En knappekontroll er lagt til med teksten

    Det er fristende å teste knappen fordi den ikke påvirker noe. Men det vises bare en feil når du redigerer i en nettleser. Lagre appen først og åpne på en enhet før du følger de neste trinnene for å teste denne formelen:

  9. Legg til en tredje Button-kontroll.

  10. Dobbeltklikk knappekontrollen for å endre knappeteksten til Last inn data (eller endre Text-egenskapen).

  11. Angi OnSelect-egenskapen for knappekontrollen til denne formelen for å lese inn samlingen fra den lokale enheten:

    LoadData( MyItems, "LocalSavedItems" )
    

    En knappekontroll er lagt til med teksten

  12. Legg til en Gallery-kontroll med et loddrett oppsett som inneholder bilde- og tekstområder.

    Utvalg av gallerielementer, loddrett markert med bilde- og tekstområder

  13. Når du blir bedt om det, velger du MyItems-samlingen som datakilde for galleriet. Dette angir Items-egenskapen for Gallery-kontrollen:

    Galleriutvalg av datakilde. Bildekontrollen i gallerimalen må sette egenskapen Image til ThisItem.Picture som standard, og etikettkontrollene må begge standard Text-egenskapene til ThisItem.Item. Kontroller disse formlene hvis du etter å ha lagt til elementer i følgende trinn, ikke kan se noe i galleriet.

  14. Plasser kontrollen til høyre for de andre kontrollene:

    Galleriet flyttes til høyre på skjermen.

  15. Lagre appen. Hvis det er første gang den lagres, er det ikke nødvendig å publisere den. Hvis det ikke er første gang, publiserer du appen etter at du har lagret den.

  16. Åpne appen på en enhet som for eksempel en telefon eller et nettbrett. SaveData og LoadData kan ikke brukes i Studio eller i en nettleser. Oppdater applisten hvis du ikke ser appen umiddelbart. Det kan det ta noen sekunder før appen vises på enheten. Det kan også hjelpe å logges seg av kontoen og deretter på igjen.

    App som kjører uten at elementer er lagt til. Når appen din er lastet ned, kan du koble fra nettverket og kjøre appen i frakoblet modus.

  17. Skriv inn navnet og ta et bilde av et element.

  18. Velg Legg til element-knappen. Gjenta prosessen med å legge til elementer noen ganger for å laste inn samlingen.

    App som kjører med tre elementer lagt til.

  19. Velg Lagre data-knappen. Dette lagrer data i samlingen til den lokale enheten.

  20. Lukk appen. Samlingen i minnet vil gå tapt, inkludert alle elementnavn og bilder, men de vil fremdeles ligge på lagringsplassen til enheten.

  21. Start appen på nytt. Samlingen i minnet vil igjen vises som tomt i galleriet.

    App som kjører uten at elementer er lagt til.

  22. Velg Last inn data-knappen. Samlingen fylles ut på nytt fra de lagrede dataene på enheten, og elementene blir tilbakestilt i galleriet. Samlingen var tom før denne knappen kaller LoadData-funksjonen. Det er ikke nødvendig å kalle Collect eller ClearCollect før data lastes fra lagringsplassen.

    App som kjører med tre elementer gjenopprettet etter kall til LoadData-funksjonen.

  23. Velg Last inn data-knappen på nytt. De lagrede dataene blir lagt til på slutten av samlingen, og et rullefelt vises i galleriet. Hvis du vil erstatte i stedet for å legge til, kan du bruke Clear-funksjonen først for å tømme samlingen før du kaller LoadData-funksjonen.

    App som kjører med seks elementer gjenopprettet etter kall til LoadData-funksjonen to ganger.

Mer avansert eksempel for frakoblet modus

Hvis du vil ha et detaljert eksempel, kan du se artikkelen om enkle funksjoner for frakoblet modus.