Zdieľať cez


Funkcie SaveData, LoadData a ClearData

Platí pre: aplikácie Canvas

Uloží a načíta zbierku z úložiska hostiteľa aplikácie.

Poznámka

Tieto funkcie je teraz možné použiť pri prehrávaní aplikácie vo webovom prehliadači ako experimentálnu funkciu. Táto funkcia je predvolene vypnutá. Ak chcete povoliť, prejdite na Nastavenia > Pripravované funkcie > Experimentálne > Povolené SaveData, LoadData, ClearData vo webovom prehrávači.“ a zapnite prepínač. Ak chcete odoslať spätnú väzbu týkajúcu sa tejto experimentálnej funkcie, prejdite na Fórum komunity Power Apps.

Popis

Funkcia SaveData uloží kolekciu s názvom pre neskoršie použitie.

Funkcia LoadData znovu načíta kolekciu podľa názvu, ktorú predtým uložila funkcia SaveData. Táto funkcia sa nedá použiť na načítanie kolekcie z iného zdroja.

Funkcia ClearData vymaže úložisko pod konkrétnym názvom alebo vymaže všetko úložisko spojené s aplikáciou, ak nie je uvedený žiadny názov.

Poznámka

  • Názov zdieľaný medzi SaveData, LoadData a ClearData je kľúč, nie názov súboru. Nemusí to byť zložité, pretože názvy sú jedinečné pre každú aplikáciu a nehrozí konflikt názvov. Názov nesmie obsahovať žiadny z týchto znakov: *".?:\<>|/.
  • SaveData je obmedzená na 1 MB dát pre Power Apps bežiace v Teams a vo webovom prehliadači. Neexistuje žiadny pevný limit pre Power Apps bežiace v mobilnom prehrávači, ale nižšie sú uvedené praktické limity.
  • Nepoužívajte SaveData na ukladanie citlivých údajov na webe, pretože budú uložené ako obyčajný text.

Pomocou týchto funkcií môžete zlepšiť výkonnosť pri spúšťaní aplikácií:

  • Uloženie údajov do vyrovnávacej pamäte do vzorca App.OnStart pri prvom spustení.
  • Opätovné načítanie miestnej vyrovnávacej pamäte pri ďalších spusteniach.

Tieto funkcie môžete tiež použiť na pridanie jednoduchých offline funkcií do vašej aplikácie.

Tieto funkcie nemôžete použiť v prehliadači, keď:

  • Vytvárate aplikáciu v Power Apps Studio.

Ak chcete otestovať svoju aplikáciu, spustite ju v Power Apps Mobile na telefóne iPhone alebo zariadení Android.

Tieto funkcie sú obmedzené množstvom dostupnej pamäte aplikácií, keď fungujú v kolekcii v pamäti. Dostupná pamäť sa môže líšiť v závislosti od faktorov, ako sú napríklad:

  • Zariadenie a operačný systém.
  • Pamäť, ktorú používa prehrávač Power Apps.
  • Zložitosť aplikácie s obrazovkami a ovládacími prvkami.

Otestujte svoju aplikáciu s očakávanými scenármi na type zariadení, na ktorých sa podľa vašich očakávaní bude spúšťať pri ukladaní veľkého množstva údajov. Očakávajte vo všeobecnosti potrebu 30 až 70 MB dostupnej pamäte.

Tieto funkcie závisia implicitne od kolekcie definovanej funkciami Collect alebo ClearCollect. Nemusíte volať funkcie Collect alebo ClearCollect na načítanie údajov kolekcie na jej definovanie. Je to bežný prípad pri používaní LoadData po predchádzajúcom použití SaveData. Všetko, čo je potrebné, je prítomnosť týchto funkcií vo vzorci na implicitné definovanie štruktúry kolekcie. Viac informácií nájdete v časti vytváranie a odstraňovanie premenných.

Načítané údaje sa pripoja ku kolekcii. Použite funkciu Clear pred volaním LoadData, ak chcete začať s prázdnou kolekciou.

Zabezpečenie údajov

Dôkladne zvážte izoláciu a šifrovanie údajov uložených pomocou SaveData a rozhodnite sa, či je to vhodné pre vaše potreby, najmä ak zariadenia zdieľa viacero používateľov.

Dáta uložené pomocou SaveData hráči izolujú od ostatných Power Apps Power Apps . Údaje sa ukladajú na základe ID aplikácie aplikácie, pričom sa medzi nimi automaticky izoluje Uložiť údaje Power Apps.

Operačný systém a prehliadač sú zodpovedné za izoláciu údajov medzi Power Apps a inými aplikáciami v zariadení a s webovými stránkami. Operačný systém je napríklad zodpovedný za izoláciu údajov uložených v Microsoft Outlook od údajov uložených v Power Apps a tiež za izoláciu týchto údajov z webových stránok ako Bing.com alebo PowerApps.com. Zabudované možnosti karantény aplikácií v operačnom systéme sa používajú na ukladanie Uložiť údaje , ktoré zvyčajne nie je pre používateľa prístupné alebo pred ním skryté.

Pri používaní rovnakej aplikácie je operačný systém a prehliadač zodpovedný aj za izoláciu údajov medzi používateľmi na rôznych úrovniach operačného systému. Ak napríklad dvaja rôzni používatelia zdieľajú počítač a používajú dve rôzne prihlasovacie poverenia systému Windows, operačný systém je zodpovedný za izoláciu údajov medzi týmito dvoma používateľmi systému Windows.

Údaje môžu, ale nemusia byť izolované medzi rôznymi Power Apps používateľmi, ak je používateľ operačného systému rovnaký. Nie každý Power Apps hráč k tomu pristupuje rovnako. Napríklad, keď je používateľ prihlásený ako rovnaký používateľ systému Windows, v prehrávači Power Apps sa používateľ odhlási z Power Apps a prihlási sa ako iný Power Apps používateľ. Údaje uložené v aplikácii pred zmenou Power Apps používateľa môžu byť prístupné druhému Power Apps používateľovi v rámci tej istej aplikácie. Údaje môžu byť tiež odstránené a prvý Power Apps používateľ k nim už nemusí mať prístup. Správanie sa medzi Power Apps hráčmi líši.

Operačný systém môže tiež šifrovať údaje alebo môžete použiť nástroj na správu mobilných zariadení, ako napríklad Microsoft Intune. Údaje uložené pri prehrávaní aplikácie vo webovom prehliadači nie sú šifrované.

Syntax

SaveData( Kolekcia, Názov )
Načítať údaje( Kolekcia, Názov [, IgnorovaťNeexistujúciSúbor ])

  • Zbierka – povinné. Kolekcia, ktorá sa má uložiť alebo načítať.
  • Meno – povinné. Názov úložiska. Názov musí byť rovnaký, aby uložil a načítal rovnakú množinu údajov. Menný priestor sa nezdieľa s inými aplikáciami. Názvy nesmú obsahovať žiadny z týchto znakov: *".?:\<>|/.
  • IgnorovaťNeexistujúciSúbor – Voliteľné. Booleovská hodnota označujúca, čo robiť, ak súbor ešte neexistuje. Použitie nepravda (predvolené) na vrátenie chyby a pravda na potlačenie chyby.

ClearData( [Názov] )

  • Názov – voliteľné. Názov úložiska, ktoré bolo predtým uložené pomocou SaveData. Ak Názov nie je k dispozícii, vymaže sa všetko úložisko spojené s aplikáciou.

Príklady

Vzorec Popis Výsledok
SaveData( LocalCache, "MyCache" ) Uloženie kolekcie LocalCache do zariadenia používateľa pod názvom „MyCache“, vhodné pre neskoršie načítanie pomocou funkcie LoadData. Údaje sa ukladajú do hostiteľa aplikácie pod menom „MyCache“.
LoadData( LocalCache, "MyCache" ) Načíta kolekciu LocalCache zo zariadenia používateľa pod názvom „MyCache“, ktorá bola predtým uložená volaním SaveData. Údaje sa načítavajú z hostiteľa aplikácie pod menom „MyCache“.
ClearData("MyCache" ) Vymaže úložisko pod názvom „MyCache“. Akékoľvek údaje uložené pod týmto názvom už nebudú k dispozícii prostredníctvom LoadData. Údaje sa odstránia z hostiteľa aplikácie pod názvom „MyCache“.
ClearData() Vymazanie celého úložiska spojeného s touto aplikáciou. Na údaje uložené inými aplikáciami to nemá vplyv. Všetky údaje sa odstránia z hostiteľa aplikácie.

Jednoduchý príklad v režime offline

Nasledujúci jednoduchý príklad zachytáva a ukladá názvy a obrázky každodenných vecí v režime offline. Informácie ukladá do miestneho úložiska zariadenia na neskoršie použitie. To umožňuje aplikáciu zatvoriť alebo reštartovať zariadenie bez straty údajov.

Poznámka

V tomto príklade sa na snímanie obrázkov používa ovládanie fotoaparátu. Pretože SaveData je pri spustení v aplikácii Teams alebo vo webovom prehliadači obmedzené na 1 MB údajov, tento príklad nebude fungovať s viac ako niekoľkými obrázkami. V závislosti od fotoaparátu tiež nemusí fungovať ani s jedným obrázkom. Na vykonanie tohto úplného príkladu použite zariadenie alebo odstráňte ovládací prvok fotoaparátu a časť obrázka z tohto príkladu a spustite ho v aplikácii Teams alebo vo webovom prehliadači.

  1. Vytvorte prázdnu aplikáciu plátna s rozložením pre tablet. Ďalšie informácie nájdete v časti vytvorenie aplikácie zo šablóny a vyberte Rozloženie tabletu pod Prázdna aplikácia.

  2. Pridajte ovládací prvok Zadávanie textu a Fotoaparát a usporiadajte ich zhruba tak, ako je to znázornené:

    Na prázdnu obrazovku bol pridaný textový vstup a ovládanie fotoaparátu.

  3. Pridajte ovládací prvok Tlačidlo.

  4. Dvakrát kliknite na ovládací prvok tlačidla a zmeňte text tlačidla na Pridať položku (alebo upravte vlastnosť Text).

  5. Nastavte vlastnosť OnSelect ovládacieho prvku tlačidla na tento vzorec, ktorý pridá položku do našej kolekcie:

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

    Pridaný ovládací prvok tlačidla s textom „Pridať položku“ a sadou vlastností OnSelect

  6. Pridajte ďalší ovládací prvok Tlačidlo.

  7. Dvakrát kliknite na ovládací prvok tlačidla a zmeňte text tlačidla na Uložiť údaje (alebo upravte vlastnosť Text).

  8. Nastavte vlastnosť OnSelect ovládacieho prvku tlačidla na tento vzorec, aby ste mohli ukladať našu kolekciu na lokálnom zariadení:

    SaveData( MyItems, "LocalSavedItems" )
    

    Pridaný ovládací prvok tlačidla s textom „Uložiť údaje“ a sadou vlastností OnSelect

    Je lákavé vyskúšať toto tlačidlo, pretože to nič neovplyvní. Pri vytváraní obsahu vo webovom prehliadači sa však zobrazí chyba. Pred vykonaním nasledujúcich krokov na otestovanie tohto vzorca najprv uložte aplikáciu a otvorte ju na zariadení.

  9. Pridajte tretí ovládací prvok Tlačidlo.

  10. Dvakrát kliknite na ovládací prvok tlačidla a zmeňte text tlačidla na Načítať údaje (alebo upravte vlastnosť Text).

  11. Nastavte vlastnosť OnSelect ovládacieho prvku tlačidla na tento vzorec, aby ste mohli načítať našu kolekciu z lokálneho zariadenia:

    LoadData( MyItems, "LocalSavedItems" )
    

    Pridaný ovládací prvok tlačidla s textom

  12. Pridajte ovládací prvok Galéria s vertikálnym rozložením, ktoré obsahuje oblasť obrázka a textu:

    Výber rozmanitosti galérie, výber

  13. Po zobrazení výzvy vyberte kolekciu MyItems ako zdroj údajov pre túto galériu. Toto nastaví vlastnosť Items ovládacieho prvku Galéria:

    Výber z galérie zdroj údajov.Ovládací prvok obrázka v šablóne galérie by mal mať predvolenú vlastnosť Obrázok na hodnotu ThisItem.Picture a ovládacie prvky štítkov by mali mať obe vlastnosti predvolené ich vlastnosti Text na ThisItem.Item. Skontrolujte tieto vzorce, ak po pridaní položiek v nasledujúcich krokoch v galérii nič nevidíte.

  14. Ovládací prvok umiestnite napravo od ostatných ovládacích prvkov:

    Galéria bola premiestnená na pravú stranu obrazovky.

  15. Uložte svoju aplikáciu. Ak je to prvýkrát, čo bolo uložené, nie je potrebné to publikovať. Ak to nie je prvýkrát, zverejnite aplikáciu po uložení.

  16. Otvorte aplikáciu na zariadení, napr. na telefóne alebo tablete. SaveData a LoadData nie je možné použiť v aplikácii Studio ani vo webovom prehliadači. Ak svoju aplikáciu nevidíte okamžite, obnovte zoznam aplikácií. Môže trvať niekoľko sekúnd, kým sa aplikácia na vašom zariadení zobrazí. Pomôže vám tiež odhlásenie a opätovné prihlásenie do vášho účtu.

    Aplikácia je spustená bez pridaných položiek.Po stiahnutí aplikácie sa môžete odpojiť od siete a spustiť aplikáciu offline.

  17. Zadajte názov a urobte fotografiu položky.

  18. Vyberte tlačidlo Pridať položku. Ak chcete načítať svoju zbierku, zopakujte pridávanie položiek niekoľkokrát.

    Aplikácia beží s tromi pridanými položkami.

  19. Stlačte tlačidlo Uložiť údaje. Údaje vo vašej zbierke sa tým uložia do miestneho zariadenia.

  20. Zatvorte aplikáciu. Vaša kolekcia v pamäti sa stratí vrátane všetkých názvov položiek a obrázkov, stále sa však budú nachádzať v úložisku zariadenia.

  21. Znova spustite aplikáciu. Kolekcia v pamäti sa znova zobrazí v galérii ako prázdna.

    Aplikácia opäť beží bez pridaných položiek.

  22. Stlačte tlačidlo Načítať údaje. Zbierka sa znovu naplní z uložených údajov na vašom zariadení a vaše položky sa vrátia do galérie. Zbierka bola prázdna predtým, ako toto tlačidlo volalo funkciu LoadData; nebolo potrebné volať Collect ani ClearCollect pred načítaním údajov z úložiska.

    Aplikácia spustená s tromi položkami obnovenými po zavolaní funkcie LoadData.

  23. Znova stlačte tlačidlo Načítať údaje. Uložené údaje sa pripoja na koniec zbierky a v galérii sa zobrazí posuvník. Ak chcete radšej nahradiť, a nie pripojiť, použite najprv funkciu Clear na vymazanie kolekcie pred volaním funkcie LoadData.

    Aplikácia spustená so šiestimi položkami obnovenými po dvojitom volaní funkcie LoadData.

Pokročilejší príklad v režime offline

Podrobný príklad nájdete v článku o jednoduchých offline funkciách.