Razvijanje izvanmrežnih aplikacija od gotovih gradivnih elemenata

Korisnici mobilnih uređaja često moraju biti produktivni čak i kad imaju ograničenu ili nikakvu povezanost. Kada izrađujete aplikaciju od gotovih gradivnih elemenata, možete izvoditi ove zadatke:

  • Otvorite Power Apps Mobile i pokrenite aplikacije kada uređaj nije povezan s mrežom.
  • Odrediti kada je aplikacija izvan mreže, na mreži ili u vezi izmjerenoj s pomoću signalnog objekta Veza.
  • Sinkronizirajte podatke između uređaja i poslužitelja.

Ako se vaša aplikacija poveže Dataverse, ugrađena je izvanmrežna podrška. Power Apps Omogućit će vam preuzimanje podataka na vaš uređaj i prijenos promjena natrag Dataverse. Ako vaša aplikacija ne koristi Dataverse, možete koristiti zbirke i iskoristiti funkcije LoadData i SaveData za osnovnu pohranu kada ste izvan mreže.

Napomena

  • Izvanmrežna mogućnost za aplikacije radnog područja dostupna je tijekom pokretanja aplikacija pomoću izvornih Power Apps mobilnih playera na iOS Android i Windows.
  • Aplikacije od gotovih gradivnih elemenata koje se izvode u web-preglednicima ne mogu se pokretati izvan mreže, čak i kada koriste web-preglednik na mobilnom uređaju.
  • Aplikacije od gotovih gradivnih elemenata u programu Teams ograničene su na 1 MB podataka putem funkcija LoadData i SaveData — korisno za mali broj tekstnih nizova, brojeva i datuma. Upotreba slika ili drugih medijskih sadržaja nije prikladna za to ograničenje. Više informacija: referenca na funkcije LoadData i SaveData

Omogućite izvanmrežnu podršku u aplikaciji radnog područja temeljenoj na A Dataverse

Za Microsoft Dataverse aplikacije radnog područja temeljene na aplikacijama radnog područja morate koristiti izvanmrežnu mogućnost ugrađenu s izvanmrežnim iskustvom. Dodatne informacije potražite u članku Postavljanje izvanmrežnog mobilnog uređaja za aplikacije radnog područja i Izvanmrežni rad s aplikacijama radnog područja. Pritiskom na prekidač vaša aplikacija može raditi s Dataverse podacima gdje god se nalazili, s mrežnom vezom ili bez nje. Samo izradite svoju aplikaciju sa standardnim Power Fx formulama, a izvanmrežna značajka rješava svu složenost umjesto vas.

Koristite LoadData i SaveData za sve ostale poveznike

Ovaj odjeljak uključuje primjer korištenja podataka s Twittera. Još jednostavniji primjer koji ne zahtijeva vezu uključen je u reference funkcija LoadData i SaveData.

Pogledajte ovaj videozapis da biste saznali kako stvoriti izvanmrežne aplikacije radnog područja koje ne koriste Dataverse podatke:

Ograničenja

Funkcije LoadData i SaveData kombinirajte kako biste formirali jednostavan mehanizam za pohranu male količine podataka na uređaj lokalno. Uporabom ovih funkcija možete svojoj aplikaciji dodati jednostavne izvanmrežne mogućnosti.

Ove su funkcije ograničene količinom dostupne memorije aplikacije jer djeluju na zbirci unutarnje memorije. Dostupna memorija može se razlikovati ovisno o uređaju, operacijskom sustavu, memoriji koju upotrebljava platforma Power Apps Mobile i složenosti aplikacije u pogledu zaslona i kontrola. Ako pohranjujete više od nekoliko megabajta podataka, testirajte svoju aplikaciju s pomoću očekivanih scenarija na uređajima na kojima očekujete da bi se mogla pokrenuti. Obično ćete imati 30 Mb – 70 Mb dostupne memorije.

Funkcije također ne rješavaju automatski sukobe spajanja kada uređaj dođe na mrežu. Pri izradi izraza, o autoru ovisi konfiguracija podataka koji se spremaju i način postupanja pri ponovnom povezivanju.

Za ažuriranja izvanmrežnih mogućnosti, vratite se na ovu temu i pretplatite se na blog platforme Power Apps.

Pregled

Kada dizajnirate izvanmrežne scenarije, prvo biste trebali razmotriti kako vaše aplikacije rade s podacima. Aplikacije na platformi Power Apps podacima pristupaju prvenstveno putem skupa poveznika koje osigurava platforma, kao što su SharePoint, Office 365 i Microsoft Dataverse. Možete izraditi i prilagođene poveznike koji aplikacijama omogućuju pristup svakoj usluzi koja pruža krajnju točku RESTful. To može biti Web API ili usluga poput Azure Functions. Svi ti priključci koriste HTTPS putem interneta, što znači da vaši korisnici moraju biti na mreži kako bi mogli pristupiti podacima i svim drugim mogućnostima koje usluga nudi.

Aplikacija platforme Power Apps s poveznicima.

Rukovanje izvanmrežnim podacima

Na platformi Power Apps možete filtrirati, pretraživati, sortirati, objedinjavati i manipulirati podacima na dosljedan način bez obzira na izvor podataka. Raspon izvora obuhvaća sve od zbirki interne memorije aplikacije i Microsoftovih popisa do SQL baza podataka i platforme Dataverse. Zbog ove dosljednosti aplikaciju možete jednostavno preusmjeriti na uporabu drugog izvor podataka. Za izvanmrežne scenarije još je bitnije da možete upotrebljavati lokalne zbirke za upravljanje podacima s gotovo nikakvim promjenama logike aplikacije. Zapravo, lokalne su zbirke glavni mehanizam za rukovanje izvanmrežnim podacima.

Izrada izvanmrežne aplikacije

Kako bi se usredotočila na izvanmrežne aspekte razvoja aplikacije, ova tema ilustrira jednostavan scenarij usmjeren na platformu Twitter. Izradit ćete aplikaciju koja vam omogućuje čitanje objava na platformi Twitter i slanje tweetova dok ste izvan mreže. Kada se aplikacija poveže na mrežu, ona objavljuje tweetove i ponovno učitava lokalne podatke.

Aplikacija na visokoj razini obavlja sljedeće zadatke:

  • Kada korisnik otvori aplikaciju:

    • Ako je uređaj na mreži, aplikacija dohvaća podatke putem poveznika platforme Twitter i popunjava zbirku tim podacima.
    • Ako je uređaj izvan mreže, aplikacija učitava podatke iz lokalne datoteke predmemorije pomoću funkcije LoadData.
    • Korisnik može poslati tweetove. Ako je aplikacija na mreži, tweetove objavljuje izravno na platformi Twitter i osvježava lokalnu predmemoriju.
  • Svakih pet minuta dok je aplikacija na mreži:

    • Aplikacija objavljuje sve tweetove iz lokalne predmemorije.
    • Aplikacija osvježava lokalnu predmemoriju i sprema je s pomoću funkcije SaveData.

1. korak: Dodajte platformu Twitter praznoj aplikaciji za telefon

  1. Izradite praznu aplikaciju od gotovih gradivnih elemenata s dizajnom za mobilni telefon.
  2. Na kartici Prikaz odaberite Izvori podataka.
  3. U oknu Podaci odaberite Dodaj izvor podataka.
  4. Odaberite Nova veza > Twitter > Stvori.
  5. Unesite svoje vjerodajnice, stvorite vezu i zatvorite okno Podaci.

2. korak: Prikupljanje postojećih tweetova

  1. U oknu Prikaz stabla odaberite stavku Aplikacija, a zatim postavite njezino svojstvo OnStart u ovu formulu:

    If( Connection.Connected,
        ClearCollect( LocalTweets, Twitter.SearchTweet( "PowerApps", {maxResults: 10} ) );
            Set( statusText, "Online data" ),
        LoadData( LocalTweets, "LocalTweets", true );
            Set( statusText, "Local data" )
    );
    SaveData( LocalTweets, "LocalTweets" );
    

    Formula za učitavanje tweetova.

  2. U oknu Prikaz stabla odaberite izbornik s tri točke za objekt Aplikacija, a zatim odaberite Pokreni OnStart kako biste pokrenuli tu formulu.

    Formula za pokretanje učitavanja tweetova.

    Napomena

    Funkcije LoadData i SaveData mogu pokazati pogrešku u alatu Power Apps Studio jer ih preglednici ne podržavaju. Međutim, one će se normalno izvoditi nakon što tu aplikaciju implementirate na uređaj.

Ova formula provjerava je li uređaj na mreži:

  • Ako je uređaj na mreži, formula učitava do 10 tweetova s pomoću pojma za pretraživanje „PowerApps” u zbirci LocalTweets.
  • Ako je uređaj izvan mreže, formula učitava lokalnu predmemoriju iz datoteke koja se naziva „LocalTweets„, ako je dostupna.
  1. Na kartici Umetni odaberite Galerija > Prazna fleksibilna visina.

  2. Postavite svojstvo Stavke kontrole Galerija na LocalTweets.

  3. U predložak galerije dodajte tri kontrole Oznaka i postavite svojstvo Tekst svake oznake na jednu od ovih vrijednosti:

    • ThisItem.UserDetails.FullName & " (@" & ThisItem.UserDetails.UserName & ")"
    • Text(DateTimeValue(ThisItem.CreatedAtIso), DateTimeFormat.ShortDateTime)
    • ThisItem.TweetText
  4. Neka tekst na posljednjoj oznaci bude podebljan tako da galerija nalikuje ovom primjeru.

    Galerija prikazuje primjere tweetova.

4. korak: Prikaz statusa veze

  1. Ispod galerije umetnite oznaku, a zatim postavite njezino svojstvo Boja na Crvena.

  2. Postavite svojstvo Tekst najnovije oznake u ovu formulu:

    If( Connection.Connected, "Connected", "Offline" )

Ova formula određuje je li uređaj na mreži. Ako jest, oznaka prikazuje Povezan; u suprotnom prikazuje Izvan mreže.

5. korak: Dodavanje okvira za sastavljanje tweetova

  1. Pod oznakom statusa veze umetnite kontrolu Unos teksta i preimenujte je u NewTweetTextInput.

  2. Postavite svojstvo Zadano okvira za unos teksta na "".

    Galerija preko informacije o statusu i okvira za unos teksta.

6. korak: Dodavanje gumba za objavu tweeta

  1. Ispod okvira za unos teksta dodajte kontrolu Gumb i postaviti njezino svojstvo Tekst na ovu vrijednost:

    "Tweet"

  2. Postavite svojstvo OnSelect za gumb u ovu formulu:

    If( Connection.Connected,
        Twitter.Tweet( "", {tweetText: NewTweetTextInput.Text} ),
        Collect( LocalTweetsToPost, {tweetText: NewTweetTextInput.Text} );
            SaveData( LocalTweetsToPost, "LocalTweetsToPost" )
    );
    Reset( NewTweetTextInput );
    
  3. U svojstvu OnStart za stavku Aplikacija, na kraju formule dodajte redak:

    If( Connection.Connected,
        ClearCollect( LocalTweets, Twitter.SearchTweet( "PowerApps", {maxResults: 100} ) );
            Set( statusText, "Online data" ),
        LoadData( LocalTweets, "LocalTweets", true );
            Set( statusText, "Local data" )
    );
    SaveData( LocalTweets, "LocalTweets" );
    LoadData( LocalTweetsToPost, "LocalTweetsToPost", true );  // added line
    

    Pokrenite formulu za učitavanje tweetova s nekomentiranim retkom.

Ova formula određuje je li uređaj na mreži:

  • Ako je uređaj na mreži, tweet se odmah objavljuje.
  • Ako je uređaj izvan mreže, on snima tweet u zbirku LocalTweetsToPost i sprema na uređaj.

Tada formula vraća zadane postavke teksta u okvir za unos teksta.

7. korak: Provjera novih tweetova

  1. Na desnoj strani gumba dodajte kontrolu Mjerač vremena.

    Završne aplikacije.

  2. Postavite svojstvo Trajanje mjerača vremena na 300000.

  3. Postavite svojstva AutoStart i Ponovi na točno.

  4. Postavite stavku OnTimerEnd mjerača vremena u ovu formulu:

    If( Connection.Connected,
        ForAll( LocalTweetsToPost, Twitter.Tweet( "", {tweetText: tweetText} ) );
        Clear( LocalTweetsToPost );
        ClearCollect( LocalTweets, Twitter.SearchTweet( "PowerApps", {maxResults: 10} ) );
        SaveData( LocalTweets, "LocalTweets" );
    )
    

Ova formula određuje je li uređaj na mreži. Ako jest, aplikacija tweeta sve stavke iz zbirke LocalTweetsToPost, a zatim briše zbirku.

Ispitivanje aplikacije

  1. Otvorite aplikaciju pomoću Power Apps Mobile na mobilnom uređaju koji je povezan s internetom.

    Postojeći tweetovi prikazuju se u galeriji, a status pokazuje Povezan.

  2. Prekinite vezu uređaja s internetom omogućivanjem načina rada u zrakoplovu i onemogućivanjem Wi-Fi tehnologije.

    Oznaka statusa pokazuje kako je aplikacija Izvan mreže.

  3. Dok je uređaj izvan mreže, napišite tweet koji uključuje Power Apps, a zatim odaberite gumb Tweet.

    Tweet je pohranjen lokalno u zbirci LocalTweetsToPost.

  4. Prekinite vezu uređaja s internetom omogućivanjem načina rada u zrakoplovu i onemogućivanjem Wi-Fi tehnologije.

    U roku od pet minuta aplikacija objavljuje tweet koji se prikazuje u galeriji.

Nadamo se da vam ovaj članak daje predodžbu o mogućnostima koje platforma Power Apps ima za izradu izvanmrežnih aplikacija. Kao i uvijek, pošaljete nam povratne informacije na naš forum i dijelite svoje primjere izvanmrežnih aplikacija na blogu zajednice platforme Power Apps.

Napomena

Možete li nam reći više o željenim jezicima za dokumentaciju? Ispunite kratki upitnik. (imajte na umu da je upitnik na engleskom jeziku)

Ispunjavanje upitnika će trajati otprilike sedam minuta. Osobni podaci se ne prikupljaju (izjava o zaštiti privatnosti).