Dijeli putem


Funkcije SaveData, LoadData i ClearData

Primjenjuje se na sljedeće: Aplikacije radnog područja

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 razmislite o izolaciji i šifriranju podataka pohranjenih pomoću SaveData i odlučite je li to prikladno za vaše potrebe, osobito ako uređaje dijeli više korisnika.

Podaci pohranjeni u SaveData igrači Power Apps su izolirani od drugih Power Apps . Podaci se pohranjuju na temelju ID-a aplikacije aplikacije, čime se automatski izolira prostor naziva SaveData između Power Apps.

Operativni sustav i preglednik odgovorni su za izdvajanje podataka između Power Apps i drugih aplikacija na uređaju i s web stranicama. Na primjer, operativni sustav odgovoran je za izdvajanje podataka pohranjenih od Microsoft Outlook podataka pohranjenih u Power Apps, a također i za izolaciju tih podataka s web stranica kao što su Bing.com ili PowerApps.com. Ugrađeni objekti pješčanika aplikacija operativnog sustava koriste se za pohranu SaveData koja obično nije dostupna korisniku ili skrivena od njega.

Kada koristite istu aplikaciju, operativni sustav i preglednik također su odgovorni za izolaciju 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 izolaciju podataka između dva korisnika sustava Windows.

Podaci mogu, ali i ne moraju biti izolirani između različitih Power Apps korisnika ako je korisnik operativnog sustava isti. Ne tretira svaki Power Apps igrač ovo na isti način. Na primjer, dok je prijavljen kao isti korisnik sustava Windows, u playeru Power Apps se korisnik 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 više neće moći pristupiti. Ponašanje se razlikuje od igrača do igrača Power Apps .

Operativni 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( Zbirka; Naziv )
LoadData( Zbirka; Naziv [; IgnoreNonexistentFile ])

  • Zbirka - Obavezno. Zbirka koja se sprema ili učitava.
  • Ime - 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 - Nije obavezno. 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] )

  • Ime - Nije obavezno. 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:

    Unos teksta i kontrola kamere dodani su praznom zaslonu.

  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 } )
    

    Dodana je kontrola gumba s 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" )
    

    Dodana je kontrola gumba 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" )
    

    Dodana je kontrola gumba s tekstom

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

    Odabir raznolikosti galerije,

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

    Odabir izvora podataka u galeriji.Kontrola slike u predlošku galerije trebala bi zadano svojstvo Slika biti zadana na ThisItem.Picture , a kontrole oznaka trebale bi zadano svojstva teksta biti 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 je premještena desno od 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. SaveData i LoadData ne mogu se koristiti u Studiju ili 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 radi bez dodanih stavki.Nakon što se vaša aplikacija preuzme, možete prekinuti vezu s mrežom i pokrenuti aplikaciju izvan mreže.

  17. Unesite ime i fotografirajte neki predmet.

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

    Aplikacija radi s dodanim trima stavkama.

  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 ponovno radi 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 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 stavki vraćenih nakon dvostrukog pozivanja funkcije LoadData.

Primjer naprednijeg izvanmrežnog rada

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