SaveData-, LoadData- ja ClearData-funktio

Soveltuu: Pohjaan perustuvat sovellukset

Tallentaa ja lataa uudelleen kokoelman sovelluksen isännän tallennustilasta.

Muistiinpano

Näitä funktioita voi nyt käyttää kokeellisena ominaisuutena, kun sovellusta toistetaan verkkoselaimessa. Tämä ominaisuus on oletusarvoisesti poistettu käytöstä. Ottaaksesi sen käyttöön, siirry kohtaan Asetukset>Tulevat ominaisuudet>Kokeellinen>Käyttöön otetut SaveData, LoadData, ClearData verkkosoittimessa." ja siirrä valitsin käytössä-tilaan. Jos haluat antaa palautetta tästä kokeellisesta ominaisuudesta, siirry Power Apps -yhteisöfoorumiin.

Kuvaus

SaveData-funktio tallentaa valikoiman nimellä myöhempää käyttöä varten.

LoadData-funktio lataa valikoiman uudelleen nimellä, joka tallennettiin aiemmin SaveData-funktiolla. Tämän funktion avulla ei voi ladata kokoelmaa toisesta lähteestä.

ClearData-funktio tyhjentää tallennustilan tietyn nimen kohdalla tai tyhjentää sovellukseen liittyvän tallennustilan, jos nimeä ei ole annettu.

Muistiinpano

  • SaveData-, LoadData- ja ClearData-funktioiden välillä jaettu nimi on avain, ei tiedostonimi. Sen ei tarvitse olla monimutkainen, koska nimet ovat yksilöllisiä kullekin sovellukselle eikä nimiristiriidan vaaraa ole. Nimessä ei saa olla seuraavia merkkejä:*".?:\<>|/.
  • SaveData on rajoitettu 1 Mt:n tietomäärään Teamsissa tai verkkoselaimessa suoritettavassa Power Appsissa. Mobiililaitteessa käytettävässä Power Appsissa ei ole kiinteää rajoitusta, mutta käytännön rajoituksia käsitellään seuraavaksi.
  • Älä tallenna luottamuksellisia tietoja verkkoon SaveData-sovelluksella, koska ne tallennetaan pelkkänä tekstinä.

Näiden toimintojen avulla voit parantaa sovelluksen käynnistymistä:

  • Tietojen tallentaminen välimuistiin App.OnStart -kaavalla ensimmäisessä käynnistyksessä.
  • Paikallinen välimuisti ladataan uudelleen seuraavien suoritusten aikana.

Näiden toimintojen avulla voit myös lisätä sovellukseen yksinkertaisia offline-ominaisuuksia.

Näitä toimintoja ei voi käyttää selaimessa seuraavissa tilanteissa:

  • Sovelluksen luominen Power Apps Studiossa.

Voit testata sovelluksesi suorittamalla sen Power Apps Mobile-sovelluksella iPhone- tai Android-laitteessa.

Näitä toimintoja rajoittaa käytettävissä oleva sovellusmuistin määrä, koska ne toimivat muistissa olevassa kokoelmassa. Käytettävissä oleva muisti voi vaihdella esimerkiksi seuraavista tekijöistä:

  • Laite ja käyttöjärjestelmä.
  • Power Apps -toistimen käyttämä muisti.
  • Sovelluksen monimutkaisuus näyttöjen ja ohjausobjektien suhteen.

Testaa sovelluksesi sellaisten laitteiden tyypin mukaan, joissa odotat sovellusta suoritettavan, kun suuria tietoja tallennetaan. Voit olettaa, että yleisesti tarvitaan 30–70 Mt saatavilla olevaa muistia.

Nämä toiminnot riippuvat siitä, että kokoelma on implisiittisesti määritetty Collect- tai ClearCollect-funktiossa. Collect- tai ClearCollect-funktiota ei tarvitse kutsua ladataksesi tietoja kokoelmnaan sen määrittämiseksi. Se on yleinen tilanne käytettäessä LoadDataa SaveDatan jälkeen. Tarvitaan vain näiden funktioiden esiintyminen kaavassa, jotta kokoelman rakenne voidaan määrittää implisiittisesti. Lisätietoja on aiheessa muuttujien luominen ja poistaminen.

Ladatut tiedot lisätään kokoelmaan. Käytä Clear-funktiota ennen LoadData-kutsua, jos haluat aloittaa tyhjästä kokoelmasta.

Tietosuoja

Harkitse SaveData-toiminnolla tallennettujen tietojen eristystä ja salausta huolella ja päätä, sopiiko se tarpeisiisi, etenkin jos useat käyttäjät jakavat laitteet.

SaveDatan avulla tallennetut tiedot ovat erillään muista Power Apps -sovelluksista Power Apps -toistimen toimesta. Tiedot tallennetaan sovelluksen sovellustunnuksen perusteella. Näin SaveData-nimitila erotetaan automaattisesti Power Apps -sovellusten välillä.

Käyttöjärjestelmä ja selain ovat vastuussa tietojen eristämisestä Power Apps -sovellusten välillä ja laitteen muiden sovellusten ja verkkosivujen välillä. Käyttöjärjestelmä esimerkiksi vastaa Microsoft Outlookiin tallennettujen tietojen eristämisestä Power Appsiin tallennetuista tiedoista ja tietojen eristämisestä verkkosivustoista, kuten Bing.com tai PowerApps.com. Käyttöjärjestelmän sisäänrakennettua sovelluksen sandbox-tilaa käytetään SaveData-tallennustilassa, jota käyttäjä ei yleensä voi käyttää tai se on piilotettu käyttäjältä.

Samaa sovellusta käytettäessä käyttöjärjestelmä ja selain vastaavat myös tietojen eristämisestä eri käyttöjärjestelmätason käyttäjien välillä. Jos esimerkiksi kahdella eri käyttäjällä on käytössään sama tietokone ja he käyttävät kahta eri Windows-kirjautumistunnusta, käyttöjärjestelmä on vastuussa tietojen eristämisestä kahden Windows-käyttäjän välillä.

Tietoja voidaan eristää tai sitten eri Power Apps -käyttäjien välillä, jos käyttöjärjestelmäkäyttäjä on sama. Kaikki Power Apps -toistimet eivät käsittele tätä samalla tavalla. Kun käyttäjä esimerkiksi kirjautuu sisään samana Windows-käyttäjänä, Power Apps -toistimessa käyttäjä kirjautuu ulos Power Appsista ja kirjautuu sisään toisena Power Apps -käyttäjänä. Sovellukseen ennen Power Apps -käyttäjän vaihdosta tallennetut tiedot voivat olla toisen Power Apps -käyttäjän käytettävissä samassa sovelluksessa. Tiedot voidaan myös poistaa eikä ensimmäinen Power Apps -käyttäjä voi enää käyttää tietoja. Toiminta vaihtelee Power Apps -toistimien välillä.

Käyttöjärjestelmä voi myös salata tiedot. Voit myös käyttää mobiililaitteiden hallintatyökalua, kuten Microsoft Intunea. Kun sovellus toistetaan verkkoselaimessa, tallennettuja tietoja ei salata.

Syntaksi

SaveData( Collection, Name )
LoadData( Collection, Name [, IgnoreNonexistentFile ])

  • Collection – Pakollinen. Tallennettava tai ladattava kokoelma.
  • Name – Pakollinen. Tallennustilan nimi. Käytä samaa nimeä saman tietojoukon tallentamiseen ja lataamiseen. Nimitilaa ei jaeta muiden sovellusten kanssa. Nimissä ei saa olla seuraavia merkkejä:*".?:\<>|/.
  • IgnoreNonexistentFile – Valinnainen. Totuusarvo, joka ilmaisee, mitä tehdä, jos tiedostoa ei ole jo olemassa. Käytä false (oletus) -arvoa, kun haluat palauttaa virheen ja tosi virheen piilottamiseksi.

ClearData( [nimi] )

  • Nimi – Valinnainen. Aiemmin SaveData-funktion avulla tallennetun tallennustilan nimi. Jos nimeä ei ole annettu, koko sovellukseen liittyvä tallennustila tyhjennetään.

Esimerkit

Kaava Kuvaus Tulos
SaveData( LocalCache, "MyCache" ) Tallenna LocalCache-kokoelma käyttäjän laitteeseen nimellä "MyCache", joka sopii LoadData-funktion myöhempää noutamista varten. Tiedot tallennetaan sovelluksen isäntään nimellä MyCache.
LoadData( LocalCache, "MyCache" ) Lataa LocalCache-kokoelman käyttäjän laitteesta nimellä "MyCache", joka on aiemmin tallennettu SaveData-kutsulla. Tiedot ladataan sovelluksen isännästä nimellä MyCache.
ClearData( "MyCache" ) Tyhjentää tallennustilan nimeltä MyCache. Tällä nimellä tallennetut tiedot eivät ole enää käytettävissä LoadData-funktion avulla. Tiedot poistetaan sovelluksen isännästä nimellä MyCache.
ClearData() Tyhjennä koko tähän sovellukseen liittyvä tallennustila. Tämä ei vaikuta muiden sovellusten tallentamaan tietoihin. Kaikki tiedot poistetaan sovelluksen isännästä.

Yksinkertainen offline-esimerkki

Seuraava yksinkertainen esimerkki sieppaa ja tallentaa jokapäiväisten kohteiden nimet ja kuvat offline-tilassa. Se tallentaa tiedot laitteen paikalliseen tallennustilaan myöhempää käyttöä varten. Tämän ansiosta sovellus voida sulkea tai laite käynnistää uudelleen menettämättä tietoja.

Muistiinpano

Tässä esimerkissä käytetään kameran ohjausobjektia kuvien sieppaamiseen. Koska SaveData on rajoitettu 1 Mt:n tietomäärään Teamsissa tai verkkoselaimessa suoritettaessa, tämä esimerkki ei toimi kuin muutaman kuvan kanssa. Se ei myöskään välttämättä toimi edes yhden kuvan kanssa, riippuen kamerasta. Käytä laitetta tämän esimerkin läpikäymiseen tai poista kameran ohjausobjekti ja tämän esimerkin kuvaosa suorittaaksesi Teamsissa tai verkkoselaimessa.

  1. Luo tyhjä kaaviosovellus, jossa on tablettiasettelu. Jos haluat lisätietoja, lue sovelluksen luominen mallista ja valitse Tablettiasettelu kohdassa Tyhjä sovellus.

  2. Lisää Text input-ohjausobjekti ja Camera-ohjausobjekti ja järjestä ne suunnilleen seuraavasti:

    Tyhjään näyttöön lisätty tekstisyöte- ja kamera-ohjausobjekti.

  3. Lisää Button-ohjausobjekti.

  4. Kaksoisnapsauttamalla painikeohjausobjektia voit muuttaa painikkeen tekstiksi Lisää kohde (tai muokkaamalla Text-ominaisuutta).

  5. Määritä painikeohjausobjektin OnSelect-ominaisuus tähän kaavaan, joka lisää kohteen kokoelmaan:

    Collect( MyItems, { Item: TextInput1.Text, Picture: Camera1.Photo } )
    

    Lisää kohde -tekstillä lisätty painikeohjausobjekti ja OnSelect-ominaisuus määritetty

  6. Lisää toinen Button-ohjausobjekti.

  7. Kaksoisnapsauttamalla painikeohjausobjektia voit muuttaa painikkeen tekstiksi tallenna tiedot (tai muokkaamalla Text-ominaisuutta).

  8. Määritä painikeohjausobjektin OnSelect-ominaisuus tähän kaavaan, jotta voit tallentaa kokoelman paikalliseen laitteeseen:

    SaveData( MyItems, "LocalSavedItems" )
    

    tallenna tiedot -tekstillä lisätty painikeohjausobjekti ja OnSelect-ominaisuus määritetty

    On houkuttelevaa testata painiketta, koska se ei vaikuta mihinkään. Näet kuitenkin vain virheen, kun muokkaat sisältöä selaimessa. Tallenna sovellus ensin ja avaa se laitteessa, ennen kuin noudatat seuraavia vaiheita, jotta voit testata kaavaa:

  9. Lisää kolmas Button-ohjausobjekti.

  10. Kaksoisnapsauttamalla painikeohjausobjektia voit muuttaa painikkeen tekstiksi Lataa tiedot (tai muokkaamalla Text-ominaisuutta).

  11. Määritä painikeohjausobjektin OnSelect-ominaisuus tähän kaavaan, jotta voit ladata kokoelman paikallisesta laitteesta:

    LoadData( MyItems, "LocalSavedItems" )
    

    Lataa tiedot -tekstillä lisätty painikeohjausobjekti ja OnSelect-ominaisuus määritetty

  12. Lisää Gallery-ohjausobjekti, jossa on pystysuuntainen asettelu ja joka sisältää kuva- ja tekstialueet:

    Valikoiman valinta,

  13. Valitse pyydettäessä MyItems-kokoelma tämän valikoiman tietolähteeksi. Tämä asettaa Gallery-ohjausobjektin Items-ominaisuudeksi tämä kaava:

    Tietolähteen valikoimakokoelma. Valikoimamallin kuvaohjausobjektejen on oletusarvon mukaan sen Image-ominaisuuden arvoksi ThisItem.Picture ja otsikko-ohjausobjekteilla on oltava Text-ominaisuuden arvona ThisItem.Item. Jos olet lisäät kohteita seuraavissa vaiheissa, tarkista nämä kaavat, jos valikoimassa ei näy mitään.

  14. Sijoita ohjausobjekti muiden ohjausobjektien oikealle puolelle.

    Galleria sijoitetaan uudelleen näytön oikealle puolelle.

  15. Tallenna sovellus. Jos se tallennetaan ensimmäisen kerran, sitä ei tarvitse julkaista. Jos se ei ole ensimmäinen kerta, julkaise sovellus tallentamisen jälkeen.

  16. Avaa sovellus laitteessa, kuten puhelimessa tai tabletissa. SaveData- tai LoadData-funktiota ei voi käyttää studiossa tai selaimessa. Päivitä sovellusluettelo, jos et näe sovellusta heti. Tämä voi kestää muutaman sekunnin, ennen kuin sovellus näkyy laitteessa. Kirjautuminen ulos ja takaisin tiliin voi auttaa myös.

    Sovellus, jossa ei ole lisätty kohteita. Kun sovellus on ladattu, voit katkaista verkkoyhteyden ja suorittaa sovelluksen offline-tilassa.

  17. Kirjoita nimi ja ota kohteen kuva.

  18. Valitse Lisää kohde -painike. Voit lisätä kokoelmaan kohteita toistamalla tämän pari kertaa.

    Sovellus, jossa on kolme kohdetta lisätty.

  19. Valitse Tallenna tiedot -painike. Tämä tallentaa tiedot kokoelmaasi paikalliseen laitteeseesi.

  20. Sulje sovellus. Muistissa oleva kokoelma menetetään, mukaan lukien kaikki kohteiden nimet ja kuvat, mutta ne ovat edelleen laitteen säilössä.

  21. Käynnistä sovellus uudelleen. Muistissa oleva kokoelma näkyy jälleen tyhjänä valikoimassa.

    Sovellus ilman kohteita jälleen.

  22. Valitse Lataa tiedot -painike. Kokoelma täytetään uudelleen laitteen tallennetuista tiedoista, ja kohteet tulevat takaisin valikoimaan. Kokoelma oli tyhjä, ennen kuin tämä painike kutsuu LoadData-funktiota. Collect- tai ClearCollect-funktiota ei tarvinnut kutsua ennen tietojen lataamista tallennustilasta.

    Sovellus, jossa on kolme kohdetta palautettu LoadData-toiminnon kutsulla.

  23. Valitse Lataa tiedot -painike uudelleen. Tallennetut tiedot lisätään kokoelman loppuun, ja valikoimassa näkyy vierityspalkki. Jos haluat korvata lisäämisen sijaan, tyhjennä kokoelma ensin Clear-funktiolla ennen LoadData-funktion kutsumista.

    Sovellus, jossa on kuusi kohdetta palautettu kahdella LoadData-toiminnon kutsulla.

Kehittyneempi offline-esimerkki

Yksityiskohtainen esimerkki on artikkelissa yksinkertaisia offline-toimintoja.