Bezsaistē pieejamu pamatnes programmu izstrāde

Mobilo sakaru lietotājiem bieži vien ir jābūt produktīviem pat tad, ja viņiem ir ierobežota savienojamība vai tās nav vispār. Kad izveidojat pamatnes programmu, varat veikt šos uzdevumus:

  • Atveriet Power Apps mobilo ierīci un palaidiet programmas, kad ierīcei nav izveidots savienojums ar tīklu.
  • Nosakiet, kad programma ir bezsaistē, tiešsaistē vai mērāmā savienojumā, izmantojot signāla objektu Savienojums.
  • Sinhronizējiet datus starp ierīci un serveri.

Ja jūsu programma izveido savienojumu Dataverse, ir iebūvēts bezsaistes atbalsts ·. Power Apps ļaus jums lejupielādēt datus savā ierīcē un augšupielādēt izmaiņas atpakaļ Dataverse. Ja jūsu programma neizmanto Dataverse, varat izmantot kolekcijas un izmantot LoadData un SaveData funkcijas pamata krātuvei bezsaistē.

Piezīme

  • Bezsaistes iespējas audekla programmām ir pieejamas, palaižot programmas, izmantojot vietējos Power Apps mobilos atskaņotājus un iOS Android operētājsistēmu Windows.
  • Pamatnes programmas, kas darbojas tīmekļa pārlūkprogrammās, nevar palaist bezsaistē, pat ja izmantojat tīmekļa pārlūkprogrammu mobilajā ierīcē.
  • Pamatnes programmas pakalpojumā Teams ir ierobežotas līdz 1 MB datu, izmantojot LoadData un SaveData—funkcijas, kas noder nelielam teksta virkņu, skaitļu un datumu skaitam. Attiecībā uz šo ierobežojumu tiek izmantota attēlu vai citu mediju izmantošana. Papildu informācija: LoadData un SaveData funkciju atsauce

Bezsaistes atbalsta iespējošana pamatnes Dataverse programmā

Lai Microsoft Dataverse izmantotu pamatnes programmas, jums ir jāizmanto bezsaistes iespējas, kas iebūvētas bezsaistes pirmajā pieredzē. Papildinformāciju skatiet rakstā Mobile Offline iestatīšana pamatnes programmām un Darbs ar audekla programmām bezsaistē. Pārslēdzot slēdzi, jūsu lietotne var strādāt ar Dataverse datiem, lai kur jūs atrastos, ar tīkla savienojumu vai bez tā. Vienkārši izveidojiet savu lietotni, izmantojot standarta Power Fx formulas, un bezsaistes līdzeklis jūsu vietā apstrādās visu sarežģītību.

Izmantojiet LoadData un SaveData visiem pārējiem savienotājiem

Šajā sadaļā ir iekļauts piemērs, kurā izmantoti Twitter dati. Vēl vienkāršāks piemērs, kam nav nepieciešams savienojums, ir iekļauts LoadData un SaveData funkcijas referencē.

Noskatieties šo videoklipu, lai uzzinātu, kā izveidot bezsaistē iespējotas audekla programmas, kas neizmanto Dataverse datus:

Ierobežojumi

LoadData un SaveData apvieno, lai veidotu vienkāršu mehānismu maza datu apjoma glabāšanai lokālajā ierīcē. Izmantojot šīs funkcijas, programmai varat pievienot vienkāršas bezsaistes iespējas.

Šo funkciju ierobežojums ir pieejamās programmas atmiņas daudzums, jo tās darbojas atmiņas kolekcijā. Pieejamā atmiņa var atšķirties atkarībā no ierīces, operētājsistēmas, atmiņas, ko Power Apps izmanto mobilie telefoni, un programmas sarežģītības attiecībā uz ekrāniem un vadīklām. Ja glabājat vairāk nekā dažus megabaitus datu, pārbaudiet programmu, izmantojot gaidītos scenārijus ierīcēs, kurās to palaižat. Parasti jums ir 30–70 megabaiti no pieejamās atmiņas.

Šīs funkcijas arī automātiski neatrisina sapludināšanas konfliktus, kad ierīce ir tiešsaistē. Konfigurācija par to, kādi dati tiek saglabāti un kā rīkoties ar atkārtotu savienojumu, ir pieejama izveidotājam, rakstot izteiksmes.

Lai iegūtu atjauninājumus bezsaistes iespēju gadījumā, atgriezieties šajā tēmā un abonējiet Power Apps emuāru.

Pārskats

Izstrādājot bezsaistes scenārijus, vispirms jāapsver, kā jūsu programmas darbosies ar datiem. Programmas Power Apps galvenokārt piekļūst datiem, izmantojot savienotāju kopu, ko nodrošina platforma, piemēram, SharePoint, Office 365un Microsoft Dataverse. Varat arī izveidot pielāgotus savienotājus, kas ļauj programmām piekļūt jebkuram pakalpojumam, kurš nodrošina nostiprinātu galapunktu. Tas varētu būt tīmekļa API vai pakalpojums, piemēram, Azure Functions. Visi šie savienotāji izmanto HTTPS internetā, kas nozīmē, ka lietotājiem ir jābūt tiešsaistē, lai tie varētu piekļūt datiem un citām iespējām, ko piedāvā serviss.

Power Apps programma ar savienotājiem.

Bezsaistes datu apstrāde

Programmā Power Apps var filtrēt, meklēt, kārtot, apkopot un manipulēt ar datiem konsekventi neatkarīgi no datu avota. Avoti ir pieejami no programmas atmiņā iekļautajām kolekcijām līdz Microsoft Sarakstos izveidotajiem sarakstiem un SQL datu bāzēm un Dataverse. Šīs konsekvences dēļ programmu var viegli izmantot, lai izmantotu citu datu avotu. Vēl svarīgāk bezsaistes scenārijiem ir izmantot lokālās kolekcijas datu pārvaldībai, nemainot programmas loģiku. Patiesībā lokālās kolekcijas ir primārais mehānisms bezsaistes datu apstrādei.

Bezsaistes programmas izveide

Lai saglabātu fokusu uz programmas izstrādes bezsaistes aspektiem, šajā tēmā ir parādīts vienkāršs scenārijs, kas ir vērsts uz Twitter. Jūs izveidojat programmu, kas ļauj lasīt Twitter ziņas un iesniegt tvītus, kamēr strādājat bezsaistē. Kad programma kļūst pieejama tiešsaistē, tā publicē Twitter tvītus un atkārtoti ielādē lokālos datus.

Augstā līmenī programma veic šos uzdevumus:

  • Kad lietotājs atver programmu:

    • Ja ierīce ir tiešsaistes režīmā, programma ienes datus, izmantojot Twitter savienotāju, un aizpilda kolekciju ar šiem datiem.
    • Ja ierīce ir bezsaistes režīmā, programma ielādē datus no lokālās kešatmiņas faila, izmantojot funkciju LoadData.
    • Lietotājs var iesniegt tvītus. Ja programma ir tiešsaistē, tā publicē tvītus tieši pakalpojumā Twitter un atsvaidzina lokālo kešatmiņu.
  • Ik pēc piecām minūtēm, kamēr programma ir tiešsaistē:

    • Programma publicē jebkurus tvītus lokālajā kešatmiņā.
    • Programma atsvaidzina lokālo kešatmiņu un saglabā to, izmantojot funkciju SaveData.

1. darbība. Twitter pievienošana tukšai tālruņa programmai

  1. Izveidojiet tukšu pamatnes programmu ar Tālruņa izkārtojumu.
  2. Cilnē Skats atlasiet Datu avoti.
  3. Rūtī Dati atlasiet Pievienot datu avotus.
  4. Atlasiet Jauns savienojums > Twitter > Izveidot.
  5. Ievadiet akreditācijas datus, izveidojiet savienojumu un pēc tam aizveriet rūti Dati.

2. darbība. Esošo tvītu apkopošana

  1. Rūtī Koka skats atlasiet Programmaun pēc tam iestatiet tās rekvizītu OnStart šai formulai:

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

    Tvītu ielādes formula.

  2. Rūtī Koka skats atlasiet daudzpunktes izvēlni objektam Programma un pēc tam atlasiet Palaist OnStart, lai izpildītu šo formulu.

    Tvītu ielādes formulas palaišana.

    Piezīme

    Funkcijās LoadData un SaveData var tikt parādīta kļūda Power Apps Studio, jo pārlūki tās neatbalsta. Taču tās parasti darbojas pēc šīs programmas izvietošanas ierīcē.

Šī formula pārbauda, vai ierīce ir tiešsaistes režīmā:

  • Ja ierīce ir tiešsaistes režīmā, formula ielādē līdz 10 tvītiem ar meklējamo vārdu “PowerApps” kolekcijā LocalTweets.
  • Ja ierīce ir bezsaistes režīmā, formula ielādē lokālo kešatmiņu no faila, kas tiek saukts par “LocalTweets”, ja tas ir pieejams.
  1. Cilnē Ievietot atlasiet Galerija > Tukšs elastīgais augstums.

  2. Iestatiet rekvizītu Vienumi vadīklā Galerija uz LocalTweets.

  3. Galerijas veidnē pievienojiet trīs vadīklas Etiķete un katras etiķetes rekvizītu Teksts iestatiet uz vienu no šīm vērtībām:

    • ThisItem.UserDetails.FullName & " (@" & ThisItem.UserDetails.UserName & ")"
    • Text(DateTimeValue(ThisItem.CreatedAtIso), DateTimeFormat.ShortDateTime)
    • ThisItem.TweetText
  4. Trekniniet pēdējās etiķetes tekstu, lai galerija būtu līdzīga šim paraugam.

    Galerija ar parauga tvītiem.

4. darbība. Savienojuma statusa rādīšana

  1. Galerijā ievietojiet etiķeti un pēc tam iestatiet tās rekvizītu Krāsa uz Sarkana.

  2. Iestatiet jaunākās etiķetes rekvizītu Teksts šai formulai:

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

Šī formula nosaka, vai ierīce ir tiešsaistes režīmā. Ja tas tā ir, etiķetē tiek rādīts Savienots; pretējā gadījumā tiek rādīts Bezsaistē.

5. darbība. Lodziņa pievienošana tvītu rakstīšanai

  1. Zem savienojuma statusa etiķetes ievietojiet vadīklu Teksta ievade un pārdēvējiet to par NewTweetTextInput.

  2. Iestatiet teksta ievades lodziņa rekvizītu Noklusējuma uz "".

    Galerija virs statusa informācijas un teksta ievades lodziņa.

6. darbība. Pogas pievienošana, lai nosūtītu tvītu

  1. Zem teksta ievades lodziņa pievienojiet vadīklu Poga un iestatiet tās rekvizītu Teksts uz šo vērtību:

    "Tweet"

  2. Pogas rekvizītam OnSelect iestatiet šādu formulu:

    If( Connection.Connected,
        Twitter.Tweet( "", {tweetText: NewTweetTextInput.Text} ),
        Collect( LocalTweetsToPost, {tweetText: NewTweetTextInput.Text} );
            SaveData( LocalTweetsToPost, "LocalTweetsToPost" )
    );
    Reset( NewTweetTextInput );
    
  3. Rekvizītā OnStart vienumam Programma formulas beigās pievienojiet rindu:

    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
    

    Formulas palaišana, lai ielādētu tvītus ar nekomentētu rindu.

Šī formula nosaka, vai ierīce ir tiešsaistes režīmā:

  • Ja ierīce ir tiešsaistē, tā ziņas tvīto nekavējoties.
  • Ja ierīce ir bezsaistes režīmā, tā tver tvītu LocalTweetsToPost kolekcijā un saglabā to ierīcē.

Pēc tam formula atiestata tekstu ievades lodziņā.

7. darbība. Jaunu tvītu pārbaude

  1. Pogas labajā pusē pievienojiet vadīklu Taimeris.

    Galīgās programmas.

  2. Iestatiet taimera rekvizītu Ilgums uz 300000.

  3. Iestatiet taimera AutoStart un Atkārtot rekvizītus uz true.

  4. Iestatiet taimera OnTimerEnd šai formulai:

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

Šī formula nosaka, vai ierīce ir tiešsaistes režīmā. Ja tas tā ir, programma tvīto visus LocalTweetsToPost kolekcijas elementus un pēc tam notīra kolekciju.

Programmas pārbaude

  1. Atveriet programmu, izmantojot Power Apps Mobile mobilajā ierīcē, kam ir izveidots savienojums ar internetu.

    Esošie tvīti tiek parādīti galerijā, un tiek parādīts statuss Savienots.

  2. Atvienojiet ierīci no interneta, iespējojot ierīces lidmašīnas režīmu un atspējojot Wi-Fi.

    Statusa etiķetē ir redzams, ka programma ir Bezsaistē.

  3. Kamēr ierīce ir bezsaistes režīmā, uzrakstiet tvītu, kas ietver Power Apps, un pēc tam atlasiet pogu Tvītot.

    Tvīts tiek glabāts lokāli LocalTweetsToPost kolekcijā.

  4. Atkārtoti pievienojiet ierīci internetam, atspējojot ierīces lidmašīnas režīmu un iespējojot Wi-Fi.

    Piecu minūšu laikā programma publicēs tvītu, kas tiek parādīts galerijā.

Mēs ceram, ka šis raksts sniedz priekšstatu par iespējām, kas Power Apps ir paredzētas bezsaistes programmu izveidei. Kā vienmēr, lūdzu, sniedziet atsauksmes mūsu forumā un kopīgojiet savu bezsaistes programmu piemērus Power Apps kopienas emuārā.

Piezīme

Kādas ir jūsu dokumentācijas valodas preferences? Aizpildiet īsu aptauju. (ņemiet vērā, ka aptauja ir angļu valodā)

Aptaujai būs nepieciešamas aptuveni septiņas minūtes. Nekādi personas dati netiks vākti (paziņojums par konfidencialitāti).