Power Apps 'teki SaveData ve LoadData işlevleriSaveData and LoadData functions in Power Apps

Bir koleksiyonu yerel cihazdan kaydeder ve yeniden yükler.Saves and reloads a collection from a local device.

AçıklamaDescription

SaveData işlevi bir koleksiyonu daha sonra kullanılmak üzere, belirtilen adla kaydeder.The SaveData function stores a collection for later use under a name.

LoadData işlevi, daha önce SaveDataile kaydedilen bir koleksiyonu ada göre yeniden yükler.The LoadData function reloads a collection by name that was previously saved with SaveData. Bu işlevi başka bir kaynaktan koleksiyon yüklemek için kullanamazsınız.You can't use this function to load a collection from another source.

Uygulama başlangıç performansını geliştirmek için şu işlevleri kullanın:Use these functions to improve app-startup performance by:

  • İlk çalıştırmada app. OnStart formülünde verileri önbelleğe alma.Caching data in the App.OnStart formula on a first run.
  • Sonraki çalışmalarındaki yerel önbellek yeniden yükleniyor.Reloading the local cache on next runs.

Uygulamanıza basit çevrimdışı yetenekler eklemek için de bu işlevleri kullanabilirsiniz.You can also use these functions to add simple offline capabilities to your app.

Şu durumlarda bir tarayıcı içinde bu işlevleri kullanamazsınız:You can't use these functions inside a browser when:

  • Uygulamayı Power Apps Studio 'da yazma.Authoring the app in Power Apps Studio.
  • Web Player 'da uygulamayı çalıştırma.Running the app in the web player.

Uygulamanızı test etmek için bir iPhone veya Android cihazında Power Apps Mobile 'da çalıştırın.To test your app, run it in Power Apps Mobile on an iPhone or Android device.

Bu işlevler, bellek içi bir koleksiyonda çalıştıkları için kullanılabilir uygulama belleği miktarı ile sınırlıdır.These functions are limited by the amount of available app memory as they operate on an in-memory collection. Kullanılabilir bellek, şu etkenlere bağlı olarak değişebilir:Available memory can vary depending on factors such as:

  • Cihaz ve işletim sistemi.The device and operating system.
  • Power Apps Player 'ın kullandığı bellek.The memory that the Power Apps player uses.
  • Ekranlar ve denetimlerle uygulamanın karmaşıklığı.Complexity of the app with screens and controls.

Uygulamanızı, büyük verileri depolarken uygulamanın çalıştırmasını beklediğiniz cihaz türleri üzerinde beklenen senaryolar ile test edin.Test your app with expected scenarios on the type of devices you expect the app to run when storing large data. 30 MB ve 70 MB kullanılabilir bellek arasında genel olarak bir arada olması beklenir.Expect to have between 30 MB and 70 MB of available memory generally.

Bu işlevler, Collect veya clearcollect ile örtük olarak tanımlanmakta olan koleksiyona bağımlıdır.These functions depend on the collection being implicitly defined with Collect or ClearCollect. Toplama veya Clearcollect ' i, tanımlanması için koleksiyona veri yüklemek üzere çağırmanız gerekmez .You don't need to call Collect or ClearCollect to load data into the collection for defining it. Bu, önceki bir SaveData'Dan sonra LoadData kullanırken yaygın bir durumdur.It's a common case when using LoadData after a previous SaveData. Bu işlevlerin tümü, koleksiyon yapısını örtük olarak tanımlamak için bir formülde bu işlevlerin varlığına sahip olur.All that is needed is the presence of these functions in a formula to implicitly define the structure of the collection. Daha fazla bilgi için bkz. değişkenleri oluşturma ve kaldırma.For more information, see creating and removing variables.

Yüklenen veriler koleksiyona eklenir.The loaded data will be appended to the collection. Boş bir koleksiyonla başlamak istiyorsanız, LoadData çağrılmadan önce clear işlevini kullanın.Use the Clear function before calling LoadData if you want to start with an empty collection.

Cihazın yerleşik uygulama korumalı alanı olanakları, kaydedilen verileri diğer uygulamalardan yalıtmak için kullanılır.The device's built in app sandbox facilities are used to isolate saved data from other apps.

Cihaz verileri de şifreleyebilir; ya da Microsoft Intunegibi bir mobil cihaz yönetim aracı kullanabilirsiniz.The device may also encrypt the data; or you can use a mobile device management tool such as Microsoft Intune.

SözdizimiSyntax

SaveData( Koleksiyon; Ad )SaveData( Collection; Name )
LoadData( Koleksiyon; Ad [; MevcutOlmayanDosyayıYoksay ])LoadData( Collection; Name [; IgnoreNonexistentFile ])

  • Koleksiyon: Gerekli.Collection - Required. Depolanacak veya yüklenecek koleksiyon.Collection to be stored or loaded.
  • Ad: Gerekli.Name - Required. Depolama alanının adı.Name of the storage. Aynı veri kümesini kaydetmek ve yüklemek için adın aynı olması gerekir.The name must be same to save and load same set of data. Ad alanı diğer uygulamalar veya kullanıcılarla paylaşılmaz.The name space isn't shared with other apps or users.
  • MevcutOlmayanDosyayıYoksay: İsteğe bağlı.IgnoreNonexistentFile - Optional. Dosya henüz yoksa ne yapılacağını gösteren bir Boole değeri.A Boolean value indicating what to do if the file doesn't already exist. Hata döndürmek için false (varsayılan) değerini kullanın ve hatayı bastırmak için true değerini kullanın.Use false (default) to return an error and true to suppress the error.

ÖrneklerExamples

FormulaFormula AçıklamaDescription SonuçResult
SaveData (LocalCache, "MyCache")SaveData( LocalCache; "MyCache" ) LocalCache koleksiyonunu, daha sonra alınması Için LoadData Için uygun olan "myCache" adlı kullanıcının cihazına kaydedin.Save the LocalCache collection to the user's device under the name "MyCache", suitable for LoadData to retrieve later. Veriler yerel cihaza kaydedilir.Data is saved to the local device.
LoadData (LocalCache, "MyCache")LoadData( LocalCache; "MyCache" ) Kullanıcının cihazından, daha önce bir SaveDataçağrısıyla saklanan "myCache" adlı Kullanıcı aygıtından localCache koleksiyonunu yükler.Loads the LocalCache collection from the user's device under the name "MyCache", previously stored with a call to SaveData. Veriler yerel cihazdan yüklenir.Data is loaded from the local device.

Basit çevrimdışı örnekSimple offline example

Aşağıdaki basit örnek, çevrimdışıyken gündelik öğelerin adlarını ve resimlerini yakalar ve depolar.Following simple example captures and stores the names and pictures of everyday items while offline. Bilgileri, daha sonra kullanılmak üzere cihazın yerel depolama alanında depolar.It stores the information in the device's local storage for later use. Bu, uygulamanın kapatılmasını veya cihazın veri kaybı olmadan yeniden başlatılmasını sağlar.This allows the app to be closed or the device to restart without losing data.

Bir Web tarayıcısından sonra çalışmayan LoadData ve SaveData işlevlerini kullandığından, bu örnekte çalışmak için bir cihazınız olması gerekir.You must have a device to work through this example as it uses the LoadData and SaveData functions that don't operate when in a web browser.

  1. Tablet düzenine sahip boş bir tuval uygulaması oluşturun.Create a blank canvas app with a tablet layout. Daha fazla ayrıntı için, şablondan uygulama oluşturmayı okuyun ve boş uygulamaaltında Tablet düzeni ' ni seçin.For more details, read creating an app from a template and select Tablet layout under Blank app.

  2. Metin girişi denetimi ve Kamera denetimi ekleyin ve bunları kabaca gösterildiği gibi düzenleyin:Add a Text input control and a Camera control and arrange them roughly as shown:

    boş bir ekrana eklenen metin girişi ve kamera denetimi A text input and camera control added to a blank screen

  3. Düğme denetimi ekleyin.Add a Button control.

  4. Düğme metnini öğe eklemek (veya metin özelliğini değiştirmek) için değiştirmek üzere düğme denetimini çift tıklayın.Double-click the button control to change the button text to Add Item (or modify the Text property).

  5. Düğme denetiminin OnSelect özelliğini koleksiyonumuza bir öğe ekleyecek olan bu formüle ayarlayın:Set the OnSelect property of the button control to this formula that will add an item to our collection:

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

    "Add Item" ve OnSelect özelliği ayarlanmış metin ile eklenen bir düğme denetimi A button control added with the text "Add Item" and the OnSelect property set

  6. Başka bir düğme denetimi ekleyin.Add another Button control.

  7. Düğme metnini veri kaydetmek (veya metin özelliğini değiştirmek) için değiştirmek üzere düğme denetimini çift tıklayın.Double-click the button control to change the button text to Save Data (or modify the Text property).

  8. Koleksiyonumuzu yerel cihaza kaydetmek için düğme denetiminin OnSelect özelliğini şu formül olarak ayarlayın:Set the OnSelect property of the button control to this formula in order to save our collection to the local device:

    SaveData( MyItems; "LocalSavedItems" )
    

    "verileri kaydet" ve OnSelect özelliği ayarlanmış metin ile eklenen bir düğme denetimi A button control added with the text "Save Data" and the OnSelect property set

    Düğmeyi hiçbir şeyi etkilemediğinden test etmek önemlidir.It's tempting to test the button as it doesn't affect anything. Ancak bir Web tarayıcısında yazarken yalnızca bir hata görürsünüz.But you'll only see an error as you're authoring in a web browser. Bu formülü test etmek için sonraki adımları izlemeden önce uygulamayı önce kaydedin ve bir cihazda açın:Save the app first and open on a device before you follow the next steps to test this formula:

  9. Üçüncü bir düğme denetimi ekleyin.Add a third Button control.

  10. Düğme metnini veri yükle (veya metin özelliğini değiştir) olarak değiştirmek için düğme denetimini çift tıklayın.Double-click the button control to change the button text to Load Data (or modify the Text property).

  11. Koleksiyonumuzu yerel cihazdan yüklemek için düğme denetiminin OnSelect özelliğini şu formül olarak ayarlayın:Set the OnSelect property of the button control to this formula in order to load our collection from the local device:

    LoadData( MyItems; "LocalSavedItems" )
    

    "Load Data" ve OnSelect özelliği ayarlanmış metin ile eklenen bir düğme denetimi A button control added with the text "Load Data" and the OnSelect property set

  12. Bir resim ve metin alanı içeren dikey düzene sahip bir Galeri denetimi ekleyin:Add a Gallery control with a Vertical layout that includes a picture and text areas:

    Gallery, görüntü ve metin alanlarıyla seçili olan "dikey" seçenekGallery variety selection, "Vertical" selected with image and text areas

  13. İstendiğinde, bu Galeri için veri kaynağı olarak MyItems koleksiyonunu seçin.When prompted, select the MyItems collection as the data source for this gallery. Bu, Galeri denetiminin Items özelliğini ayarlar:This will set the Items property of the Gallery control:

    Galeri şablonundaki görüntü denetimi](media/function-savedata-loaddata/simple-gallery-collection.png) veri kaynağı seçiminin ![Galeri şablonu varsayılan olarak bu nesnenin Image özelliğini Thisıtem . Text olarak adlandırın.Gallery selection of data source The image control in the gallery template should default its Image property to ThisItem.Picture and the label controls should both default their Text properties to ThisItem.Item. Aşağıdaki adımlarda öğeler eklendikten sonra bu formülleri denetleyin galeride hiçbir şey görmezsiniz.Check these formulas if after adding items in the following steps you don't see anything in the gallery.

  14. Denetimi diğer denetimlerin sağına Yerleştir:Position the control to the right of the other controls:

    Galeri ekranın sağına yeniden konumlandırılabilirGallery repositioned to the right of the screen

  15. Uygulamanızı kaydedin.Save your app. İlk kez kaydedilmişse, yayınlaması gerekmez demektir.If it's the first time it has been saved, there's no need to publish it. İlk kez yoksa, kaydettikten sonra uygulamayı yayımlayın.If it's not the first time, publish the app after you save.

  16. Uygulamanızı telefon veya tablet gibi bir cihazda açın.Open your app on a device such as a phone or tablet. SaveData ve LoadData , Studio 'da veya bir Web tarayıcısında kullanılamaz.SaveData and LoadData can't be used in Studio or in a web browser. Uygulama listenizi yenileme uygulamanızı hemen görmüyorsanız, uygulamanın cihazınızda görünmesi birkaç saniye sürebilir.Refresh your app list if you don't see your app immediately, it can take a few seconds for the app to appear on your device. Oturumunuzu kapatmak ve hesabınıza geri dönmek da yardımcı olabilir.Signing out and back in to your account can help too.

    Uygulama yüklendikten sonra](media/function-savedata-loaddata/simple-mobile.png) hiçbir öğe eklenmemiş ![uygulama, ağ bağlantısını kesebilir ve uygulamayı çevrimdışı çalıştırabilirsiniz.App running with no items added Once your app has been downloaded, you can disconnect from the network and run the app offline.

  17. Adı girin ve öğenin bir resmini alın.Enter the name and take a picture of an item.

  18. Öğe Ekle düğmesini seçin.Select the Add Item button. Koleksiyonunuzu yüklemek için birkaç kez öğe eklemeyi tekrarlayın.Repeat adding items a couple of times to load up your collection.

    , eklenen üç öğeyle çalışan uygulamaApp running with three items added

  19. Veri kaydet düğmesini seçin.Select the Save Data button. Bu işlem, koleksiyonunuzdaki verileri yerel cihazınıza kaydeder.This will save the data in your collection to your local device.

  20. Uygulamayı kapatın.Close the app. Tüm öğe adları ve resimleri dahil olmak üzere bellekteki koleksiyonunuz kaybedilir, ancak cihaz depolamada hala orada olmaya devam eder.Your collection in memory will be lost including all item names and pictures, but they'll still be there in the device's storage.

  21. Uygulamayı yeniden başlatın.Launch the app again. Bellekteki koleksiyon, galeride boş olarak görünür.The collection in memory will again show as empty in the gallery.

    , hiçbir öğe eklenmemiş bir uygulama yeniden çalışıyorApp again running with no items added

  22. Veri yükle düğmesini seçin.Select the Load Data button. Koleksiyon, cihazınızdaki depolanan verilerden yeniden doldurulacak ve öğeleriniz galeriye geri alınacaktır.The collection will be repopulated from the stored data on your device and your items will be back in the gallery. Bu düğme LoadData işlevini çağırmadan önce koleksiyon boştu; verileri depodan yüklemeden önce Collect veya clearcollect çağrısı yapmanız gerekmez.The collection was empty before this button calls the LoadData function; there was no need to call Collect or ClearCollect before loading the data from storage.

    LoadData işlevi çağrıldıktan sonra geri yüklenen üç öğe ile çalışan uygulamaApp running with three items restored after calling the LoadData function

  23. Veri yükle düğmesini yeniden seçin.Select the Load Data button again. Depolanan veriler koleksiyonun sonuna eklenir ve galeride bir kaydırma çubuğu görüntülenir.The stored data will be appended to the end of the collection and a scroll bar will appear on the gallery. Append yerine değiştirmek istiyorsanız, LoadData işlevini çağırmadan önce koleksiyonu temizlemek Için önce clear işlevini kullanın.If you would like to replace rather than append, use the Clear function first to clear out the collection before calling the LoadData function.

    LoadData işlevi iki kez çağrıldıktan sonra geri yüklenen altı öğe ile çalışan uygulamaApp running with six items restored after calling the LoadData function twice

Daha gelişmiş çevrimdışı örnekMore advanced offline example

Ayrıntılı bir örnek için bkz. basit çevrimdışı yeteneklerhakkında makalesi.For a detailed example, see the article on simple offline capabilities.