Share via


Funkcije SaveData, LoadData i ClearData

Odnosi se na: Aplikacije od gotovih gradivnih elemenata

Sprema i ponovno učitava zbirku iz spremišta glavnog računala aplikacije.

Napomena

Ove se funkcije sada mogu koristiti prilikom reprodukcije aplikacije u web-pregledniku kao eksperimentalna značajka. Ta je značajka onemogućena prema zadanim postavkama. Da biste omogućili, idite na Postavke>Buduće značajke>Eksperimentalno>Enabled SaveData, LoadData, ClearData on web player..” i uključite. Da biste poslali povratne informacije u vezi s ovom eksperimentalnom značajkom, idite na forum Power Apps community.

Opis

Funkcija SaveData pohranjuje zbirku pod nekim nazivom za kasniju upotrebu.

Funkcija LoadData ponovno učitava zbirku pod nazivom pod kojim je prethodno spremljena funkcijom SaveData. Ne možete koristiti ovu funkciju da biste učitali zbirku iz nekog drugog izvora.

Funkcija ClearData briše pohranu pod određenim nazivom ili briše svu pohranu povezanu s aplikacijom ako nije naveden naziv.

Napomena

  • Naziv dijeljen između funkcija SaveData, LoadData i ClearData je ključ, a ne naziv datoteke. Ne mora biti složen jer su nazivi jedinstveni za svaku aplikaciju, pa nema opasnosti od sukoba naziva. Naziv ne smije sadržavati nijedan od ovih znakova: *".?:\<>|/.
  • SaveData ograničen je na 1 MB podataka za usluzi Power Apps koja radi u aplikaciji Teams i u web-pregledniku. Ne postoji fiksno ograničenje da Power Apps radi na mobilnom sviraču, ali u nastavku donosimo raspravu o praktičnim ograničenjima.
  • Nemojte koristiti SaveData za pohranjivanje osjetljivih podataka na webu jer će biti pohranjeni u običnom tekstu.

Upotrijebite ove funkcije kako biste poboljšali performanse pokretanja aplikacije:

  • Keširanjem podataka u formuli App.OnStart pri prvom pokretanju.
  • Ponovnim učitavanjem lokalne predmemorije pri sljedećim pokretanjima.

Također, ove funkcije možete koristiti kako biste svojoj aplikaciji dodali mogućnosti jednostavnog izvanmrežnog rada.

Ne možete upotrebljavati ove funkcije u pregledniku u sljedećim slučajevima:

  • Stvaranje aplikacije u alatu Power Apps Studio.

Da biste testirali svoju aplikaciju, pokrenite je u Power Apps Mobile na uređaju iPhone ili Android.

Ove su funkcije ograničene veličinom memorije dostupne za aplikaciju jer djeluju na zbirci koja je u unutarnjoj memoriji. Dostupnost memorije ovisi o čimbenicima kao što su:

  • Uređaj i operacijski sustav.
  • Memorija koju Power Apps reproduktor koristi.
  • Složenost aplikacije sa zaslonima i kontrolama.

Testirajte svoju aplikaciju u očekivanim scenarijima i na vrstama uređaja na kojima očekujete pokretanje aplikacije pri pohrani velike količine podataka. Očekujte da će općenito imati između 30 MB i 70 MB slobodne memorije.

Ove funkcije ovise o zbirci koja je implicitno definirana funkcijom Collect ili ClearCollect. Ne morate pozivati funkcije Collect ili ClearCollect kako biste učitavali podatke u zbirku radi njezinog definiranja. To je čest slučaj pri korištenju funkcije LoadData nakon prethodne upotrebe funkcije SaveData. Sve što je potrebno je prisutnost ovih funkcija u formuli kako bi se implicitno definirala struktura te zbirke. Za dodatne informacije pogledajte stvaranje i uklanjanje varijabli.

Učitani podatci bit će dodani u zbirku. Upotrijebite funkciju Clear prije pozivanja funkcije LoadData želite li započeti s praznom zbirkom.

Sigurnost podataka

Pažljivo razmotrite izolaciju i šifriranje podataka pohranjenih sa značajkom SaveData i odlučite je li to prikladno za vaše potrebe, posebno ako uređaje dijeli više korisnika.

Igrači izoliraju podatke pohranjene sa značajkom SaveData od drugih Power Apps . Power Apps Podaci se pohranjuju na temelju ID-a aplikacije aplikacije, automatski izolirajući prostor naziva SaveData između Power Apps.

Operativni sustav i preglednik odgovorni su za izoliranje podataka između Power Apps i drugih aplikacija na uređaju i s web stranicama. Na primjer, operativni sustav odgovoran je za izoliranje podataka pohranjenih u iz podataka pohranjenih u Microsoft Outlook Power Apps i za izolaciju tih podataka s web stranica kao što su Bing.com ili PowerApps.com. Ugrađeni uređaji operacijskog sustava u memoriji za testiranje aplikacija koriste se za pohranu SaveData koja obično nije dostupna korisniku ili skrivena od korisnika.

Kada koristite istu aplikaciju, operativni sustav i preglednik također su odgovorni za izoliranje podataka između različitih korisnika na razini operativnog sustava. Na primjer, ako dva različita korisnika dijele računalo i koriste dvije različite vjerodajnice za prijavu u sustav Windows, operativni sustav odgovoran je za izoliranje podataka između dva korisnika sustava Windows.

Podaci mogu ili ne moraju biti izolirani između različitih Power Apps korisnika ako je korisnik operacijskog sustava isti. Ne tretira svaki Power Apps igrač ovo na isti način. Na primjer, dok je prijavljen kao isti korisnik sustava Windows, u programu reproduktor Power Apps korisnik se odjavljuje i Power Apps prijavljuje kao drugi Power Apps korisnik. Podaci pohranjeni u aplikaciji prije promjene Power Apps korisnika mogu biti dostupni drugom Power Apps korisniku unutar iste aplikacije. Podaci se također mogu ukloniti i prvi Power Apps korisnik im možda više neće moći pristupiti. Ponašanje varira između Power Apps igrača.

Operacijski sustav također može šifrirati podatke ili možete koristiti alat za upravljanje mobilnim uređajima kao što je Microsoft Intune. Podaci pohranjeni prilikom reprodukcije aplikacije u web-pregledniku nisu šifrirani.

Sintaksa

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

  • Collection – obavezno. Zbirka koja se sprema ili učitava.
  • Name – obavezno. Naziv prostora za pohranu. Naziv mora biti isti za spremanje i učitavanje istog skupa podataka. Prostor naziva ne dijeli se s drugim aplikacijama. Nazivi ne smiju sadržavati nijedan od ovih znakova: *".?:\<>|/.
  • IgnoreNonexistentFile – neobavezno. Booleova vrijednost koja pokazuje što učiniti ako datoteka još ne postoji. Upotrijebite vrijednost false (zadana) za vraćanje pogreške i true za suzbijanje pogreške.

ClearData( [Naziv] )

  • Name – neobavezno. Naziv pohrane koja je prethodno spremljena pomoću funkcije SaveData. Ako nije naveden Naziv, briše se sva pohrana povezana s aplikacijom.

Primjeri

Formula Opis Rezultat
SaveData( LocalCache, "MyCache" ) Spremite zbirku LocalCache na korisnikov uređaj pod nazivom „MyCache”, prikladno za funkciju LoadData radi kasnijeg dohvaćanja. Podaci se spremaju na glavno računalo aplikacije pod nazivom "MyCache".
LoadData( LocalCache, "MyCache" ) Učitava se zbirka LocalCache s korisnikovog uređaja pod nazivom „MyCache”, prethodno spremljena pozivanjem funkcije SaveData. Podaci se učitavaju s glavnog računala aplikacije pod nazivom "MyCache".
ClearData( "MyCache" ) Briše pohranu pod nazivom "MyCache". Svi podaci pohranjeni pod ovim nazivom više neće biti dostupni putem funkcije LoadData. Podaci se uklanjaju s glavnog računala aplikacije pod nazivom "MyCache".
ClearData() Izbrišite svu pohranu povezanu s ovom aplikacijom. To ne utječe na podatke koje pohranjuju druge aplikacije. Svi podaci se uklanjaju s glavnog računala aplikacije.

Primjer jednostavnog izvanmrežnog rada

Sljedeći jednostavni primjer bilježi i pohranjuje nazive i slike svakodnevnih predmeta dok ste izvan mreže. Podatci se pohranjuju u lokalni prostor za pohranu uređaja radi kasnije upotrebe. To omogućuje zatvaranje aplikacije ili ponovno pokretanje uređaja bez gubitka podataka.

Napomena

Ovaj primjer koristi kontrolu kamere za snimanje slika. Budući da je SaveData ograničen na 1 MB podataka kada se izvodi u aplikaciji Teams ili web-pregledniku, ovaj primjer neće raditi s više od nekoliko slika. Također, ovisno o kameri, možda neće raditi niti s jednom slikom. Upotrijebite uređaj za provođenje ovog cijelog primjera ili uklonite kontrolu kamere i dio slike iz ovog primjera da biste ga pokrenuli u aplikaciji Teams ili u web-pregledniku.

  1. Napravite praznu aplikaciju radnog područja s izgledom za tablet. Za više detalja pročitajte stvaranje aplikacije iz predloška i odaberite Izgled za tablet pod Prazna aplikacija.

  2. Dodajte kontrolu Text input i kontrolu Camera i složite ih otprilike kao što je prikazano:

    Tekstni ulaz i kontrola kamere dodani na prazan zaslon.

  3. Dodajte kontrolu Button.

  4. Dvaput kliknite kontrolu gumba kako biste promijenili tekst gumba u Dodaj stavku (ili modificirajte svojstvo Text).

  5. Postavite svojstvo OnSelect kontrole gumba na ovu formulu koja će dodati neku stavku u našu zbirku:

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

    Kontrola gumba dodana tekstom

  6. Dodajte još jednu kontrolu Button.

  7. Dvaput kliknite kontrolu gumba kako biste promijenili tekst gumba u Spremi podatke (ili modificirajte svojstvo Text).

  8. Postavite svojstvo OnSelect kontrole gumba na ovu formulu kako bi se naša zbirka spremila na lokalni uređaj:

    SaveData( MyItems, "LocalSavedItems" )
    

    Kontrola gumba dodana s tekstom

    Primamljivo je testirati gumb jer to ni na šta ne utječe. Ali, vidjet ćete pogrešku dok stvarate u web-pregledniku. Prvo spremite aplikaciju i otvorite neki uređaj prije nego što počnete slijediti sljedeće korake za testiranje ove formule:

  9. Dodajte treću kontrolu Button.

  10. Dvaput kliknite kontrolu gumba kako biste promijenili tekst gumba u Učitaj podatke (ili modificirajte svojstvo Text).

  11. Postavite svojstvo OnSelect kontrole gumba na ovu formulu kako bi se naša zbirka učitala s lokalnog uređaja:

    LoadData( MyItems, "LocalSavedItems" )
    

    Kontrola gumba dodana s tekstom

  12. Dodajte kontrolu Gallery s okomitim izgledom koji uključuje područja slike i teksta:

    Odabir raznolikosti galerije, odabran

  13. Na upit odaberite zbirku MyItems kao izvor podataka za ovu galeriju. Time će se postaviti svojstvo Items kontrole Gallery:

    Izbor galerije izvor podataka.Kontrola slike u predlošku galerije trebala bi postaviti svojstvo Slika na ThisItem.Picture , a kontrole natpisa trebale bi postaviti svoja svojstva Text na ThisItem.Item . Provjerite ove formule ako nakon dodavanja stavki u sljedećim koracima ne vidite ništa u galeriji.

  14. Pomaknite kontrolu nadesno od ostalih kontrola:

    Galerija se premješta s desne strane zaslona.

  15. Spremite aplikaciju. Ako je spremljena po prvi put, nema potrebe objavljivati je. Ako nije prvi put, objavite aplikaciju nakon što je spremite.

  16. Otvorite aplikaciju na uređaju kao što je telefon ili tablet. Funkcije SaveData i LoadData ne mogu se koristiti u Studiju ili u web-pregledniku. Osvježite popis aplikacija ako svoju aplikaciju ne vidite odmah, može proći nekoliko sekundi dok se aplikacija ne pojavi na vašem uređaju. Odjava i ponovna prijava na račun također mogu pomoći.

    Aplikacija koja radi bez dodanih stavki.Nakon preuzimanja aplikacije možete prekinuti vezu s mrežom i pokrenuti je izvanmrežno.

  17. Unesite ime i fotografirajte neki predmet.

  18. Odaberite gumb Dodaj stavku. Ponovite dodavanje predmeta nekoliko puta da biste učitali svoju zbirku.

    Aplikacija koja radi s dodane tri stavke.

  19. Odaberite gumb Spremi podatke. To će podatke u vašoj zbirci spremiti na lokalni uređaj.

  20. Zatvorite aplikaciju. Zbirka u memoriji će se izgubiti, uključujući i sva imena i slike, ali oni će i dalje biti u pohrani uređaja.

  21. Ponovno pokrenite aplikaciju. Zbirka u memoriji ponovno će se pokazati kao prazna u galeriji.

    Aplikacija se ponovno pokreće bez dodanih stavki.

  22. Odaberite gumb Učitaj podatke. Zbirka će se ponovo popuniti iz podataka pohranjenih na vašem uređaju, a stavke će se vratiti u galeriju. Zbirka je bila prazna prije nego što je ovaj gumb pozvao funkciju LoadData; nije bilo potrebe pozvati funkciju Collect ili ClearCollect prije učitavanja podataka iz pohrane.

    Aplikacija koja radi s tri stavke vraćene nakon pozivanja funkcije LoadData.

  23. Ponovno odaberite gumb Učitaj podatke. Pohranjeni podatci bit će dodani na kraj zbirke, a u galeriji će se pojaviti traka za pomicanje. Ako želite zamijeniti, a ne dodati, najprije upotrijebite funkciju Clear kako biste očistili kolekciju prije nego što pozovete funkciju LoadData.

    Aplikacija koja radi sa šest vraćenih stavki nakon što je dvaput nazvala funkciju LoadData.

Primjer naprednijeg izvanmrežnog rada

Detaljan primjer pogledajte u članku mogućnosti jednostavnog izvanmrežnog rada.