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 enkripciju podataka koji se čuvaju sa SaveData i odlučite da li je to prikladno za vaše potrebe, posebno ako uređaje deli više korisnika.
Podaci koji se čuvaju sa SaveData su izolovani od drugih Power Apps od strane igrača Power Apps . Podaci se čuvaju na osnovu ID-a aplikacije, automatski izolujući prostor imena SaveData između Power Apps.
Operativni sistem i pretraživač je odgovoran za izolaciju podataka između Power Apps i drugih aplikacija na uređaju i sa sajtovima. Na primer, operativni sistem je odgovoran za izolaciju podataka koji se nalaze u Microsoft Outlook od podataka koji se čuvaju u Power Apps, kao i za izolaciju tih podataka sa sajtova kao što su Bing.com ili PowerApps.com. Ugrađeni objekti za pesak aplikacija u operativnom sistemu koriste se za skladištenje SaveData koji obično nije dostupan ili skriven od korisnika.
Kada koristite istu aplikaciju, operativni sistem i pretraživač su takođe odgovorni za izolaciju podataka između različitih korisnika na nivou operativnog sistema. Na primer, ako dva različita korisnika dele računar i koriste dva različita Vindovs akreditiva za prijavljivanje, operativni sistem je odgovoran za izolaciju podataka između dva Vindovs korisnika.
Podaci mogu ili ne moraju biti izolovani između različitih Power Apps korisnika ako je korisnik operativnog sistema isti. Nije svaki Power Apps igrač tretira ovo na isti način. Na primer, dok ste prijavljeni kao isti korisnik Vindovsa, u plejeru Power Apps , korisnik se odjavljuje i Power Apps prijavljuje kao drugi Power Apps korisnik. Podaci koji se čuvaju u aplikaciji pre promene Power Apps korisnika mogu biti dostupni drugom Power Apps korisniku u istoj aplikaciji. Podaci takođe mogu biti uklonjeni i prvi Power Apps korisnik 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 šifrovati podatke ili možete koristiti alat za upravljanje mobilnim uređajima kao što je Microsoft Intune. Podaci uskladišteni prilikom reprodukcije aplikacije u veb-pregledaču nisu šifrovani.
Sintaksa
SaveData(Kolekcija,Ime )
LoadData(Collection,Name [, IgnoreNonexistentFile ])
- Kolekcija - Obavezno. Kolekcija koja se skladišti ili učitava.
- Ime - Obavezno. Naziv skladišta. Naziv mora biti isti da biste sačuvali i učitali isti skup podataka. Prostor imena se ne deli sa drugim aplikacijama. Imena ne smeju da sadrže nijedan od ovih znakova:
*".?:\<>|/
. - IgnoreNonexistentFile - Opciono. 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] )
- Ime - Opciono. 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, "MiCache" ) | 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, "MiCache" ) | 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( "MiCache" ) | 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.
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.
Dodajte kontrolu Unos teksta i kontrolu Kamera i rasporedite ih otprilike kao što je prikazano:
Dodajte kontrolu Dugme.
Dvaput kliknite kontrolu dugmeta da biste promenili tekst dugmeta u Dodaj stavku (ili izmenili svojstvo Text).
Podesite svojstvo OnSelect kontrole dugmeta prema ovoj formuli koja će dodati stavku u našu kolekciju:
Collect( MyItems, { Item: TextInput1.Text, Picture: Camera1.Photo } )
Dodajte drugu kontrolu Dugme.
Dvaput kliknite kontrolu dugmeta da biste promenili tekst dugmeta u Sačuvaj podatke (ili izmenili svojstvo Text).
Podesite svojstvo OnSelect kontrole dugmeta prema ovoj formuli da biste sačuvali kolekciju na lokalnom uređaju:
SaveData( MyItems, "LocalSavedItems" )
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:
Dodajte treću kontrolu Dugme.
Dvaput kliknite kontrolu dugmeta da biste promenili tekst dugmeta u Učitaj podatke (ili izmenili svojstvo Text).
Podesite svojstvo OnSelect kontrole dugmeta prema ovoj formuli da biste učitali kolekciju sa lokalnog uređaja:
LoadData( MyItems, "LocalSavedItems" )
Dodajte kontrolu Galerija kontrola sa vertikalnim rasporedom koji uključuje slike i tekstualna područja:
Kada se od vas zatraži, izaberite kolekciju Moje stavke kao izvor podataka za ovu galeriju. Tako će se podesiti svojstvo Items kontrole Galerija:
Kontrola slike u šablonu galerije treba da podrazumeva svoju osobinu Image na ThisItem.Picture i kontrole oznaka treba da podrazumevaju svoje Tekst osobine na ThisItem.Item. Proverite ove formule ako nakon dodavanja predmeta u narednim koracima ne vidite ništa u galeriji.
Postavite kontrole desno od drugih kontrola:
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.
Otvorite aplikaciju na uređaju kao što su telefon ili tablet. SaveData i LoadData se ne mogu koristiti u studiju ili u veb pretraživač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.
Kada je vaša aplikacija preuzeta, možete da prekinete vezu sa mrežom i pokrenete aplikaciju van mreže.
Unesite ime i slikajte stavku.
Izaberite dugme Dodaj stavku. Ponovite dodavanje stavke nekoliko puta da biste učitali svoju kolekciju.
Izaberite dugme Sačuvaj podatke. Ovo će podatke u vašoj kolekciji sačuvati na vašem lokalnom uređaju.
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.
Ponovo pokrenite aplikaciju. Kolekcija u memoriji opet će se pokazati kao prazna u galeriji.
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.
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.
Napredniji primer van mreže
Detaljan primer pogledajte u članku o jednostavnim mogućnostima van mreže.