Kapcsolat nélküli módra képes vászonalapú alkalmazások fejlesztése

A mobilfelhasználóknak gyakran akkor is produktívnak kell lenniük, ha korlátozott vagy semmilyen kapcsolattal nem rendelkeznek. A vászonalapú alkalmazások létrehozásakor az alábbi feladatokat hajthatja végre:

  • Nyissa meg a Mobile alkalmazást Power Apps , és futtasson alkalmazásokat, amikor az eszköz nem csatlakozik a hálózathoz.
  • A Kapcsolat jelobjektumot használva meghatározhatja, mikor működik az alkalmazás kapcsolat nélkül, kapcsolódva vagy mért kapcsolatban.
  • Adatok szinkronizálása az eszköz és a kiszolgáló között.

Ha az alkalmazás csatlakozik Dataverse, az offline támogatás be van építve. Power Apps lehetővé teszi, hogy adatokat töltsön le eszközére, és visszatöltse a módosításokat Dataverse. Ha az alkalmazás nem használja Dataverse, használhat gyűjteményeket, és offline állapotban is használhatja a LoadData és a SaveData függvényt az alapszintű tároláshoz.

Megjegyzés

  • A vászonalapú alkalmazások offline képessége akkor érhető el, ha az alkalmazásokat a natív Power Apps mobillejátszókkal iOS futtatja, Android és Windows.
  • A böngészőkben futó vászonalapú alkalmazások akkor sem futnak offline módban, ha mobileszközön használják a böngészőt.
  • A csoportokban használható vászonalapú alkalmazások a LoadData és a SaveData funkción—keresztül legfeljebb 1 MB-os adatra korlátozódnak, és csak néhány szöveges sztring, szám és dátum esetén használhatók. A képek és egyéb média használata nem lenne megfelelő ehhez a korláthoz. További információ: LoadData és SaveData függvényre vonatkozó hivatkozás

Offline támogatás engedélyezése a-alapú Dataverse vászonalapú alkalmazásban

A vászonalapú alkalmazások esetében Microsoft Dataverse a beépített offline képességet kell használnia az offline első élménnyel. További tájékoztatás: Mobile offline beállítása vászonalapú alkalmazásokhoz és Vászonalapú alkalmazások offline használata. Az alkalmazás egyetlen kapcsolóval dolgozhat az Dataverse adatokkal, bárhol is van, hálózati kapcsolattal vagy anélkül. Csak készítse el alkalmazását szabványos Power Fx képletekkel, és az offline funkció megoldja az összetettséget.

A LoadData és a SaveData használata az összes többi összekötőhöz

Ez a szakasz egy Twitter-adatokat használó példát tartalmaz. Egy még egyszerűbb példa, amely nem igényel kapcsolatot, a LoadDataés a SaveData függvények – referencia részben található.

Tekintse meg ezt a videót, amelyből megtudhatja, hogyan hozhat létre offline engedélyezett, vászonalapú alkalmazásokat, amelyek nem használnak Dataverse adatokat:

Korlátozások

A LoadData és a SaveData egyszerű mechanizmust alkotnak, amely kis mennyiségű adatot tárol egy helyi eszközön. Ezekkel a függvényekkel egyszerű, kapcsolat nélküli képességeket adhat hozzá az alkalmazáshoz.

Ezeket a függvényeket a rendelkezésre álló alkalmazásmemória korlátozza, mert a memóriában tárolt gyűjteményben működnek. A rendelkezésre álló memóriaterület az eszköztől, az operációs rendszertől, a Power Apps Mobile által használt memóriától és az alkalmazás képernyők és vezérlőelemek szempontjából mért összetettségétől függ. Ha néhány megabájtnál több adatot tárol, tesztelje az alkalmazást a várható forgatókönyvekkel azon az eszközön, amelyen futtatni tervezi. Általában 30–70 megabájt memória fog rendelkezésre állni.

A függvények ezenfelül nem oldják meg automatikusan az ütközéseket, amikor egy eszköz online üzemmódba kerül. A megjelenő adatok konfigurációjának beállítása és a visszacsatlakozás kezelése a készítő feladata, amelyet a kifejezések megírásakor kell elvégeznie.

A kapcsolat nélküli lehetőségekkel kapcsolatos frissítésekhez térjen vissza ehhez a témakörhöz, és iratkozzon fel a Power Apps blogra.

Áttekintés

Az offline forgatókönyvek tervezésekor először meg kell fontolnia, hogy az alkalmazások hogyan működnek együtt az adatokkal. A Power Apps-alkalmazások elsősorban a platform által biztosított összekötők, például a SharePoint, az Office 365 és a Microsoft Dataverse segítségével férhetnek hozzá az adatokhoz. Egyéni összekötőket is készíthet, melyekkel az alkalmazások bármilyen RESTful végpontot biztosító szolgáltatást el tudnak érni. Ez lehet egy webes API vagy egy olyan szolgáltatás, mint például az Azure Functions. Ezen összekötők mindegyike internetes HTTPS-kapcsolatot használ, ami azt jelenti, hogy a felhasználóknak kapcsolódniuk kell a hálózatra ahhoz, hogy elérjék az adatokat vagy bármilyen más lehetőséget, amelyet a szolgáltatás kínál.

A Power Apps és az összekötők.

Offline adatok kezelése

A Power Apps alkalmazásban az adatforrástól függetlenül szűrheti, keresheti, rendezheti, összesítheti és kezelheti az adatokat. Forrás lehet bármi az alkalmazás memóriájában lévő gyűjteményekből a létrehozott Microsoft Lists listákon át az SQL-adatbázisokig és a Dataverse szolgáltatásig. Ezen következetesség miatt könnyen átcélozhatja az alkalmazást egy másik adatforrás használatára. Ami pedig még fontosabb az offline forgatókönyvek esetén: lehetséges, hogy a felhasználó helyi gyűjteményeket használjon az adatok kezeléséhez, alig módosítva az alkalmazás logikáját. Valójában a helyi gyűjtemények jelentik az offline adatok elsődleges kezelési eljárását.

Kapcsolat nélküli alkalmazás létrehozása

A kapcsolat nélküli alkalmazásfejlesztés sajátosságainak illusztrálásához a cikk bemutat egy Twitter köré épülő egyszerű esetet. Létrehoz egy alkalmazást, amely lehetővé teszi Twitter-bejegyzések kapcsolat nélküli üzemmódban történő olvasását és tweetek kapcsolat nélküli üzemmódú feladását. Amikor az alkalmazás kapcsolódik a hálózathoz, feladja a tweeteket és újratölti a helyi adatokat.

Magas szinten az alkalmazás az alábbi feladatokat hajtja végre:

  • Amikor a felhasználó megnyitja az alkalmazást:

    • Ha az eszköz állapota online, az alkalmazás a Twitter-összekötőt elérve lekéri az adatokat, és betölti azokat egy gyűjteménybe.
    • Ha az eszköz kapcsolat nélküli állapotban van, az alkalmazás a LoadData függvény segítségével betölti az adatokat egy helyi gyorsítótárból.
    • A felhasználó elküldheti a tweeteket. Ha az alkalmazás online állapotba kerül, akkor a tweetek közvetlenül a Twitterre kerülnek, és az alkalmazás frissíti a helyi gyorsítótárat.
  • Az alkalmazás online állapotában minden öt percben:

    • Az alkalmazás minden tweetet eltárol a helyi gyorsítótárban.
    • Az alkalmazás frissíti a helyi gyorsítótárat, és a SaveData függvény segítségével menti azt.

1. lépés: Twitter hozzáadása üres telefonos alkalmazáshoz

  1. Hozzon létre egy üres vászonalapú alkalmazást Telefon elrendezéssel.
  2. A Nézet lapon válassza az Adatforrások lehetőséget.
  3. Az Adatok panelen válassza az Adatforrás hozzáadása lehetőséget.
  4. Válassza az Új kapcsolat > Twitter > Létrehozás lehetőséget.
  5. Adja meg a hitelesítő adatait, hozza létre a kapcsolatot, majd zárja be az Adatok ablaktáblát.

2. lépés: a meglévő tweetek összegyűjtése

  1. A Fanézet ablaktáblában válassza az Alkalmazás lehetőséget , majd állítsa az OnStart tulajdonságot az alábbi képletre:

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

    Tweetek betöltésére szolgáló képlet.

  2. A Fanézet ablaktáblában jelölje ki az Alkalmazás objektum három ponttal megjelenő menüjét, majd válassza a OnStart futtatása parancsot a képlet futtatásához.

    Tweetek betöltésére szolgáló képlet futtatása.

    Megjegyzés

    A LoadData és a SaveData függvények hibát jelezhetnek a Power Apps Studio alkalmazásban, mert a böngészők nem támogatják azokat. Ha azonban az alkalmazást telepíti egy eszközre, megfelelően fognak működni.

A képlet ellenőrzi, hogy az eszköz kapcsolódik-e hálózathoz:

  • Ha az eszköz hálózathoz kapcsolódik, akkor a képlet egy helyi LocalTweets gyűjteménybe betölt akár 10 Tweetet is, a PowerApps keresőkifejezést használva.
  • Ha az eszköz nem kapcsolódik hálózathoz, a képlet betölti a helyi gyorsítótárat egy „LocalTweets” nevű fájlból, ha rendelkezésre áll ilyen.
  1. A Beszúrás lapon Válassza ki a Katalógus > Üres – rugalmas magasság lehetőséget.

  2. Állítsa a Katalógus vezérlő Elemek tulajdonságát az alábbira: LocalTweets.

  3. A katalógussablonban vegyen fel három Címke vezérlőt, és állítsa be az egyes címkék Szöveg tulajdonságát az alábbi értékek egyikére:

    • ThisItem.UserDetails.FullName & " (@" & ThisItem.UserDetails.UserName & ")"
    • Text(DateTimeValue(ThisItem.CreatedAtIso), DateTimeFormat.ShortDateTime)
    • ThisItem.TweetText
  4. Az utolsó címkén állítsa a szöveget félkövérre, hogy a katalógus hasonlítson a példára.

    Mintatweeteket bemutató katalógus.

4. lépés: a kapcsolat állapotának megjelenítése

  1. A katalógus alá szúrjon be egy címkét, majd állítsa be a Szín tulajdonságát Piros értékre.

  2. Állítsa az új címke Szöveg tulajdonságát az alábbi képletre:

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

A képlet eldönti, hogy az eszköz kapcsolódik-e hálózathoz. Ha igen, a címke szövege Connected, ellenkező esetben Offline lesz.

5. lépés: mező hozzáadása tweetek írásához

  1. A kapcsolat állapotcímkéje alatt szúrjon be egy szövegbeviteli vezérlőt, és nevezze át erre: NewTweetTextInput.

  2. Állítsa a szövegbeviteli mező Alapértelmezett tulajdonságát erre: ""

    Katalógus az állapotinformációk és a szövegbeviteli mező felett.

6. lépés: gomb hozzáadása a tweetek feladásához

  1. A szövegbeviteli mezőben adjon hozzá egy Gomb vezérlőt, és állítsa be a Szöveg tulajdonságát az alábbi értékre:

    "Tweet"

  2. A gomb OnSelect tulajdonságát állítsa az alábbi képletre:

    If( Connection.Connected,
        Twitter.Tweet( "", {tweetText: NewTweetTextInput.Text} ),
        Collect( LocalTweetsToPost, {tweetText: NewTweetTextInput.Text} );
            SaveData( LocalTweetsToPost, "LocalTweetsToPost" )
    );
    Reset( NewTweetTextInput );
    
  3. Az alkalmazás OnStart tulajdonságában adjon hozzá egy sort a képlet végéhez:

    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
    

    Tweetek komment nélküli sorral történő betöltésére szolgáló képlet futtatása.

A képlet eldönti, hogy az eszköz kapcsolódik-e hálózathoz:

  • Ha az eszköz hálózathoz kapcsolódik, azonnal elküldi a tweetet.
  • Ha az eszköz nem kapcsolódik hálózathoz, a rendszer egy LocalTweetsToPost gyűjteménybe menti a tweetet, és menti az eszközre.

Ezt követően a szövegbeviteli mezőt alaphelyzetbe állítja.

7. lépés: új tweetek ellenőrzése

  1. A gomb jobb oldalán adjon hozzá egy Időzítő vezérlőt.

    Kész alkalmazások.

  2. A Duration tulajdonságnál adja meg a 300000 értéket.

  3. Állítsa be az időzítő Automatikus indulás és Ismétlés tulajdonságait az Igaz értékre.

  4. Állítsa az időzítő OnTimerEnd tulajdonságát az alábbi képletre:

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

A képlet eldönti, hogy az eszköz kapcsolódik-e hálózathoz. Ha igen, akkor az alkalmazás tweeteli az összes elemet a LocalTweetsToPost gyűjteményből, majd törli azt.

Az alkalmazás tesztelése

  1. Nyissa meg az alkalmazást a Power Apps Mobile segítségével egy olyan mobileszközön, amely kapcsolódik az internethez.

    A meglévő tweetek megjelennek a katalógusban, és az állapot Connected.

  2. Csatlakoztassa le az eszközt az internetről az eszköz repülőgép-módjának engedélyezésével és a Wi-Fi letiltásával.

    Az állapot címke azt mutatja, hogy az alkalmazás Offline módban van.

  3. Amikor az eszköz kapcsolat nélküli módban van, írjon egy tweetet, amely tartalmazza Power Apps kifejezést, majd válassza az Tweet gombot.

    Ezt a rendszer helyileg tárolja a tweetet a LocalTweetsToPost gyűjteményben.

  4. Csatlakoztassa vissza az eszközt az internetre az eszköz repülőgép-módjának letiltásával és a Wi-Fi engedélyezésével.

    Az alkalmazás öt percen belül elküldi a tweetet, amely megjelenik a katalógusban.

Reméljük, hogy ez a cikk segít megérteni, milyen lehetőségeket biztosít a Power Apps kapcsolat nélküli módban is működő alkalmazások készítéséhez. Mint mindig, most is arra kérjük, jelezzen vissza fórumunkon keresztül, és ossza meg kapcsolat nélküli alkalmazásokkal kapcsolatos tapasztalatait, példáit a Power Apps közösségi blogon.

Megjegyzés

Megosztja velünk a dokumentációja nyelvi preferenciáit? Rövid felmérés elvégzése. (ne feledje, hogy ez a felmérés angol nyelvű)

A felmérés elvégzése körülbelül hét percet vesz igénybe. Semmilyen személyes adatot nem gyűjtünk (adatvédelmi nyilatkozat).