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 Power Apps mobilalkalmazást, és futtassa offline módban az alkalmazásokat.
  • A Kapcsolat jelobjektumot használva meghatározhatja, mikor működik az alkalmazás kapcsolat nélkül, kapcsolódva vagy mért kapcsolatban.
  • Használjon gyűjteményeket, és használja ki a LoadData és SaveData függvények által nyújtott lehetőségeket az adatok alapszintű, offline munkához történő tárolásához.

Megjegyzés

  • Az offline funkció mostantól be van építve az alkalmazások offline első élményének előzetes verziójába Microsoft Dataverse. További információ: Mobile offline beállítása vászonalapú alkalmazásokhoz (előzetes verzió), Vászonalapú alkalmazások offline használata (előzetes verzió) ...
  • A vászonalapú alkalmazások offline képessége csak akkor érhető el, Power Apps ha az alkalmazásokat a natív mobillejátszókkal iOS futtatja a Windows rendszeren Android.
  • 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

Ez a cikk egy példát tartalmaz Twitter-adatok használatával. 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ó.

Ebben a videóban megtekintheti, hogyan hozhat offline is használható vászonalapú alkalmazásokat:

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).