Deli z drugimi prek


Razvijanje aplikacij s platnom z možnostjo delovanja brez povezave

Uporabniki mobilnih telefonov morajo biti pogosto produktivni, tudi če je njihova povezljivost omejena ali nična. Ko sestavite aplikacijo s platnom, lahko izvajate naslednja opravila:

  • Odprite Power Apps Mobile in zaženite aplikacije, ko naprava ni povezana v omrežje.
  • S predmetom signala za povezavo ugotovite, ko aplikacija deluje brez povezave ali z njo oz. uporablja merjeno povezavo.
  • Sinhronizirajte podatke med vašo napravo in strežnikom.

Če se vaša aplikacija poveže z Dataverse, je vgrajena podpora brez povezave. Power Apps omogoča prenos podatkov v vašo napravo in nalaganje sprememb nazaj Dataverse. Če vaša aplikacija ne uporablja Dataverse, lahko uporabite zbirke in izkoristite LoadData in SaveData funkcije za osnovno shranjevanje brez povezave.

Opomba

  • Zmogljivost brez povezave za platnene aplikacije je na voljo med izvajanjem aplikacij z izvornimi Power Apps mobilnimi predvajalniki v iOS, Android in Windows.
  • Aplikacije s platnom, ki se izvajajo v spletnih brskalnikih, ne morejo delovati brez povezave, tudi če uporabljate spletni brskalnik v mobilni napravi.
  • Aplikacije s platni v Teams so omejene na 1 MB podatkov prek funkcij LoadData in SaveData— uporabne so za majhno število besedilnih nizov, številk in datumov. Uporaba slik ali drugih medijev ni primerna za to omejitev. Več informacij: sklic na funkciji LoadData in SaveData

Omogočite podporo brez povezave v aplikaciji Canvas, ki temelji na Dataverse

Za aplikacije s platnom, ki temeljijo na Microsoft Dataverse, morate uporabiti zmožnost brez povezave, ki je vgrajena z izkušnjo offline-first . Za več informacij glejte Nastavitev mobilne brez povezave za aplikacije platna in Delo z aplikacijami platna brez povezave. S preklopom stikala lahko vaša aplikacija dela s Dataverse podatki, kjer koli ste, z omrežno povezavo ali brez nje. Preprosto sestavite svojo aplikacijo s standardnimi Power Fx formulami in funkcija brez povezave bo poskrbela za vso kompleksnost namesto vas.

Za vse druge konektorje uporabite LoadData in SaveData

Ta razdelek vključuje primer uporabe podatkov Twitterja. Še enostavnejši primer, ki ne potrebuje povezave, je vključen v informacije o funkcijah LoadData in SaveData.

Oglejte si ta videoposnetek, če želite izvedeti, kako ustvariti aplikacije za platno brez povezave, ki ne uporabljajo Dataverse podatkov:

Omejitve

Funkciji LoadData in SaveData združeni oblikujeta preprost mehanizem za shranjevanje majhnih količin podatkov v lokalni napravi. Z uporabo teh funkcij lahko v aplikacijo dodate preproste zmogljivosti v načinu brez povezave.

Te funkcije so omejene s količino razpoložljivega pomnilnika aplikacij, ker delujejo v zbirki znotraj pomnilnika. Razpoložljivi pomnilnik se lahko razlikuje glede na napravo, operacijski sistem in pomnilnik, ki ga uporablja Power Apps za mobilne naprave, ter zapletenost aplikacije glede na zaslone in kontrolnike. Če shranite več kot nekaj megabajtov podatkov, aplikacijo s pričakovanimi scenariji preizkusite v napravah, v katere pričakujete, da se bodo izvedli. Običajno imate na voljo 30–70 megabajtov pomnilnika.

Funkcije tudi samodejno ne razrešijo sporov spajanja, ko naprava vzpostavi povezavo. Konfiguracija glede podatkov, ki se shranijo, in upravljanja ponovne vzpostavitve povezave je odvisna od ustvarjalca ob pisanju izrazov.

Za posodobitve glede zmogljivosti v načinu brez povezave se vrnite na to temo in se naročite na spletni dnevnik Power Apps.

Pregled

Ko oblikujete scenarije za način brez povezave, najprej razmislite, kako aplikacije uporabljajo podatke. Aplikacije v storitvi Power Apps primarno do podatkov dostopajo predvsem prek nabora povezovalnikov, ki jih ponuja platforma, kot so npr. SharePoint, Office 365 in Microsoft Dataverse. Prav tako lahko ustvarite povezovalnike po meri, ki aplikacijam omogočajo dostop do katere koli storitve, ki ponuja končno točko RESTful. To je lahko spletni API ali storitev, kot so funkcije Azure. Vsi ti povezovalniki uporabljajo HTTPS prek interneta, kar pomeni, da morajo imeti uporabniki vzpostavljeno povezavo, da lahko dostopajo do podatkov in drugih zmogljivosti, ki jih ponuja storitev.

Aplikacija Power Apps s povezovalniki.

Obravnava podatkov brez povezave

V storitvi Power Apps lahko filtrirate, iščete, razvrščate, združujete in upravljate podatke na dosleden način, ne glede na vir podatkov. Viri segajo od zbirk znotraj pomnilnika v aplikaciji do seznamov, ustvarjenih z aplikacijo Seznami Microsoft, zbirk podatkov SQL in Dataverse. Zaradi te doslednosti lahko zlahka znova ciljate aplikacijo in uporabite drug vir podatkov. Še bolj pomembno pa je, da lahko za scenarije brez povezave uporabljate lokalne zbirke za upravljanje podatkov, pri čemer se logika aplikacije skoraj ne spremeni. Pravzaprav so lokalne zbirke primarni mehanizem za obdelavo podatkov brez povezave.

Izdelava aplikacije brez povezave

Da bi bili še vedno osredotočeni na vidike razvoja aplikacij brez povezave, ta tema prikazuje preprost scenarij, osredotočen na Twitter. Ustvarili boste aplikacijo, ki vam omogoča branje objav v Twitterju in pošiljanje tvitov, ko ste brez povezave. Ko ima aplikacija vzpostavljeno povezavo, aplikacija objavi tvite in ponovno naloži lokalne podatke.

Aplikacija na višji ravni izvaja naslednja opravila:

  • Ko uporabnik odpre aplikacijo:

    • Če ima naprava vzpostavljeno povezavo, aplikacija pridobi podatke prek povezovalnika Twitter in te podatke vnese v zbirko.
    • Če je naprava brez povezave, aplikacija naloži podatke iz lokalne datoteke predpomnilnika prek funkcije LoadData.
    • Uporabnik lahko pošlje tvite. Če ima aplikacija vzpostavljeno povezavo, objavi tvite neposredno v Twitterju in osveži lokalni predpomnilnik.
  • Vsakih pet minut, ko ima aplikacija vzpostavljeno povezavo:

    • Aplikacija objavlja vse tvite v lokalnem predpomnilniku.
    • Aplikacija osveži lokalni predpomnilnik in ga shrani s funkcijo SaveData.

1. korak: Twitter dodajte v prazno aplikacijo za telefone

  1. Ustvarite prazno aplikacijo s platnom s postavitvijo za Telefon.
  2. Na zavihku Pogled izberite Viri podatkov.
  3. V podoknu Podatki izberite Dodaj vir podatkov.
  4. Izberite Nova povezava > Twitter > Ustvari.
  5. Vnesite svoje poverilnice, ustvarite povezavo in zaprite podokno Podatki.

2. korak: dodajte obstoječe tvite

  1. V podoknu Drevesni pogled izberite Aplikacija in nato nastavite lastnost OnStart na to formulo:

    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 nalaganje tvitov.

  2. V podoknu Drevesni pogled izberite meni s tremi pikami za predmet Aplikacija in nato izberite Run OnStart, da zaženete to formulo.

    Zagon formule za nalaganje tvitov.

    Opomba

    Funkciji LoadData in SaveData lahko prikažeta napako v storitvi Power Apps Studio, ker ju brskalniki ne podpirajo. Vendar bosta funkciji delovali na običajen način po uvedbi te aplikacije v napravo.

Ta formula preverja, ali ima naprava vzpostavljeno povezavo:

  • Če ima naprava vzpostavljeno povezavo, formula naloži do 10 tvitov z iskalnim izrazom »PowerApps« v zbirko LocalTweets.
  • Če je naprava brez povezave, formula naloži lokalni predpomnilnik iz datoteke z imenom »LocalTweets«, če je na voljo.
  1. Na zavihku Vstavljanje izberite Galerija > Prazna prilagodljiva višina.

  2. Nastavite lastnost Items za kontrolnik Gallery na LocalTweets.

  3. V predlogo galerije dodajte tri kontrolnike Label in nastavite lastnost Text za vsako od oznak na eno od teh vrednosti:

    • ThisItem.UserDetails.FullName & " (@" & ThisItem.UserDetails.UserName & ")"
    • Text(DateTimeValue(ThisItem.CreatedAtIso), DateTimeFormat.ShortDateTime)
    • ThisItem.TweetText
  4. Za besedilo na zadnji oznaki uporabite krepko pisavo, da bo galerija podobna temu primeru.

    Galerija, ki prikazuje vzorčne tvite.

4. korak: prikažite stanje povezave

  1. Pod galerijo vstavite oznako in nato nastavite lastnost Color na Rdeča.

  2. Lastnost najnovejše oznake Text nastavite na to formulo:

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

Ta formula določa, ali ima naprava vzpostavljeno povezavo. V tem primeru oznaka prikazuje možnost Povezano, sicer pa je prikazana vrednost Brez povezave.

5. korak: dodajte polje za sestavljanje tvitov

  1. Pod oznako za stanje povezave vstavite kontrolnik Text input in ga preimenujte v NewTweetTextInput.

  2. Nastavite lastnost polja za vnos besedila Default na "".

    Galerija glede informacij o stanju in polje za vnos besedila.

6. korak: dodajte gumb za objavo tvita

  1. Pod poljem za vnos besedila dodajte kontrolnik Button in nastavite lastnost Text na to vrednost:

    "Tweet"

  2. Lastnost gumba OnSelect nastavite na to formulo:

    If( Connection.Connected,
        Twitter.Tweet( "", {tweetText: NewTweetTextInput.Text} ),
        Collect( LocalTweetsToPost, {tweetText: NewTweetTextInput.Text} );
            SaveData( LocalTweetsToPost, "LocalTweetsToPost" )
    );
    Reset( NewTweetTextInput );
    
  3. Pri lastnosti OnStart za aplikacijo dodajte vrstico na koncu 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
    

    Zaženite formulo za nalaganje tvitov z nekomentirano vrstico.

Ta formula določa, ali ima naprava vzpostavljeno povezavo:

  • Če ima naprava vzpostavljeno povezavo, tvit objavi takoj.
  • Če je naprava brez povezave, tvit zabeleži v zbirko LocalTweetsToPost in jo shrani v napravo.

Nato formula ponastavi besedilo v polju za vnos besedila.

7. korak: preverite, ali so na voljo novi tviti

  1. Na desni strani gumba dodajte kontrolnik Timer.

    Končne aplikacije.

  2. Nastavite lastnost časovnika Duration na 300000.

  3. Nastavite lastnosti časovnika AutoStart in Repeat na true.

  4. Nastavite možnost časovnika OnTimerEnd na to formulo:

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

Ta formula določa, ali ima naprava vzpostavljeno povezavo. V tem primeru aplikacija objavi tvit za vse elemente v zbirki LocalTweetsToPost in nato počisti zbirko.

Preskus aplikacije

  1. Odprite aplikacijo z aplikacijo Power Apps Mobile v mobilni napravi, ki je povezana z internetom.

    Obstoječi tviti se prikažejo v galeriji, prikazano stanje pa je Povezano.

  2. Prekinite povezavo naprave z internetom tako, da v napravi omogočite letalski način in onemogočite Wi-Fi.

    Oznaka stanja prikazuje, da je aplikacija brez povezave.

  3. Medtem ko je naprava brez povezave, zapišite tvit, ki vključuje Power Apps, nato pa izberite gumb Tvit.

    Tvit je lokalno shranjen v zbirki LocalTweetsToPost.

  4. Znova vzpostavite povezavo naprave z internetom tako, da v napravi onemogočite letalski način in omogočite Wi-Fi.

    V petih minutah aplikacija objavi tvit, ki je prikazan v galeriji.

Upamo, da ste v tem članku dobili občutek o tem, kakšne zmogljivosti ponuja storitev Power Apps za izdelavo aplikacij brez povezave. Kot vedno vas prosimo, da nam posredujete povratne informacije v forumu in delite svoje primere aplikacij brez povezave v spletnem dnevniku skupnosti Power Apps.

Opomba

Ali nam lahko poveste, kateri je vaš prednostni jezik za dokumentacijo? Izpolnite kratko anketo. (upoštevajte, da je v angleščini)

Z anketo boste porabili približno sedem minut. Ne zbiramo nobenih osebnih podatkov (izjava o zasebnosti).