Neprisijungus veikiančių drobės programų kūrimas

Mobiliųjų įrenginių vartotojams svarbu dirbti produktyviai, net jei interneto ryšys ribotas arba jo nėra. Sukūrę drobės programą, galite atlikti šias užduotis:

  • Atidaryti „Power Apps“ mobiliąją programą ir paleisti programas neprisijungę.
  • Nustatyti, kada programa naudojama neprisijungus, prisijungus arba per apskaičiuotų duomenų ryšį naudodami signalo objektą Connection.
  • Naudoti rinkinius ir taikyti funkcijas LoadData ir SaveData, kad užtikrintumėte bazinį duomenų saugojimą, kai programa naudojama neprisijungus.

Pastaba

Šiame straipsnyje pateikiamas pavyzdys su „Twitter“ duomenimis. Dar paprastesnis pavyzdys, kai nereikalingas ryšys, pateiktas LoadData ir SaveData funkcijos nuorodoje.

Peržiūrėkite šį vaizdo įrašą ir sužinokite, kaip kurti įjungtas drobės programas ne internete:

Apribojimai

Funkcijos LoadData ir SaveData veikdamos kartu sukuria paprastą mechanizmą, padedantį saugoti nedidelius duomenų kiekius vietiniame įrenginyje. Naudodami šias funkcijas galite įtraukti paprastas naudojimo neprisijungus galimybes į savo programą.

Šias funkcijas riboja pasiekiamas programos atminties dydžio, nes jos veikia atminties rinkinyje. Pasiekiamos atminties dydis priklauso nuo įrenginio, operacinės sistemos, atminties, kurią naudoja „Power Apps“ mobiliosios programos vartotojai ir programos sudėtingumo, kalbant apie ekranus ir valdiklius. Jei saugote daugiau nei kelis megabaitus duomenų, išbandykite programą taikydami tikėtinus scenarijus įrenginiuose, kuriuose numatyta naudoti programą. Paprastai turėsite 30–70 megabaitų pasiekiamos atminties.

Be to, funkcijos automatiškai neišsprendžia suliejimo konfliktų, kai įrenginys prijungiamas prie interneto. Kokia bus konfigūracija, apibrėžianti, kokie duomenys įrašomi ir kokios operacijos vykdomos prisijungus iš naujo, priklauso nuo kūrėjo sukurtų išraiškų.

Jei norite gauti naujienų apie naudojimo neprisijungus galimybes, grįžkite į šią temą ir prenumeruokite „Power Apps“ tinklaraštį.

Apžvalga

Kurdami naudojimo neprisijungus scenarijus pirmiausia turite įvertinti, kaip jūsų programos veikia su duomenimis. „Power Apps“ esančios programos duomenis pasiekia per tam tikras platformos pateikiamas jungtis, pvz., „SharePoint“, „Office 365“ ir „Microsoft Dataverse“. Taip pat galite kurti pasirinktines jungtis, kurios suteikia programoms galimybę pasiekti bet kurią tarnybą, kurioje yra „RESTful“ galinis punktas. Tai gali būti žiniatinklio API arba tarnyba, pvz., „Azure“ funkcijos. Visos šios jungtys naudoja HTTPS per interneto ryšį; tai reiškia, kad vartotojai turi būti prisijungę, kad galėtų pasiekti duomenis ir kitas tarnybos teikiamas funkcijas.

„Power Apps“ programa su jungtimis.

Autonominių duomenų tvarkymas

Naudodami „Power Apps“ galite nuosekliai filtruoti, ieškoti, rūšiuoti, agreguoti ir tvarkyti duomenis, neatsižvelgiant į duomenų šaltinį. Šaltiniai yra įvairūs, pavyzdžiui, programos atmintyje esantys rinkiniai, naudojant „Microsoft Lists“ sukurti sąrašai, SQL duomenų bazės ir Dataverse. Toks nuoseklumas leidžia lengvai nukreipti programą naudoti kitą duomenų šaltinį. Kalbant apie naudojimo neprisijungus scenarijus, svarbu tai, kad naudodami vietinius rinkinius galite tvarkyti duomenis beveik nepakeitę programos logikos. Vietiniai rinkiniai yra pagrindinis mechanizmas, naudojamas autonominiams duomenims tvarkyti.

Neprisijungus veikiančios programos kūrimas

Siekiant sutelkti dėmesį į neprisijungus veikiančios programos kūrimo aspektus, šioje temoje pateikiamas paprastas scenarijus, susijęs su „Twitter“. Sukursite programą, kurią naudodami galėsite skaityti „Twitter“ įrašus ir rašyti „Twitter“ žinutes, kai nesate prisijungę prie interneto. Kai programa prisijungia prie interneto, programa paskelbia „Twitter“ žinutes ir iš naujo įkelia vietinius duomenis.

Aukštu lygiu programa atlieka šias užduotis:

  • Kai vartotojas atidaro programą:

    • Jei įrenginys yra prijungtas prie interneto, programa gauna duomenis per „Twitter“ jungtį ir užpildo rinkinį tais duomenimis.
    • Jei įrenginys nėra prijungtas prie interneto, programa įkelia duomenis iš vietinio podėlio failo naudodama funkciją LoadData.
    • Vartotojas gali rašyti „Twitter“ žinutes. Kai programa prisijungia prie interneto, ji paskelbia „Twitter“ įrašus tiesiogiai svetainėje „Twitter“ ir atnaujina vietinį podėlį.
  • Kai programa yra prijungta prie interneto, kas penkias minutes vykdomos šios operacijos:

    • Programa skelbia visas „Twitter“ žinutes vietiniame podėlyje.
    • Programa atnaujina vietinį podėlį ir įrašo duomenis naudodama funkciją SaveData.

1 žingsnis. „Twitter“ įtraukimas į tuščią telefono programą

  1. Sukurkite tuščią drobės programą su Telefono maketu.
  2. Skirtuke Rodinys pasirinkite Duomenų šaltiniai.
  3. Srityje Duomenys pasirinkite Įtraukti duomenų šaltinį.
  4. Pasirinkite Naujas ryšys > Twitter > Kurti.
  5. Įveskite savo kredencialus, sukurkite ryšį, tada uždarykite sritį Duomenys.

2 žingsnis. Esamų „Twitter“ žinučių surinkimas

  1. Srityje Medžio rodinys pasirinkite objektą App, tada nustatykite jo ypatybę OnStart pagal šią formulę:

    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" );
    

    Formulė, įkelianti „Twitter“ žinutes.

  2. Srityje Medžio rodinys pasirinkite prie objekto App esantį daugtaškio meniu, tada pasirinkite Paleisti OnStart, kad vykdytumėte tą formulę.

    Formulės, įkeliančios „Twitter“ žinutes, vykdymas.

    Pastaba

    Funkcijos LoadData ir SaveData gali rodyti klaidą „Power Apps Studio“, nes naršyklės jų nepalaiko. Tačiau jos gali veikti įprastai, kai įdiegsite šią programą įrenginyje.

Ši formulė tikrina, ar įrenginys yra prisijungęs:

  • Jei įrenginys prisijungęs, formulė įkelia iki 10 „Twitter“ žinučių su ieškos terminu „PowerApps“ į rinkinį LocalTweets.
  • Jei įrenginys neprisijungęs, formulė įkelia vietinį podėlį iš failo LocalTweets, jei jis pasiekiamas.
  1. Skirtuke Įterpimas pasirinkite Galerija > Tuščia kintamo aukščio.

  2. Nustatykite valdiklio Galerija ypatybės Items reikšmę LocalTweets.

  3. Galerijos šablone įtraukite tris valdiklius Žyma ir nustatykite vieną iš toliau nurodytų kiekvienos žymos ypatybės Text reikšmių:

    • ThisItem.UserDetails.FullName & " (@" & ThisItem.UserDetails.UserName & ")"
    • Text(DateTimeValue(ThisItem.CreatedAtIso), DateTimeFormat.ShortDateTime)
    • ThisItem.TweetText
  4. Paryškinkite paskutinės žymos tekstą, kad galerija būtų panaši į šį pavyzdį.

    Galerijoje rodomi „Twitter“ žinučių pavyzdžiai.

4 žingsnis. Ryšio būsenos rodymas

  1. Galerijoje įterpkite žymą ir tada nustatykite ypatybės Color reikšmę Red.

  2. Nustatykite naujausios žymos ypatybės Text reikšmę pagal šią formulę:

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

Ši formulė nustato, ar įrenginys yra prisijungęs. Jei taip, žyma rodo Connected; kitu atveju rodoma Offline.

5 žingsnis. „Twitter“ žinučių rašymo lauko įtraukimas

  1. Po ryšio būsenos žyma įterpkite valdiklį Teksto įvestis ir pakeiskite jo pavadinimą į NewTweetTextInput.

  2. Nustatykite teksto įvesties lauko ypatybės Default reikšmę "".

    Galerija virš būsenos informacijos ir teksto įvesties lauko.

6 žingsnis. „Twitter“ žinutės paskelbimo mygtuko įtraukimas

  1. Po teksto įvesties lauku įtraukite valdiklį Mygtukas ir nustatykite toliau nurodytą jo ypatybės Text reikšmę:

    "Tweet"

  2. Nustatykite mygtuko ypatybės OnSelect reikšmę pagal šią formulę:

    If( Connection.Connected,
        Twitter.Tweet( "", {tweetText: NewTweetTextInput.Text} ),
        Collect( LocalTweetsToPost, {tweetText: NewTweetTextInput.Text} );
            SaveData( LocalTweetsToPost, "LocalTweetsToPost" )
    );
    Reset( NewTweetTextInput );
    
  3. Objekto App ypatybėje OnStart įtraukite eilutę formulės pabaigoje:

    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
    

    Vykdykite formulę, kad įkeltumėte „Twitter“ žinutes su nepakomentuota eilute.

Ši formulė nustato, ar įrenginys yra prisijungęs:

  • Jei įrenginys prisijungęs, iškart paskelbiama „Twitter“ žinutė.
  • Jei įrenginys neprisijungęs, „Twitter“ žinutė patenka į rinkinį LocalTweetsToPost ir įrašoma įrenginyje.

Tada formulė iš naujo nustato teksto įvesties lauke esantį tekstą.

7 žingsnis. Tikrinimas, ar yra naujų „Twitter“ žinučių

  1. Dešinėje mygtuko pusėje įtraukite valdiklį Laikmatis.

    Galutinės programos.

  2. Nustatykite laikmačio ypatybės Duration reikšmę 300000.

  3. Nustatykite laikmačio ypatybių AutoStart ir Repeat reikšmę true.

  4. Nustatykite laikmačio ypatybę OnTimerEnd pagal šią formulę:

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

Ši formulė nustato, ar įrenginys yra prisijungęs. Jei taip, programa paskelbia visas rinkinyje LocalTweetsToPost esančias „Twitter“ žinutes ir išvalo rinkinį.

Patikrinti programą

  1. Atverkite programą su „Power Apps Mobile“ mobiliame įrenginyje, kuris prijungtas prie interneto.

    Esamos „Twitter“ žinutės rodomos galerijoje ir rodoma būsena Connected.

  2. Atjunkite įrenginį nuo interneto įjungdami įrenginio lėktuvo režimą ir išjungdami „Wi-Fi“.

    Būsenos žyma rodo, kad programa yra Offline.

  3. Kai įrenginys neprijungtas prie interneto, rašykite „Twitter“ žinutę, turinčią Power Apps, tada pasirinkite mygtuką „Twitter“ žinutė.

    „Twitter“ žinutė saugoma įrenginyje rinkinyje LocalTweetsToPost.

  4. Prijunkite įrenginį prie interneto išjungdami įrenginio lėktuvo režimą ir įjungdami „Wi-Fi“.

    Per penkias minutes programa paskelbia „Twitter“ žinutę, kuri rodoma galerijoje.

Tikimės, kad šis straipsnis padėjo sužinoti daugiau apie „Power Apps“ galimybes kuriant neprisijungus veikiančias programas. Neužmirškite pateikite atsiliepimų mūsų forume ir dalykitės savo neprisijungus veikiančių programų pavyzdžiais „Power Apps“ bendruomenės tinklaraštyje.

Pastaba

Ar galite mums pranešti apie dokumentacijos kalbos nuostatas? Atlikite trumpą apklausą. (atkreipkite dėmesį, kad ši apklausa yra anglų kalba)

Apklausą atliksite per maždaug septynias minutes. Asmeniniai duomenys nėra renkami (privatumo nuostatos).