Power Apps offline režim

Power Apps offline režim
Power Apps mobilné aplikácie pre tablety alebo telefóny musia fungovať aj vtedy, keď nemáte internetové pripojenie. Pre vývojárov je tvorba v režime offline jednou z najväčších výziev, ktoré musia zvládnuť.
Offline režim si vyžaduje starostlivé plánovanie. Je potrebné zaistiť načítanie údajov v online režime, bezpečne ich uložiť v mobilnom zariadení a pri prepnutí do režimu offline veľmi rýchlo načítať a zlúčiť veľké množstvo lokálnych dát. V tomto článku vám ukážeme konkrétny príklad vytvorenia mobilnej aplikácie Power Apps v režime offline.

Power Apps aplikácia Jasoň

Appka Jasoň bola navrhnutá pre potreby ornitológov a ochrancov prírody. Je preto logické, že od začiatku bolo potrebné navrhnúť logiku načítania online údajov zo zoznamu SharePoint, ich bezpečné uloženie do lokálnych kolekcií v mobilnom zariadení pre prácu v prírode, väčšinou v režime offline.

Načítanie a uloženie online údajov sme si vysvetlili v príspevku Vytvárajte kolekcie v Power Apps s viac ako 2000 riadkami v zozname SharePoint. Teraz sa pozrieme na zápis nových údajov a ich hromadné odoslanie po pripojení na internet.

Najskôr uložíme pozorovanie do kolekcie PozorovaniaLocal, kde každý záznam má vygenerovaný vlastný identifikátor id (zvýšenie maximálnej hodnoty o 1). Samotné pozorovanie užívateľ nadefinoval z rozbaľovacích ponúk ComboBox, preto pri niektorých poliach ukladáme iba vybrané ID z ponuky, niekde aj vybranú hodnotu. Aktuálny dátum a čas vytvorenia záznamu generujeme pomocou funkcie Now() a pridávame vlastný jedinečný identifikátor naformátovaný do tvaru RRRRMMDDHHMMSS. Pri práci v prírode je nevyhnutné načítať GPS súradnice a na záver kolekciu uložíme príkazom SaveData:
Collect( PozorovaniaLocal;
   { id: Max( PozorovaniaLocal; id) + 1;
     VedeckeMeno: ComboBox3.Selected.ID;
     VedeckeMenoSlovom: ComboBox3.Selected.Title;
     Pocet: Počet_DataCard3.Update;
     Kategoria: ComboBox3_1.Selected.ID;
     KategoriaSlovom: ComboBox3_1.Selected.Názov;
     DatumCas: Now();
     Lokalita: ComboBox3_8.Selected.ID;
     LokalitaSlovom: ComboBox3_8.Selected.'Meno+Kod';
     Vek: ComboBox3_2.Selected.ID;
     Pohlavie: ComboBox3_3.Selected.ID;
     Pozorovatel1: ComboBox3_4.Selected.ID;
     Pozorovatel2: ComboBox3_5.Selected.ID;
     Projekt: ComboBox3_6.Selected.ID;
     ProjektSlovom: ComboBox3_6.Selected.Projekt;
     ID_zAPP: Year(Now()) & Text( Month(Now()); "[$-sk-SK]00")
     & Text( Day(Now());"[$-sk-SK]00") & Text( Hour(Now()); "[$-sk-SK]00")
     & Text( Minute(Now());"[$-sk-SK]00") & Text( Second(Now()); "[$-sk-SK]00");
     Mimo: MimoN_1.Value;
     'GPS-N-Latitude_2': Location.Latitude;
     'GPS-E-Longitude_2': Location.Longitude;
     Poznamka: TextInput3.Text;
     Pomoc: If(ComboBox3_6.Selected.ID = 9; 6000; "")});;
SaveData( PozorovaniaLocal; "PozorovaniaLocal")

Uloženie záznamu offline

Uloženie záznamu offline

Zobrazenie offline záznamov

Zobrazenie offline záznamov

Zobrazenie online záznamov

Zobrazenie online záznamov

Hromadné odoslanie dát po pripojení na internet

Začíname overením internetového pripojenia v aplikácii Power Apps. Ak sme online, funkciou Patch - Defaults pre všetky záznamy v kolekcii PozorovaniaLocal (ForAll) odošleme lokálne uložené pozorovania do zoznamu SharePoint. Ak celá dávka odišla bezchybne, vyčistíme lokálnu kolekciu funkciou Clear, uložíme prázdnu kolekciu (aby neinformovala užívateľa, že existujú neodoslané offline záznamy) a odosielame notifikáciu cez Power Automate. Kód vyzerá nasledovne:
If( Connection.Connected;
     ForAll( PozorovaniaLocal;
          Patch( Pozorovania;
               Defaults(Pozorovania);
               { Druh: { Id: VedeckeMeno; Value: VedeckeMeno};
               Počet: Pocet;
               Kategória: { Id: Kategoria; Value: Kategoria};
               'Dátum a čas': DatumCas;
               Lokalita: { Id: Lokalita; Value: Lokalita};
               Vek: { Id: Vek; Value: Vek};
               Pohlavie: { Id: Pohlavie; Value: Pohlavie};
               'Pozorovateľ 1': { Id: Pozorovatel1; Value: Pozorovatel1};
               'Pozorovateľ 2': { Id: Pozorovatel2; Value: Pozorovatel2};
               Projekt: { Id: Projekt; Value: Projekt};
               Mimo: Mimo; ID_zAPP: ID_zAPP;
               'GPS-N-Latitude_2': 'GPS-N-Latitude_2';
               'GPS-E-Longitude_2': 'GPS-E-Longitude_2';
               Poznámka: Poznamka; Pomoc: Pomoc}));;
If( IsEmpty(Errors(Pozorovania));
     Clear(PozorovaniaLocal));;
SaveData( PozorovaniaLocal; "PozorovaniaLocal");; Notify_PowerApps_Jasoň_CountPozorovania.Run();
Notify( "Nie je internetové pripojenie."; NotificationType.Error))

Power Platform
najlepšie online kurzy:

Najlepší online kurz Power Apps - moja prvá appka je zameraný priamo na tvorbu mobilných aplikácií v cloudovom prostredí Microsoft 365. Dozviete sa, ako rýchlo appku vytvoriť, ako všetko potrebné nastaviť a čo znamenajú jednotlivé možnosti vrátane ich použitia.
najlepší online kurz
  • doživotný prístup
  • bez obmedzení
  • appky z praxe
Ďalší skvelý online kurz Power Automate - faktúra s By Square kódom vás rýchlo naučí tvoriť automatizované postupy v cloude na vaše každodenné opakujúce sa rutinné úlohy a činnosti. Veľmi rýchlo pochopíte prepojenie a možnosti aplikácií v skupine Power Platform.
skvelý online kurz
  • riešenia z praxe
  • doživotný prístup
  • skúsený lektor

Páčil sa vám tento článok alebo máte otázku?

Ak sa vám článok páčil, ohodnoťte ho v úvodnej (hornej) časti. Ak máte nejaké otázky k offline režimu v Power Apps, napíšte nám.
#PowerAppsSK   #SoftverNaMieru   #PowerApps

Máte pre nás nový projekt?

Power Apps najlepší kurz:

moja prvá appka

Power Apps je úžasná cloudová služba v prostredí Microsoft 365, kde vás veľmi rýchlo naučíme vytvárať jednoducho skvelé, moderné firemné aplikácie bez nutnosti programovania, iba klikaním myškou a/alebo písaním vzorcov podobným spôsobom ako v Exceli. Vaše mobilné aplikácie budú rovnako fungovať na počítačoch, tabletoch aj smartfónoch a na operačných systémoch Windows, iOS alebo Android.

Žiadne zbytočné akademické koncepty a poučky, len praktické lekcie zo skutočnej praxe a tvorby mobilných aplikácií pre klientov.

Power Automate skvelý kurz:

faktúra s By Square kódom

Power Automate je rovnako skvelá cloudová služba (ako Power Apps) v prostredí Microsoft 365 - Power Platform, kde vás veľmi rýchlo naučíme vytvárať automatizované postupy (procesy, toky) jednoduchým klikaním myškou (vyžadujúce iba minimálne písanie vzorcov) a využívanie stoviek predpripravených konektorov, ktoré umožňujú ľahko automatizovať opakujúce sa firemné (podnikové) úlohy.