Partajați prin


Funcțiile SaveData, LoadData și ClearData

Se aplică pentru: aplicații Canvas

Salvează și reîncarcă o colecție din spațiul de stocare al gazdei aplicației.

Notă

Aceste funcții pot fi acum utilizate atunci când redați o aplicație într-un browser web ca o caracteristică experimentală. Această caracteristică este dezactivată în mod implicit. Pentru a o activa, navigați la Setări>Caracteristici viitoare>Experimental>SaveData, LoadData, ClearData pe player web activate.” și porniți întrerupătorul. Pentru a trimite feedback cu privire la această caracteristică experimentală, accesați Forumul comunității Power Apps.

Descriere

Funcția SaveData stochează o colecție pentru utilizarea ulterioară sub un nume.

Funcția LoadData reîncărcă o colecție după nume, salvată anterior cu SaveData. Nu puteți utiliza această funcție pentru a încărca o colecție dintr-o altă sursă.

Funcția ClearData golește spațiul de stocare de sub un anumit nume sau golește tot spațiul de stocare asociat cu aplicația dacă nu este furnizat niciun nume.

Notă

  • Numele partajat între SaveData, LoadData și ClearData este o cheie, nu un nume de fișier. Nu trebuie să fie complex, deoarece numele sunt unice pentru fiecare aplicație și nu există niciun pericol de conflict de nume. Numele nu trebuie să conțină niciunul dintre aceste caractere: *".?:\<>|/.
  • SaveData este limitat la 1 MB de date pentru Power Apps care rulează în Teams și într-un browser web. Nu există o limită fixă pentru Power Apps care rulează într-un player mobil, dar există limite practice discutate mai jos.
  • Nu folosiți SaveData pentru a stoca date sensibile pe web, deoarece acestea vor fi stocate în text simplu.

Utilizați aceste funcții pentru a îmbunătăți performanța de pornire a aplicației prin:

  • Date de memorie în cache în formula App.OnStart la o prima alergare.
  • Reîncărcați memoria cache locală în următoarele runde.

Puteți utiliza și aceste funcții, puteți adăuga caracteristici offline simple la aplicația dvs.

Nu puteți utiliza aceste funcții într-un browser atunci când:

  • Creați aplicația în Power Apps Studio.

Pentru a testa aplicația, rulați-o pe Power Apps Mobil pe un iPhone sau dispozitivul Android.

Aceste funcții sunt limitate de memoria de aplicație disponibilă, deoarece funcționează într-o colecție aflată în memorie. Memoria disponibilă poate varia în funcție de factori precum:

  • Dispozitivul și sistemul de operare.
  • Memoria pe care o utilizează Power Apps jucătorul.
  • Complexitatea aplicației cu ecrane și comenzi.

Testează-ți aplicația cu scenarii preconizate cu privire la tipul de dispozitive pe care vă așteptați să le ruleze atunci când stochează date mari. În general, așteptați să aveți între 30 MB și 70 MB de memorie disponibilă.

Aceste funcții depind de definirea implicită a colecției Collect sau ClearCollect. Nu trebuie să apelați Collect sau ClearCollect pentru a încărca date în colecție pentru definirea acestora. Este ceva obișnuit să utilizați LoadData după un SaveData anterior. Tot ceea ce este necesar este prezența acestor funcții într-o formulă pentru a defini implicit structura colecției. Pentru mai multe informații, consultați crearea și eliminarea variabilelor.

Datele încărcate vor fi anexate la colecție. Folosiți funcția Clear înainte de a apela LoadData dacă doriți să începeți cu o colecție goală.

Securitatea datelor

Luați în considerare cu atenție izolarea și criptarea datelor stocate cu SaveData și decideți dacă acestea sunt potrivite pentru nevoile dvs., mai ales dacă dispozitivele sunt partajate de mai mulți utilizatori.

Datele stocate cu SaveData sunt izolate de ceilalți Power Apps de Power Apps jucători. Datele sunt stocate pe baza ID-ului aplicației, izolând automat spațiul SaveData de nume Power Apps.

Sistemul de operare și browserul sunt responsabile pentru izolarea datelor dintre Power Apps și alte aplicații de pe un dispozitiv și cu site-uri web. De exemplu, sistemul de operare este responsabil pentru izolarea datelor stocate în Microsoft Outlook de datele stocate în Power Apps și, de asemenea, izolarea acestor date de pe site-uri web precum Bing.com sau PowerApps.com. Facilitățile aplicației sandbox încorporate ale sistemului de operare sunt folosite pentru SaveData stocare, care de obicei nu este accesibilă sau ascunsă de utilizator.

Când utilizați aceeași aplicație, sistemul de operare și browser-ul sunt, de asemenea, responsabile pentru izolarea datelor între diferiți utilizatori la nivel de sistem de operare. De exemplu, dacă doi utilizatori diferiți partajează un computer și folosesc două date de conectare Windows diferite, sistemul de operare este responsabil pentru izolarea datelor între cei doi utilizatori Windows.

Datele pot fi sau nu izolate între diferiți Power Apps utilizatori dacă utilizatorul sistemului de operare este același. Nu toți Power Apps jucătorii tratează acest lucru în același mod. De exemplu, în timp ce este conectat ca același utilizator Windows, în Power Apps player, utilizatorul se deconectează de la Power Apps și se conectează ca alt utilizator Power Apps . Datele stocate într-o aplicație înainte de schimbarea Power Apps utilizatorului pot fi accesibile celui de-al doilea Power Apps utilizator din aceeași aplicație. Datele pot fi, de asemenea, eliminate și primul Power Apps utilizator ar putea să nu le mai poată accesa. Comportamentul variază între Power Apps jucători.

De asemenea, sistemul de operare poate cripta datele sau puteți utiliza un instrument de gestionare a dispozitivelor mobile, cum ar fi Microsoft Intune. Datele stocate la redarea unei aplicații într-un browser web nu sunt criptate.

Sintaxă

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

  • Collection - Obligatoriu. Colecția care trebuie stocată sau încărcată.
  • Name - Obligatoriu. Numele stocării. Numele trebuie să fie același pentru a salva și a încărca același set de date. Spațiul de nume nu este partajat cu alte aplicații. Numele nu trebuie să conțină niciunul dintre aceste caractere: *".?:\<>|/.
  • IgnoreNonexistentFile - Opțional. O valoare booleană care indică ce trebuie făcut dacă fișierul nu există deja. Utilizați false (implicit) pentru a returna o eroare și true pentru a suprima eroarea.

ClearData( [Nume] )

  • Nume - Opțional. Numele stocării salvat anterior cu SaveData. Dacă Nume nu este furnizat, toate spațiile de stocare asociate cu aplicația sunt șterse.

Exemple

Formula Descriere Rezultat
SaveData( LocalCache, "MyCache" ) Salvați colecția LocalCache pe dispozitivul utilizatorului sub numele "MyCache", potrivit pentru LoadData pentru a prelua mai târziu. Datele sunt salvate pe gazda aplicației sub numele „MyCache”.
LoadData( LocalCache, "MyCache") Încarcă colecția LocalCache de pe dispozitivul utilizatorului sub denumirea "MyCache", stocată anterior cu un apel la SaveData. Datele sunt încărcate din gazda aplicației sub numele „MyCache”.
ClearData( "MyCache" ) Șterge spațiul de stocare sub numele „MyCache”. Orice date stocate sub acest nume nu vor mai fi disponibile prin intermediul LoadData. Datele sunt îndepărtate din gazda aplicației sub numele „MyCache”.
ClearData() Șterge tot spațiul de stocare asociat acestei aplicații. Datele stocate de alte aplicații nu sunt afectate. Toate datele sunt eliminate din gazda aplicației.

Exemplu offline simplu

Următorul exemplu simplu captează și stochează numele și imaginile elementelor de zi cu zi cât sunt offline. Stochează informațiile în stocarea locală a dispozitivului pentru utilizare ulterioară. Aceasta permite închiderea aplicației sau repornirea dispozitivului fără a pierde date.

Notă

Acest exemplu folosește un control al camerei pentru a captura imagini. Deoarece SaveData este limitat la 1 MB de date atunci când rulați în Teams sau într-un browser web, acest exemplu nu va funcționa cu mai mult de câteva imagini. De asemenea, în funcție de cameră, este posibil să nu funcționeze nici măcar cu o singură imagine. Utilizați un dispozitiv pentru a lucra cu acest exemplu complet sau eliminați controlul camerei și o parte a imaginii din acest exemplu pentru a rula în Teams sau într-un browser web.

  1. Creați o aplicație proiectată pe pânză goală cu un aspect al tabletei. Pentru mai multe detalii, citiți crearea unei aplicații dintr-un șablon și selectați Aspect tabletă sub Aplicația goală.

  2. Adăugați un control Intrare text și o Cameră și aranjați-le aproximativ după cum se arată:

    O introducere de text și un control al camerei adăugate la un ecran gol.

  3. Adăugați un control Buton.

  4. Faceți dublu clic pe controlul buton pentru a schimba textul butonului la Adăugare element (sau modificați proprietatea Text).

  5. Setați proprietatea OnSelect controlului buton de la această formulă care va adăuga un element la colecția noastră:

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

    Un buton de control adăugat cu textul „Add Item” și setul de proprietăți OnSelect

  6. Adăugați alt control Buton.

  7. Faceți dublu clic pe controlul buton pentru a schimba textul butonului la Salvare date (sau modificați proprietatea Text).

  8. Setați proprietatea OnSelect controlului buton de la această formulă pentru a salva colecția pe dispozitivul local:

    SaveData( MyItems, "LocalSavedItems" )
    

    Un buton de control adăugat cu textul „Salvare date” și setul de proprietăți OnSelect

    Este tentant să testezi butonul, deoarece nu afectează nimic. Dar veți vedea o eroare doar pe măsură ce creați un browser web. Salvați aplicația mai întâi și deschideți-o pe un dispozitiv înainte de a respecta următorii pași pentru a testa această formulă:

  9. Adăugați un al treilea control Buton.

  10. Faceți dublu clic pe controlul buton pentru a schimba textul butonului la Încărcare date (sau modificați proprietatea Text).

  11. Setați proprietatea OnSelect controlului buton de la această formulă pentru a încărca colecția de pe dispozitivul local:

    LoadData( MyItems, "LocalSavedItems" )
    

    Un buton de control adăugat cu textul „Încărcare date” și setul de proprietăți OnSelect

  12. Adăugați un control Galerie cu un aspect vertical care include o imagine și zone de text:

    Selectare varietate de galerie, „Vertical” selectat cu zone de imagine și text

  13. Când vi se solicită, selectați colecția MyItems ca sursă de date pentru această galerie. Aceasta va seta proprietatea Elemente a controlului Gallery:

    Selectarea galeriei de sursă de date.Controlul de imagine din șablonul de galerie ar trebui să fie implicit Imagine la ThisItem.Picture și comenzile de etichetă ar trebui să fie ambele implicit proprietățile lor Text la ThisItem.Item. Verificați aceste formule dacă după adăugarea de elemente în următorii pași nu vedeți nimic în galerie.

  14. Poziționați controlul în partea dreaptă a celorlalte controale:

    Galeria repoziționată în dreapta ecranului.

  15. Salvați aplicația. Dacă este prima dată când a fost salvată, nu este necesară publicarea acesteia. Dacă nu este prima dată, publicați aplicația după ce salvați.

  16. Deschideți aplicația pe un dispozitiv, cum ar fi un telefon sau o tabletă. SaveData și LoadData nu poate fi utilizat în Studio sau într-un browser web. Reîmprospătați lista de aplicații dacă nu vedeți aplicația imediată, poate dura câteva secunde ca aplicația să apară pe dispozitiv. Deconectarea și conectarea la cont vă pot, de asemenea, ajuta.

    Aplicația rulează fără elemente adăugate.Odată ce aplicația dvs. a fost descărcată, vă puteți deconecta de la rețea și rula aplicația offline.

  17. Introduceți numele și faceți o poză a unui element.

  18. Selectați butonul Adăugare element. Repetați adăugarea de articole de câteva ori pentru a vă încărca colecția.

    Aplicația rulează cu trei elemente adăugate.

  19. Selectați butonul Salvați date. Acest lucru va salva datele din colecția dvs. pe dispozitivul dvs. local.

  20. Închideți aplicația. Colecția dvs. din memorie se va pierde, inclusiv toate numele și imaginile articolului, dar se vor afla în continuare în spațiul de stocare al dispozitivului.

  21. Lansați aplicația din nou. Colecția din memorie va apărea din nou ca goală în galerie.

    Aplicația rulează din nou fără niciun element adăugat.

  22. Selectați butonul Încărcare date. Colecția va fi repopulată din datele stocate pe dispozitivul dvs., iar elementele dvs. vor fi din nou în galerie. Colecția a fost goală înainte ca acest buton să apeleze funcția LoadData nu era necesară apelarea Collect sau ClearCollect înainte de a încărca datele din stocare.

    Aplicația rulează cu trei elemente restaurate după apelarea funcției LoadData.

  23. Selectați din nou butonul Încărcare date. Datele stocate vor fi anexate la sfârșitul colecției și o bară de defilare va apărea în galerie. Dacă doriți să înlocuiți mai degrabă decât să anexați, utilizați funcția Clear mai întâi pentru a șterge colecția înainte de a apela funcția LoadData.

    Aplicația rulează cu șase elemente restaurate după apelarea funcției LoadData de două ori.

Exemplu offline mai avansat

Pentru un exemplu detaliat, consultați articolul despre capacități simple offline.