Deli putem


Funkcije SaveData, LoadData i ClearData

Odnosi se na: Canvas aplikacije

Čuva i ponovo učitava a kolekciju iz skladišta hosta aplikacije.

Belešku

Ove funkcije se sada mogu koristiti prilikom reprodukcije aplikacije u veb-pregledaču kao eksperimentalna funkcija. Ova funkcija je podrazumevano onemogućena. Da biste je omogućili, idite na Postavke>Predstojeće funkcije>Eksperimentalno>Omogući funkcije SaveData, LoadData i ClearData na veb-plejeru. i uključite prekidač. Da biste prosledili povratne informacije u vezi sa ovom eksperimentalnom funkcijom, idite na forum Power Apps zajednice.

Opis

Funkcija SaveData čuva kolekciju za kasniju upotrebu pod imenom.

Funkcija LoadData ponovo učitava kolekciju po imenu pod kojom je prethodno sačuvana pomoću funkcije SaveData. Ne možete da koristite ovu funkciju za učitavanje kolekcije iz drugog izvora.

Funkcija ClearData briše skladište pod određenim imenom ili briše celo skladište povezano sa aplikacijom ako nije navedeno ime.

Belešku

  • Ime koje dele SaveData, LoadData i ClearData je ključ, a ne ime datoteke. Ono ne mora biti složeno jer su imena jedinstvena za svaku aplikaciju i nema opasnosti od neusaglašenosti imena. Ime ne sme da sadrži nijedan od ovih znakova: *".?:\<>|/.
  • SaveData je ograničeno na 1 MB podataka za pokretanje Power Apps u usluzi Teams i u veb-pregledaču. Ne postoji fiksno ograničenje za Power Apps koji radi na mobilnom plejeru, ali ispod smo razmotrili praktična ograničenja.
  • Nemojte koristiti SaveData za skladištenje osetljivih podataka na vebu jer će biti uskladišteni u čistom tekstu.

Pomoću ovih funkcija poboljšajte performanse pokretanja aplikacije:

  • Keširanje podataka u formuli App.OnStart pri prvom pokretanju.
  • Ponovno učitavanje lokalne keš morije prilikom sledećih pokretanja.

Ove funkcije možete koristiti i za dodavanje jednostavnih vanmrežnih mogućnosti u svoju aplikaciju.

Ne možete koristiti ove funkcije u pregledaču kada:

  • Pravite aplikacije u programu Power Apps Studio.

Da biste testirali aplikaciju, pokrenite je u Power Apps za mobilne uređaje na iPhone ili Android uređaju.

Ove funkcije su ograničene količinom dostupne memorije aplikacije jer rade nad kolekcijom u memoriji. Dostupna memorija može varirati u zavisnosti od faktora kao što su:

  • Uređaj i operativni sistem.
  • Memorija koju koristi Power Apps plejer.
  • Složenost aplikacije sa ekranima i kontrolama.

Testirajte svoju aplikaciju s očekivanim scenarijima na onim tipovima uređaja na kojima očekujete da će aplikacija raditi prilikom skladištenja velike količine podataka. Očekujte da će obično biti dostupno između 30 MB i 70 MB memorije.

Ove funkcije zavise od kolekcije koja je implicitno definisana pomoću Collect ili ClearCollect. Ne morate zvati Collect ili ClearCollect da učita podatke u kolekciju za njihovo definisanje. Čest je slučaj kod korišćenja LoadData posle prethodnog SaveData. Sve što je potrebno je prisustvo ovih funkcija u formuli da implicitno definišu strukturu kolekcije. Za više informacija pogledajte kreiranje i uklanjanje promenljivih.

Učitani podaci biće dodati u kolekciju. Koristite funkciju Clear pre poziva LoadData ako želite da započnete s praznom kolekcijom.

Bezbednost podataka

Pažljivo razmotrite izolaciju i šifrovanje podataka uskladištenih pomoću funkcije SaveData i odlučite da li odgovara vašim potrebama, posebno ako uređaje deli više korisnika.

Igrači su izolovali podatke uskladištene pomoću saveData Power Apps od drugih Power Apps . Podaci se skladište na osnovu ID-a aplikacije aplikacije, automatski izolujući prostor imena SaveData između Power Apps.

Operativni sistem i pregledač su odgovorni za izolaciju podataka između i Power Apps drugih aplikacija na uređaju i veb lokacijama. Na primer, operativni sistem je odgovoran za izolaciju podataka uskladištenih u Microsoft Outlook podacima uskladištenih Power Apps u programu, kao i za izolaciju podataka sa Veb lokacija kao što su Bing.com ili PowerApps.com. Operativni sistem ugrađen u objekte aplikacije Sandbox koristi se za SaveData skladište koje obično nije dostupno ili skriveno od korisnika.

Kada koristite istu aplikaciju, operativni sistem i pregledač su takođe odgovorni za izolaciju podataka između različitih korisnika nivoa operativnog sistema. Na primer, ako dva različita korisnika dele računar i koriste dva različita Windows akreditiva za prijavljivanje, operativni sistem je odgovoran za izolaciju podataka između dva Windows korisnika.

Podaci mogu, ali i ne moraju biti izolovani između različitih Power Apps korisnika ako je korisnik operativnog sistema isti. Ne tretira Power Apps svaki igrač ovo na isti način. Na primer, dok je prijavljen kao isti Windows korisnik, u Power Apps plejeru se korisnik Power Apps odjavljuju i prijavljivanje kao drugi Power Apps korisnik. Podaci uskladišteni u aplikaciji pre promene korisnika Power Apps mogu biti dostupni drugom korisniku Power Apps u okviru iste aplikacije. Podaci takođe mogu biti uklonjeni i prvi korisnik Power Apps možda više neće moći da im pristupi. Ponašanje varira između Power Apps igrača.

Operativni sistem takođe može da šifruje podatke ili možete da koristite alatku za upravljanje mobilnim uređajima kao što je Microsoft Intune. Podaci uskladišteni prilikom reprodukcije aplikacije u veb-pregledaču nisu šifrovani.

Sintaksa

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

  • Collection – Obavezno. Kolekcija koja se skladišti ili učitava.
  • Name – Obavezno. Naziv skladišta. Naziv mora biti isti da biste sačuvali i učitali isti skup podataka. Prostor za ime se ne deli sa drugim aplikacijama. Imena ne smeju da sadrže nijedan od ovih znakova: *".?:\<>|/.
  • IgnoreNonexistentFile – Opcionalno. Logička vrednost koja pokazuje šta da se radi ako datoteka već ne postoji. Koristite netačno (podrazumevano) da bi se vratila greška i tačno da bi se potisnula greška.

ClearData( [Ime] )

  • Name – Opcionalno. Naziv skladišta koje je prethodno sačuvano koristeći SaveData. Ako Ime nije obezbeđeno, sav skladišni prostor povezan sa aplikacijom se briše.

Primeri

Formula Opis rezultat
SaveData( LocalCache, "MyCache" ) Sačuvajte LocalCache zbirku na korisnikovom uređaju pod imenom "MyCache", što je pogodno da je LoadData kasnije preuzme. Podaci se čuvaju na hostu aplikacije pod imenom „MyCache“.
LoadData( LocalCache, "MyCache" ) Učitava LocalCache kolekciju sa korisnikovog uređaja pod imenom "MyCache", prethodno sačuvanu sa pozivom na SaveData. Podaci se učitavaju iz hosta aplikacije pod imenom „MyCache“.
ClearData( "MyCache" ) Briše skladište pod imenom „MyCache“. Podaci sačuvani pod ovim imenom više neće biti dostupni koristeći LoadData. Podaci se uklanjaju iz hosta aplikacije pod imenom „MyCache“.
ClearData() Obrišite sav memorijski prostor povezan sa ovom aplikacijom. To ne utiče na podatke koje čuvaju druge aplikacije. Svi podaci se uklanjaju iz hosta aplikacije.

Jednostavan primer van mreže

Sledeći jednostavan primer, snima i čuva nazive i slike svakodnevnih predmeta dok ste van mreže. Čuva informacije u lokalnoj memoriji uređaja za kasniju upotrebu. To omogućava zatvaranje aplikacije ili ponovno pokretanje uređaja bez gubitka podataka.

Belešku

U ovom primeru, kontrola kamere se koristi za snimanje slika. Pošto je SaveData ograničeno na 1 MB podataka prilikom pokretanja u usluzi Teams ili veb-pregledaču, ovaj primer neće funkcionisati sa više od nekoliko slika. Takođe, u zavisnosti od kamere, možda neće raditi ni sa jednom slikom. Koristite uređaj da biste prošli kroz ovaj puni primer ili uklonite deo kontrole kamere i slike ovog primera da biste ga pokrenuli u usluzi Teams ili u veb-pregledaču.

  1. Napravite praznu aplikaciju sa podlogom sa izgledom tableta. Za više detalja pročitajte kreiranje aplikacije iz predloška i izaberite Izgled tableta u okviru Prazna aplikacija.

  2. Dodajte kontrolu Unos teksta i kontrolu Kamera i rasporedite ih otprilike kao što je prikazano:

    Tekstualni unos i kontrola fotoaparata dodati su na prazan ekran.

  3. Dodajte kontrolu Dugme.

  4. Dvaput kliknite kontrolu dugmeta da biste promenili tekst dugmeta u Dodaj stavku (ili izmenili svojstvo Text).

  5. Podesite svojstvo OnSelect kontrole dugmeta prema ovoj formuli koja će dodati stavku u našu kolekciju:

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

    Kontrola dugmeta dodata sa tekstom

  6. Dodajte drugu kontrolu Dugme.

  7. Dvaput kliknite kontrolu dugmeta da biste promenili tekst dugmeta u Sačuvaj podatke (ili izmenili svojstvo Text).

  8. Podesite svojstvo OnSelect kontrole dugmeta prema ovoj formuli da biste sačuvali kolekciju na lokalnom uređaju:

    SaveData( MyItems, "LocalSavedItems" )
    

    Kontrola dugmeta dodata sa tekstom

    Primamljivo je testirati dugme jer ni na šta ne utiče. Ali grešku ćete videti dok pišete u veb-pregledaču. Prvo sačuvajte aplikaciju i otvorite je na uređaju pre nego što sledite sledeće korake za testiranje ove formule:

  9. Dodajte treću kontrolu Dugme.

  10. Dvaput kliknite kontrolu dugmeta da biste promenili tekst dugmeta u Učitaj podatke (ili izmenili svojstvo Text).

  11. Podesite svojstvo OnSelect kontrole dugmeta prema ovoj formuli da biste učitali kolekciju sa lokalnog uređaja:

    LoadData( MyItems, "LocalSavedItems" )
    

    Kontrola dugmeta dodata sa tekstom

  12. Dodajte kontrolu Galerija kontrola sa vertikalnim rasporedom koji uključuje slike i tekstualna područja:

    Izbor raznovrsnosti galerije,

  13. Kada se od vas zatraži, izaberite kolekciju Moje stavke kao izvor podataka za ovu galeriju. Tako će se podesiti svojstvo Items kontrole Galerija:

    Izbor galerije izvor podataka.Kontrola slike u predlošku galerije bi trebalo da podrazumevano podesi svojstvo image na ThisItem.Picture i kontrole oznaka bi trebalo da podrazumevano podese svojstva teksta na ThisItem.Item. Proverite ove formule ako nakon dodavanja predmeta u narednim koracima ne vidite ništa u galeriji.

  14. Postavite kontrole desno od drugih kontrola:

    Galerija je repozicionirana sa desne strane ekrana.

  15. Sačuvajte aplikaciju. Ako je prvi put sačuvana, nema potrebe da je objavljujete. Ako nije prvi put, objavite aplikaciju nakon što je sačuvate.

  16. Otvorite aplikaciju na uređaju kao što su telefon ili tablet. SaveData i LoadData se ne mogu koristiti u studiju ili u veb-pregledaču. Osvežite listu aplikacija ako ne vidite aplikaciju odmah; može proći nekoliko sekundi dok se aplikacija pojavi na vašem uređaju. Odjavljivanje i ponovno prijavljivanje na nalog takođe mogu pomoći.

    Aplikacija koja radi bez dodatih stavki.Kada preuzmete aplikaciju, možete da prekinete vezu sa mrežom i pokrenete aplikaciju van mreže.

  17. Unesite ime i slikajte stavku.

  18. Izaberite dugme Dodaj stavku. Ponovite dodavanje stavke nekoliko puta da biste učitali svoju kolekciju.

    Aplikacija koja radi sa tri dodate stavke.

  19. Izaberite dugme Sačuvaj podatke. Ovo će podatke u vašoj kolekciji sačuvati na vašem lokalnom uređaju.

  20. Zatvori aplikaciju. Vaša kolekcija u memoriji će se izgubiti, uključujući sva imena i slike, ali one će i dalje biti u skladištu uređaja.

  21. Ponovo pokrenite aplikaciju. Kolekcija u memoriji opet će se pokazati kao prazna u galeriji.

    Aplikacija ponovo radi bez dodatih stavki.

  22. Izaberite dugme Učitaj podatke. Kolekcija će biti ponovo popunjena iz sačuvanih podataka na vašem uređaju i predmeti će se vratiti u galeriju. Kolekcija je bila prazna pre nego što ovo dugme pozove funkciju LoadData; nije bilo potrebe da se zove Collect ili ClearCollect pre učitavanja podataka iz skladišta.

    Aplikacija pokrenuta sa tri stavke vraćene u prethodno stanje nakon pozivanja funkcije LoadData.

  23. Ponovo izaberite dugme LoadData. Sačuvani podaci će biti dodati na kraj zbirke, a traka za pomeranje će se pojaviti na galeriji. Ako želite da zamenite, a ne dodate, prvo koristite funkciju Clear da obrišete kolekciju pre nego što pozovete funkciju LoadData.

    Aplikacija pokrenuta sa šest stavki vraćenih u prethodno stanje nakon što je dva puta pozvala funkciju LoadData.

Napredniji primer van mreže

Detaljan primer pogledajte u članku o jednostavnim mogućnostima van mreže.