Funkce SaveData, LoadData a ClearData

Platí pro: aplikace plátna

Uloží a znovu načte kolekci z úložiště hostitele aplikace.

Poznámka:

Tyto funkce lze nyní použít při přehrávání aplikace ve webovém prohlížeči jako experimentální funkce. Tato funkce je ve výchozím nastavení zakázána. Chcete-li ji povolit, přejděte na Nastavení>Připravované funkce>Experimentální>Povoleno SaveData, LoadData, ClearData ve webovém přehrávači." a přepínač zapněte. Chcete-li odeslat zpětnou vazbu týkající se této experimentální funkce, přejděte na adresu komunitního fóra Power Apps.

Popis

Funkce SaveData uloží kolekci s názvem pro pozdější použití.

Funkce LoadData znovu načte kolekci podle názvu, kterou dříve uložila funkce SaveData. Tuto funkci nejde použít k načtení kolekce z jiného zdroje.

Funkce ClearData vymaže úložiště pod konkrétním názvem nebo vymaže celé úložiště spojené s aplikací, pokud není uveden žádný název.

Poznámka:

  • Název sdílený mezi SaveData, LoadData a ClearData je klíč, nikoli název souboru. Nemusí to být složité, protože jména jsou pro každou aplikaci jedinečná a nehrozí konflikt jmen. Název nesmí obsahovat žádný z těchto znaků: *".?:\<>|/.
  • SaveData je omezena na 1 MB dat pro Power Apps běžící v Teams a ve webovém prohlížeči. Neexistuje žádný pevný limit pro Power Apps běžící v mobilním přehrávači, ale níže jsou popsány praktické limity.
  • Nepoužívejte SaveData k ukládání citlivých dat na webu, protože budou uložena v prostém textu.

Pomocí těchto funkcí můžete zlepšit výkon při spouštění aplikací:

  • Ukládání dat do mezipaměti ve vzorci App.OnStart při prvním spuštění.
  • Znovu načíst místní mezipaměť při příštích bězích.

Tyto funkce můžete také použít k přidání jednoduchých funkcí offline do vaší aplikace.

Tyto funkce nelze v prohlížeči použít, když:

  • Vytvoření aplikace v Power Apps Studio.

Chcete-li aplikaci vyzkoušet, spusťte ji v Power Apps Mobile na iPhone nebo Android zařízení.

Tyto funkce jsou omezeny množstvím dostupné paměti aplikací, které fungují v kolekci v paměti. Dostupná paměť se může lišit v závislosti na faktorech, jako jsou:

  • Zařízení a operační systém.
  • Paměť, kterou přehrávač Power Apps používá.
  • Složitost aplikace s obrazovkami a ovládacími prvky.

Otestujte svou aplikaci s očekávanými scénáři na typu zařízení, která očekáváte, že se aplikace spustí při ukládání velkých dat. Očekávejte obecně 30 až 70 MB dostupné paměti.

Tyto funkce závisí na implicitně definované kolekci pomocí Collect nebo ClearCollect. Nemusíte volat Collect nebo ClearCollect pro načtení dat do kolekce pro jejich definování. Jedná se o běžný případ při použití LoadData po předchozím SaveData. Vše, co je potřeba, je přítomnost těchto funkcí ve vzorci pro implicitní definování struktury kolekce. Další informace viz vytváření a odstraňování proměnných.

Načtená data budou připojena ke sbírce. Použijte funkci Clear před voláním LoadData, pokud chcete začít s prázdnou sbírkou.

Zabezpečení dat

Pečlivě zvažte izolaci a šifrování dat uložených pomocí SaveData a rozhodněte se, zda je to vhodné pro vaše potřeby, zejména pokud zařízení sdílí více uživatelů.

Data uložená pomocí SaveData jsou přehrávači Power Apps izolována od ostatních Power Apps. Data se ukládají na základě ID aplikace, přičemž se automaticky izoluje obor názvů SaveData mezi Power Apps.

Operační systém a prohlížeč jsou odpovědné za izolaci dat mezi Power Apps a dalšími aplikacemi v zařízení a s weby. Operační systém je například zodpovědný za izolaci dat uložených v Microsoft Outlook od dat uložených v Power Apps a také za izolaci těchto dat z webových stránek jako Bing.com nebo PowerApps.com. Pro ukládání dat SaveData se používají vestavěná zařízení karantény aplikací v operačním systému, která obvykle nejsou pro uživatele přístupná nebo před nimi skrytá.

Při použití stejné aplikace je operační systém a prohlížeč také odpovědný za izolaci dat mezi uživateli různých úrovní operačního systému. Pokud například dva různí uživatelé sdílejí počítač a používají dvoje různé přihlašovací údaje Windows, je operační systém zodpovědný za izolaci dat mezi těmito dvěma uživateli Windows.

Data mohou, ale nemusí být izolována mezi různými uživateli Power Apps, pokud je uživatel operačního systému stejný. Ne každý přehrávač Power Apps k tomu přistupuje stejně. Například když je uživatel přihlášen jako stejný uživatel Windows, v přehrávači Power Apps se uživatel odhlásí z Power Apps a přihlásí se jako jiný uživatel Power Apps. Data uložená v aplikaci před změnou uživatele Power Apps mohou být přístupná druhému uživateli Power Apps v rámci stejné aplikace. Data mohou být také odstraněna a první uživatel Power Apps k nim již nemusí mít přístup. Chování se mezi přehrávači Power Apps liší.

Operační systém může také šifrovat data; nebo můžete použít nástroj pro správu mobilních zařízení, například Microsoft Intune. Data uložená při přehrávání aplikace ve webovém prohlížeči nejsou šifrována.

Syntaxe

SaveData( Kolekce; Název )
LoadData( Kolekce, Název [, IgnoreNonexistentFile ])

  • Kolekce – povinné. Kolekce, která se má uložit nebo načíst.
  • Název – povinné. Název úložiště. Pokud chcete uložit a načíst stejnou sadu dat, je nutné použít stejný název. Prostor názvů se nesdílí s jinými aplikacemi. Názvy nesmí obsahovat žádný z těchto znaků: *".?:\<>|/.
  • IgnoreNonexistentFile – volitelné. Logická hodnota označující, co dělat, pokud soubor ještě neexistuje. Použijte false (výchozí) pro vrácení chyby a true pro potlačení chyby.

ClearData( [Name] )

  • Název - volitelné. Název dříve uloženého úložiště pomocí SaveData. Pokud není Název k dispozici, je vymazáno veškeré úložiště spojené s aplikací.

Příklady

Vzorec Popis Výsledek
SaveData (LocalCache, "MyCache") Uložte kolekci LocalCache do zařízení uživatele pod názvem „MyCache“, vhodné pro Načíst data pro načtení později. Data se ukládají na hostitele aplikace pod názvem „MyCache“.
LoadData( LocalCache, "MyCache" ) Načte kolekci LocalCache ze zařízení uživatele pod názvem „MyCache“, dříve uložená při volání SaveData. Data jsou načtena z hostitele aplikace pod názvem „MyCache“.
ClearData( "MyCache" ) Vymaže úložiště pod názvem „MyCache“. Data uložená pod tímto jménem již nebudou k dispozici prostřednictvím LoadData. Data jsou odstraněna z hostitele aplikace pod názvem „MyCache“.
ClearData() Vymažte veškeré úložiště spojené s touto aplikací. Data uložená jinými aplikacemi nejsou ovlivněna. Všechna data jsou odstraněna z hostitele aplikace.

Jednoduchý příklad offline

Následující jednoduchý příklad zachycuje a ukládá jména a obrázky každodenních položek v režimu offline. Ukládá informace do místního úložiště zařízení pro pozdější použití. To umožňuje aplikaci zavřít nebo restartovat zařízení bez ztráty dat.

Poznámka:

Tento příklad používá k pořizování snímků ovládací prvek fotoaparátu. Protože je SaveData je omezena na 1 MB dat při spuštění v Teams nebo webovém prohlížeči, tento příklad nebude fungovat s více než několika obrázky. V závislosti na fotoaparátu také nemusí fungovat ani s jedním snímkem. Ppoužijte zařízení k procházení tohoto úplného příkladu nebo odeberte ovládací prvek fotoaparátu a část obrázku z tohoto příkladu, abyste jej mohli spustit v Teams nebo ve webovém prohlížeči.

  1. Vytvořte prázdnou aplikaci plátna s rozvržením tabletu. Pro více informací si přečtěte vytvoření aplikace ze šablony a vyberte Rozložení tabletu v Prázdné aplikaci.

  2. Přidejte ovládací prvek Text input a Camera a uspořádejte je zhruba podle obrázku:

    Na prázdnou obrazovku byl přidán textový vstup a ovládání kamery.

  3. Přidejte ovládací prvek Button.

  4. Poklepáním na ovládací prvek tlačítka změníte text tlačítka na Přidat položku (nebo upravit vlastnost Text).

  5. Nastavte vlastnost OnSelect ovládacího prvku tlačítka do tohoto vzorce, který přidá položku do naší kolekce:

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

    Ovládací prvek tlačítka přidán s textem

  6. Přidejte další ovládací prvek Button.

  7. Poklepáním na ovládací prvek tlačítka změníte text tlačítka na Uložit data (nebo upravte vlastnost Text).

  8. Nastavte vlastnost OnSelect ovládacího prvku tlačítka do tohoto vzorce, aby se kolekce uložila do místního zařízení:

    SaveData( MyItems, "LocalSavedItems" )
    

    Ovládací prvek tlačítka přidán s textem

    Je lákavé testovat tlačítko, protože to nic neovlivňuje. Chyba se však zobrazí pouze při vytváření obsahu ve webovém prohlížeči. Nejprve uložte aplikaci a otevřete ji na zařízení, než otestujete tento vzorec podle následujících kroků:

  9. Přidejte třetí ovládací prvek Button.

  10. Poklepáním na ovládací prvek tlačítka změníte text tlačítka na Načíst data (nebo upravte vlastnost Text).

  11. Nastavte vlastnost OnSelect ovládacího prvku tlačítka do tohoto vzorce, aby se kolekce načetla z místního zařízení:

    LoadData( MyItems, "LocalSavedItems" )
    

    Ovládací prvek tlačítka přidán s textem

  12. Přidejte ovládací prvek Gallery s vertikálním rozvržením, které zahrnuje oblast obrázku a textu:

    Výběr typu galerie, „vertikální“ vybraný s oblastmi obrázku a textu

  13. Po zobrazení výzvy vyberte kolekci MyItems jako zdroj dat pro tuto galerii. To nastaví vlastnost Items ovládacího prvku Gallery na tento vzorec:

    Výběr galerie zdroje dat.Ovládací prvek image v šabloně galerie by měl nastavit výchozí vlastnost Image na ThisItem.Picture a ovládací prvky popisku by měly nastavit výchozí vlastnosti Text na ThisItem.Item. Zkontrolujte tyto vzorce, pokud po přidání položek v následujících krocích v galerii nic nevidíte.

  14. Umístěte ovládací prvek napravo od ostatních ovládacích prvků:

    Galerie umístěna napravo od obrazovky.

  15. Uložte aplikaci. Pokud je ukládána poprvé, není třeba ji publikovat. Pokud to není poprvé, publikujte aplikaci po uložení.

  16. Otevřete aplikaci v zařízení, například na telefonu nebo tabletu. SaveData a LoadData nelze použít ve studiu ani ve webovém prohlížeči. Obnovte seznam aplikací, pokud se aplikace nezobrazí okamžitě, může trvat několik sekund, než se aplikace na vašem zařízení zobrazí. Pomůže vám také odhlášení a opětovné přihlášení k vašemu účtu.

    Aplikace spuštěná bez přidaných položek. Po stažení aplikace se můžete odpojit od sítě a spustit ji offline.

  17. Zadejte jméno a vyfotografujte položku.

  18. Vyberte tlačítko Přidat položku. Chcete-li načíst svou kolekci, opakujte několikrát přidávání položek.

    Aplikace spuštěná se třemi přidanými položkami.

  19. Vyberte tlačítko Uložit data. Data ve vaší sbírce se tak uloží na místní zařízení.

  20. Zavřete aplikaci. Vaše kolekce v paměti bude ztracena včetně všech názvů položek a obrázků, ale budou stále v úložišti zařízení.

  21. Spusťte znovu aplikaci. Kolekce v paměti se v galerii opět zobrazí jako prázdná.

    Aplikace opět spuštěná bez přidaných položek.

  22. Vyberte tlačítko Načíst data. Sbírka bude znovu vyplněna z uložených dat v zařízení a vaše položky budou vráceny do galerie. Kolekce byla prázdná před tím, než toto tlačítko zavolalo funkci LoadData; nebylo třeba volat Collect nebo ClearCollect před načtením dat z úložiště.

    Po spuštění funkce LoadData byla aplikace spuštěna se třemi položkami obnovena.

  23. Opět vyberte tlačítko Načíst data. Uložená data budou připojena na konec sbírky a v galerii se objeví posuvník. Pokud chcete místo nahrazení nahradit, použijte nejdřív funkci Clear pro vyčištění sbírky před voláním funkce LoadData.

    Po spuštění funkce LoadData dvakrát byla aplikace spuštěna s šesti položkami obnovena.

Pokročilejší příklad offline

Podrobný příklad najdete v článku o jednoduchých funkcích offline.