Razvoj aplikacija sa podlogom koje omogućavaju rad van mreže
Korisnici mobilnih uređaja često moraju biti produktivni čak i kada imaju ograničenu povezanost ili nisu povezani. Kada pravite aplikaciju sa podlogom, možete da obavljate ove zadatke:
- Otvorite Power Apps Mobile i pokrenite aplikacije kada uređaj nije povezan na mrežu.
- Utvrdite kada je aplikacija van mreže, na mreži ili u ograničenoj vezi pomoću objekta signala Veza.
- Sinhronizujte podatke između uređaja i servera.
Ako se vaša aplikacija poveže Dataverse, ugrađena je podrška van mreže. Power Apps će vam omogućiti da preuzmete podatke na svoj uređaj i otpremite promene nazad Dataverse. Ako vaša aplikacija ne koristi Dataverse, možete koristiti kolekcije i iskoristiti funkcije LoadData i SaveData za osnovno skladištenje kada ste van mreže.
Napomena
- Offline mogućnost za aplikacije platna je dostupna dok pokrećete aplikacije koristeći izvorne Power Apps mobilne igrače na iOS Android i Vindovs.
- Aplikacije sa podlogom koje se pokreću u veb-pregledačima ne mogu da se pokreću van mreže, čak i kada koristite veb-pregledač na mobilnom uređaju.
- Aplikacije sa podlogom u usluzi Teams su ograničene na 1 MB podataka kroz funkcije LoadData i SaveData – što je korisno za mali broj tekstualnih niski, brojeva i datuma. Korišćenje slika ili drugih medija je neprikladno za ovo ograničenje. Još informacija: Referenca funkcija LoadData i SaveData
Omogućite offline podršku u aplikaciji platna zasnovanoj na A Dataverse
Za Microsoft Dataverse aplikacije platna zasnovane na proizvodima, morate koristiti ugrađenu mogućnost oflajn-a sa iskustvom van mreže . Za više informacija, pogledajte Podešavanje mobilnog oflajna za aplikacije platna i Rad sa aplikacijama platna van mreže. Sa okretanjem prekidača, vaša aplikacija može da radi sa Dataverse podacima gde god da ste, sa ili bez mrežne veze. Samo izgradite svoju aplikaciju sa standardnim Power Fx formulama i offline funkcija obrađuje svu složenost za vas.
Koristite LoadData i SaveData za sve ostale konektore
Ovaj odeljak sadrži primer korišćenja podataka sa Tvittera. Još jednostavniji primer koji ne zahteva vezu je uključen u reference funkcija LoadData i SaveData.
Pogledajte ovaj video da biste saznali kako da kreirate offline omogućene aplikacije platna koje ne koriste Dataverse podatke:
Ograničenja
LoadData i SaveData se kombinuju da formiraju jednostavan mehanizam za čuvanje malih količina podataka na lokalnom uređaju. Upotrebom ovih funkcija, možete dodati jednostavne vanmrežne mogućnosti svojoj aplikaciji.
Ove funkcije su ograničene količinom dostupne memorije aplikacije jer rade nad kolekcijom u memoriji. Dostupna memorija može varirati ovisno o uređaju, operativnom sistemu i memoriji koju Power Apps Mobile koristi, kao i složenosti aplikacije u pogledu ekrana i kontrola. Ako uskladištite više od nekoliko megabajta podataka, testirajte svoju aplikaciju s očekivanim scenarijima na uređajima na kojima očekujete da se pokrene. Obično ćete imati 30-70 megabajta dostupne memorije.
Funkcije takođe ne rešavaju automatski neusaglašenosti objedinjavanja kada se uređaj vrati na mrežu. Kakva je konfiguracija podataka koji se čuvaju i koji je način postupanja prilikom ponovnog povezivanja zavisi od kreatora kada piše izraze.
Za ažuriranja o mogućnostima van mreže, vratite se na ovu temu i pretplatite se na Power Apps blog.
Pregled
Kada dizajnirate vanmrežne scenarije, prvo bi trebalo da razmotrite kako vaše aplikacije rade sa podacima. Aplikacije u usluzi Power Apps primarno pristupaju podacima putem skupa konektora koje platforma pruža, kao što su SharePoint, Office 365 i Microsoft Dataverse. Takođe možete da napravite prilagođene konektore koji aplikacijama omogućavaju pristup bilo kojoj usluzi koja pruža RESTful krajnju tačku. To može biti Web API ili usluga poput Azure Functions. Svi ovi konektori koriste HTTPS over the Internet, što znači da vaši korisnici moraju biti na mreži da bi mogli pristupiti podacima i svim drugim mogućnostima koje usluga nudi.
Rukovanje podacima van mreže
U usluzi Power Apps možete filtrirati, pretraživati, sortirati, objedinjavati i manipulisati podacima na dosledan način, bez obzira na izvor podataka. Izvori se kreću od kolekcija u memoriji u aplikaciji do listi kreiranih u usluzi Microsoft Lists, SQL baza podataka i usluge Dataverse. Zbog ove doslednosti, aplikaciju možete lako preusmeriti tako da koristi drugi izvor podataka. Što je još važnije za vanmrežne scenarije, možete koristiti lokalne kolekcije za upravljanje podacima bez skoro nikakve promene logike aplikacije. U stvari, lokalne kolekcije su primarni mehanizam za rukovanje podacima van mreže.
Gradnja vanmrežne aplikacije
Da biste održali fokus na vanmrežne aspekte razvoja aplikacija, ova tema ilustruje jednostavan scenario fokusiran oko usluge Twitter. Izgradićete aplikaciju koja omogućava čitanje Twitter postova i slanje tvitova dok ste van mreže. Kada se aplikacija vrati na mrežu, ona objavljuje tvitove i ponovno učitava lokalne podatke.
Na visokom nivou, aplikacija obavlja sledeće zadatke:
Kada korisnik otvori aplikaciju:
- Ako je uređaj na mreži, aplikacija preuzima podatke putem Twitter konektora i popunjava kolekciju tim podacima.
- Ako je uređaj van mreže, aplikacija učitava podatke iz lokalne keš datoteke koristeći funkciju LoadData.
- Korisnik može poslati tvitove. Ako je aplikacija na mreži, objaviće tvitove direktno na usluzi Twitter i osvežiće lokalni keš.
Svakih pet minuta dok je aplikacija na mreži:
- Aplikacija objavljuje sve tvitove u lokalnoj keš memoriji.
- Aplikacija osvežava lokalnu keš memoriju i čuva je koristeći funkciju SaveData.
1. korak: Dodajte Twitter praznoj aplikaciji za telefon
- Napravite praznu aplikaciju sa podlogom sa rasporedom za telefon.
- Na kartici Prikaz izaberite Izvori podataka.
- U oknu Podaci izaberite Dodaj izvor podataka.
- Izaberite Nova veza > Twitter > Kreiraj.
- Unesite svoje akreditive, kreirajte vezu, a zatim zatvorite okno Podaci.
2. korak: Prikupite postojeće tvitove
U oknu Prikaz stabla izaberite Aplikacija, a zatim postavite njeno svojstvo OnStart prema ovoj formuli:
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" );
U oknu Prikaz stabla izaberite meni sa tri tačke za objekat Aplikacija, a zatim izaberite Run OnStart da biste pokrenuli tu formulu.
Napomena
Funkcije LoadData i SaveData mogu da pokažu grešku u programu Power Apps Studio jer ih pregledači ne podržavaju. Međutim, one će se normalno odvijati nakon što primenite aplikaciju na uređaj.
Ova formula proverava da li je uređaj na mreži:
- Ako je uređaj na mreži, formula učitava do 10 tvitova pomoću termina za pretragu „PowerApps“ u kolekciju LocalTweets.
- Ako je uređaj van mreže, formula učitava lokalnu keš memoriju iz datoteke koja se zove „LocalTweets“, ako je dostupna.
3. korak: Prikažite tvitove u galeriji
Na kartici Umetanje izaberite Galerija > Prazna fleksibilna visina.
Podesite svojstvo Items kontrole Galerija na
LocalTweets
.U predložak galerije dodajte tri kontrole Oznaka i podesite svojstvo Text svake oznake na jednu od ovih vrednosti:
ThisItem.UserDetails.FullName & " (@" & ThisItem.UserDetails.UserName & ")"
Text(DateTimeValue(ThisItem.CreatedAtIso), DateTimeFormat.ShortDateTime)
ThisItem.TweetText
Tekst na poslednjoj oznaci napravite podebljanim, tako da galerija podseća na ovaj primer.
4. korak: Prikažite status veze
U galeriji umetnite oznaku, a zatim podesite njeno svojstvo Color na Crveno.
Podesite svojstvo Text najnovije oznake prema ovoj formuli:
If( Connection.Connected, "Connected", "Offline" )
Ova formula utvrđuje da li je uređaj na mreži. Ako jeste, prikazuje se oznaka Povezano; u suprotnom, prikazuje se Van mreže.
5. korak: Dodajte polje za sastavljanje tvitova
Ispod oznake statusa veze, umetnite kontrolu tipa unos teksta i preimenujte je u NewTweetTextInput.
Podesite svojstvo Default polja za unos teksta na
""
.
6. korak: Dodajte dugme za objavljivanje tvita
Ispod polja za unos teksta dodajte kontrolu dugme i podesite njegovo svojstvo Text na ovu vrednost:
"Tweet"
Podesite svojstvo OnSelect dugmeta prema ovoj formuli:
If( Connection.Connected, Twitter.Tweet( "", {tweetText: NewTweetTextInput.Text} ), Collect( LocalTweetsToPost, {tweetText: NewTweetTextInput.Text} ); SaveData( LocalTweetsToPost, "LocalTweetsToPost" ) ); Reset( NewTweetTextInput );
U svojstvu OnStart za Aplikaciju, dodajte liniju na kraju formule:
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
Ova formula utvrđuje da li je uređaj na mreži:
- Ako je uređaj na mreži, odmah će objaviti tvit.
- Ako je uređaj van mreže, snimiće tvit u kolekciju LocalTweetsToPost i sačuvaće je na uređaju.
Zatim formula resetuje tekst u polju za unos teksta.
7. korak: Proverite nove tvitove
Desno od dugmeta, dodajte kontrolu Tajmer.
Podesite svojstvo tajmera Duration na 300000.
Podesite svojstva tajmera AutoStart i Repeat na tačno.
Podesite svojstvo tajmera OnTimerEnd prema ovoj formuli:
If( Connection.Connected, ForAll( LocalTweetsToPost, Twitter.Tweet( "", {tweetText: tweetText} ) ); Clear( LocalTweetsToPost ); ClearCollect( LocalTweets, Twitter.SearchTweet( "PowerApps", {maxResults: 10} ) ); SaveData( LocalTweets, "LocalTweets" ); )
Ova formula utvrđuje da li je uređaj na mreži. Ako jeste, aplikacija tvituje sve stavke u kolekciji LocalTweetsToPost, a zatim briše kolekciju.
Testiranje aplikacije
Otvorite aplikaciju pomoću rešenja Power Apps Mobile na mobilnom uređaju koji je povezan na internet.
Postojeći tvitovi se prikazuju u galeriji, a status prikazuje Povezano.
Prekinite vezu uređaja sa internetom tako što ćete omogućiti režim rada uređaja u avionu i onemogućiti Wi-Fi.
Oznaka statusa prikazuje da je aplikacija Van mreže.
Dok je uređaj van mreže, napišite tvit koji uključuje Power Apps, a zatim izaberite dugme Tvituj.
Tvit se skladišti lokalno u kolekciji LocalTweetsToPost.
Ponovo povežite uređaj na internet tako što ćete onemogućiti režim rada uređaja u avionu i omogućiti Wi-Fi.
U roku od pet minuta, aplikacija će objaviti tvit koji se prikazuje u galeriji.
Nadamo se da vam ovaj članak daje predstavu o mogućnostima koje Power Apps ima za izgradnju vanmrežnih aplikacija. Kao i uvek, šaljite nam povratne informacije na forum i podelite svoje primere vanmrežnih aplikacija na Power Apps blogu zajednice.
Napomena
Možete li nam reći o svojim željenim postavkama jezika u dokumentaciji? Ispunite kratku anketu. (imajte na umu da je ova anketa na engleskom jeziku)
Anketa će trajati oko sedam minuta. Ne prikupljaju se lični podaci (izjava o privatnosti).