Aracılığıyla paylaş


SaveData, LoadDatave ClearData işlevleri

Şunun için geçerlidir: Tuval uygulamaları

Uygulama ana bilgisayarının depolama alanından bir koleksiyonu kaydeder ve yeniden yükler.

Açıklama

İşlev, SaveData daha sonra kullanmak üzere bir koleksiyonu bir ad altında depolar.

işlevi, LoadData daha önce ile SaveDatakaydedilmiş olan bir koleksiyonu ada göre yeniden yükler. Bu işlevi, başka bir kaynaktan koleksiyon yüklemek için kullanamazsınız.

İşlev, ClearData belirli bir ad altındaki depolama alanını temizler veya ad sağlanmazsa uygulamayla ilişkili tüm depolama alanını temizler.

Not

  • , LoadDatave ClearData arasında SaveDatapaylaşılan ad, dosya adı değil anahtardır. Adlar, her uygulama için benzersiz olduğundan ve ad çakışması tehlikesi bulunmadığından karmaşık olması gerekmez. Ad, şu karakterlerden hiçbirini içermemelidir: *".?:\<>|/.
  • SaveData , Teams'de ve bir web tarayıcısında çalışan Power Apps için 1 MB veri ile sınırlıdır. Bir mobil oynatıcıda çalışan Power Apps için sabit bir sınır yoktur ancak aşağıda açıklanan pratik sınırlandırmalar bulunur.
  • Hassas verileri düz metin olarak depolanacağı için web'de depolamak için kullanmayın SaveData .

Uygulama başlatma performansını aşağıdaki yollarla iyileştirmek için bu işlevleri kullanın:

  • İlk çalıştırmada App.OnStart formülündeki verileri önbelleğe alarak.
  • Sonraki çalıştırmalarda, yerel önbelleği yeniden yükleyerek.

Bu işlevleri, uygulamanıza basit çevrimdışı özellikler eklemek için de kullanabilirsiniz.

Aşağıdaki durumlarda, bu işlevleri tarayıcıda kullanamazsınız:

  • Uygulamayı Power Apps Studio uygulamasında yazma.

Uygulamanızı, test etmek için bir iPhone veya Android cihazındaki Power Apps Mobile'da çalıştırın.

Bu işlevler, bellek içi koleksiyonda çalıştıklarından kullanılabilir uygulama belleği miktarıyla sınırlıdır. Kullanılabilir bellek, aşağıdaki gibi faktörlere göre değişebilir:

  • Cihaz ve işletim sistemi.
  • Power Apps oynatıcısının kullandığı bellek.
  • Uygulamanın, ekranlar ve denetimler ile olan karmaşık yapısı.

Uygulamanızı; büyük miktarda veri depolarken çalışmasını beklediğiniz cihaz türlerinde, beklenen senaryolarla test edin. Genel olarak, 30 MB ile 70 MB arasında kullanılabilir bellek olmasını bekleyin.

Bu işlevler, koleksiyonun Collect veya ClearCollect ile dolaylı olarak tanımlanmasına bağlıdır. Verileri tanımlamak için koleksiyona veri yükleyerek Collect veya ClearCollect işlevlerini çağırmanız gerekmez. Bu, önceki SaveDatabir öğesinin ardından kullanılırken LoadData sık karşılaşılan bir durum olur. Koleksiyonun yapısını dolaylı olarak tanımlamak için bu işlevlerin bir formülde bulunması yeterli olacaktır. Daha fazla bilgi edinmek için bkz. değişken oluşturma ve kaldırma.

Yüklenen veriler koleksiyona eklenir. Boş bir koleksiyonla başlamak istiyorsanız çağırmadan LoadData önce Clear işlevini kullanın.

Veri güvenliği

ile SaveData depolanan verilerin yalıtımını ve şifrelenmesini dikkatle göz önünde bulundurun ve özellikle cihazlar birden çok kullanıcı tarafından paylaşılıyorsa, bunların ihtiyaçlarınıza uygun olup olmadığını belirleyin.

ile SaveData depolanan veriler, Power Apps oynatıcıları tarafından diğer Power Apps'ten yalıtılır. Veriler uygulamanın Uygulama Kimliği temelinde depolanır ve Power Apps arasındaki ad alanı otomatik olarak yalıtılır SaveData .

İşletim sistemi ve tarayıcı, verileri Power Apps ile bir cihazdaki diğer uygulamalar ve web siteleri arasında yalıtmaktan sorumludur. Örneğin, Microsoft Outlook'ta depolanan verileri Power Apps'te depolanan verilerden ve bu verileri Bing.com veya PowerApps.com gibi web sitelerinden yalıtmak da işletim sisteminin sorumluluğundadır. İşletim sisteminin yerleşik uygulama korumalı alanı özellikleri genellikle kullanıcı tarafından erişilebilen veya kullanıcıdan gizlenmeyen depolama için SaveData kullanılır.

Aynı uygulama kullanılırken işletim sistemi ve tarayıcı, farklı işletim sistemi düzeyindeki kullanıcılar arasındaki verilerin yalıtılmasından da sorumludur. Örneğin, iki farklı kullanıcı bir bilgisayarı paylaşıyorsa ve iki farklı Windows oturum açma kimlik bilgisi kullanıyorsa işletim sistemi iki Windows kullanıcısı arasındaki verileri yalıtmaktan sorumludur.

İşletim sistemi kullanıcısı aynıysa veriler farklı Power Apps kullanıcıları arasında yalıtabilir ya da yalıtılmayabilir. Her Power Apps yürütücüsü aynı şekilde davranmaz. Örneğin, Power Apps yürütücüsünde aynı Windows kullanıcısı olarak oturum açıldığında kullanıcı, Power Apps oturumunu kapatır ve farklı bir Power Apps kullanıcısı olarak oturum açar. Power Apps kullanıcısı değiştirilmeden önce bir uygulamada depolanan verilere aynı uygulama içindeki ikinci Power Apps kullanıcısı tarafından erişilebilir. Ayrıca veriler kaldırılabilir ve ilk Power Apps kullanıcısı artık bu verilere erişemeyebilir. Bu davranışlar Power Apps yürütücüleri arasında değişiklik gösterir.

Ayrıca işletim sistemi, verileri şifreleyebilir veya Microsoft Intune gibi bir mobil cihaz yönetim aracı kullanabilirsiniz. Web tarayıcısında bir uygulama yürütülürken depolanan veriler şifrelenmez.

Sözdizimi

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

  • Koleksiyon - Gerekli. Depolanacak veya yüklenecek koleksiyon.
  • İsim - Gerekli. Depolama alanının adı. Aynı veri kümesini kaydetmek ve yüklemek için adın aynı olması gerekir. Ad alanı diğer uygulamalarla paylaşılmaz. Adlar, şu karakterlerden hiçbirini içermemelidir: *".?:\<>|/.
  • IgnoreNonexistentFile - İsteğe bağlı. Dosya önceden yoksa ne yapılacağını gösteren bir Boole değeri. Hata döndürmek için yanlış (varsayılan) ve hatayı bastırmak için doğru kullanın.

ClearData( [Ad] )

  • Ad - İsteğe bağlı. Daha önce ile SaveDatakaydedilen depolama alanının adı. Ad sağlanmamışsa, uygulamayla ilişkilendirilmiş tüm depolama temizlenir.

Örnekler

Formül Açıklama Sonuç
SaveData( LocalCache, "MyCache" ) LocalCache koleksiyonunu daha sonra almak için LoadData uygun olan "MyCache" adı altında kullanıcının cihazına kaydedin. Veriler uygulama ana bilgisayarına "MyCache" adıyla kaydedilir.
LoadData( LocalCache, "MyCache" ) Kullanıcının cihazından LocalCache koleksiyonunu daha önce çağrısıyla SaveDatadepolanan "MyCache" adıyla yükler. Veriler uygulama ana bilgisayarından "MyCache" adıyla yüklenir.
ClearData( "MyCache" ) "MyCache" adındaki depolama alanını temizler. Bu ad altında depolanan veriler artık aracılığıyla LoadDatakullanılamaz. Veriler uygulama ana bilgisayarından "MyCache" adıyla kaldırılır.
ClearData() Bu uygulamayla ilişkilendirilmiş tüm depolama alanını temizleyin. Diğer uygulamalar tarafından depolanan veriler etkilenmez. Tüm veriler uygulama ana bilgisayarından kaldırılır.

Basit çevrimdışı örnek

Aşağıdaki basit örnek, çevrimdışıyken günlük öğelerin adlarını ve resimlerini yakalar ve saklar. Daha sonra kullanmak üzere, bilgileri cihazın yerel deposunda saklar. Bu, uygulamanın kapatılmasına veya cihazın veri kaybetmeden yeniden başlatılmasına olanak tanır.

Not

Bu örnek, görüntüleri yakalamak için bir camera denetimi kullanır. Teams'de veya web tarayıcısında çalışırken 1 MB veriyle sınırlı olduğundan SaveData , bu örnek birkaç resimden fazlasıyla çalışmaz. Ayrıca kullanılan kamera özelliklerine bağlı olarak tek bir görüntüyle bile çalışmayabilir. Bu eksiksiz örnek üzerinde çalışmak için bir cihaz kullanın veya Teams uygulamasında ya da bir web tarayıcısında çalışmak üzere bu örneğin camera denetimini ve fotoğraf bölümünü kaldırın.

  1. Tablet düzeniyle boş bir tuval uygulaması oluşturun. Daha fazla bilgi için şablondan uygulama oluşturma bölümünü okuyun ve Boş uygulama altında Tablet düzeni'ni seçin.

  2. Text input denetimi ve Camera denetimi ekleyin ve gösterildiği gibi kabaca düzenleyin:

    Boş bir ekrana text input ve camera denetimi eklendi.

  3. Button denetimi ekleyin.

  4. Düğme metnini Öğe Ekle olarak değiştirmek için button denetimine çift tıklayın (veya Text özelliğini değiştirin).

  5. Button denetiminin OnSelect özelliğini, koleksiyonumuza bir öğe ekleyecek olan bu formüle ayarlayın:

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

  6. Başka bir Button denetimi ekleyin.

  7. Düğme metnini Veri Kaydet olarak değiştirmek için button denetimine çift tıklayın (veya Text özelliğini değiştirin).

  8. Koleksiyonumuzu yerel cihaza kaydetmek için button denetiminin OnSelect özelliğini bu formüle ayarlayın:

    SaveData( MyItems, "LocalSavedItems" )
    

    Hiçbir şeyi etkilemediği için düğmeyi test etmek faydalıdır. Ancak bir web tarayıcısında yazarken yalnızca bir hata görürsünüz. Bu formülü test etmek için sonraki adımları uygulamadan önce uygulamayı kaydedin ve bir cihazda açın:

  9. Üçüncü bir Button denetimi ekleyin.

  10. Düğme metnini Veri Yükle olarak değiştirmek için button denetimine çift tıklayın (veya Text özelliğini değiştirin).

  11. Koleksiyonumuzu yerel cihazdan yüklemek için button denetiminin OnSelect özelliğini bu formüle ayarlayın:

    LoadData( MyItems, "LocalSavedItems" )
    

  12. Resim ve metin alanları içeren bir Dikey düzen ile Gallery denetimi ekleyin:

    Galeri çeşidi seçimi, görüntü ve metin alanlarıyla

  13. İstendiğinde, bu galeri için veri kaynağı olarak MyItems koleksiyonunu seçin. Bu, Gallery denetiminin Items özelliğini ayarlayacaktır:

    Veri kaynağı galeri seçimi. Galeri şablonundaki görüntü denetiminin Image özelliğini varsayılan olarak ThisItem.Picture olarak ayarlaması ve etiket denetimlerinin her ikisinin de Text özelliklerini varsayılan olarak ThisItem.Item olarak ayarlamasıgerekir. Takip eden adımlarda öğe ekledikten sonra galeri içinde herhangi bir şey görmüyorsanız bu formülleri kontrol edin.

  14. Denetimi, diğer denetimlerin sağına yerleştirin:

    Galeri, ekranın sağında yeniden konumlandırıldı.

  15. Uygulamanızı kaydedin. İlk kez kaydedildiyse yayımlamanız gerekmez. İlk kez değilse kaydettikten sonra uygulamayı yayımlayın.

  16. Uygulamanızı telefon veya tablet gibi bir cihazda açın. SaveData ve LoadData Studio'da veya web tarayıcısında kullanılamaz. Uygulamanızı hemen görmüyorsanız uygulama listenizi yenileyin, uygulamanın cihazınızda görünmesi birkaç saniye sürebilir. Hesabınızda, oturumunuzu kapatıp tekrar açmak da yardımcı olabilir.

    Öğe eklenmemiş olarak çalışan uygulama. Uygulamanız indirildikten sonra ağ bağlantısını kesebilir ve uygulamayı çevrimdışı çalıştırabilirsiniz.

  17. Ad girin ve bir öğenin fotoğrafını çekin.

  18. Öğe Ekle düğmesini seçin. Koleksiyonunuzu yüklemek için birkaç kez öğe eklemeyi yineleyin.

    Eklenen üç öğeyle çalışan uygulama.

  19. Veri Kaydet düğmesini seçin. Bu, koleksiyonunuzdaki verileri yerel cihazınıza kaydeder.

  20. Uygulamayı kapatın. Bellekteki koleksiyonunuz, tüm öğe adları ve resimler dahil olmak üzere kaybolacak ancak yine de cihazın depolama alanında yer alacaktır.

  21. Uygulamayı tekrar başlatın. Bellekteki koleksiyon, yine galeride boş olarak görünür.

    Hiçbir öğe eklenmeden uygulama yeniden çalışıyor.

  22. Veri Yükle düğmesini seçin. Koleksiyon, cihazınızda depolanan veriler ile yeniden doldurulur ve öğeleriniz tekrar galeride yer alır. Bu düğme işlevi çağırmadan LoadData önce koleksiyon boştu; verileri depolama alanından yüklemeden önce Collect veya ClearCollect çağrısı yapmanıza gerek yoktu.

    İşlev çağrıldıktan LoadData sonra geri yüklenen üç öğeyle çalışan uygulama.

  23. Veri Yükle düğmesini tekrar seçin. Depolanan veriler, koleksiyonun sonuna eklenir ve galeride bir kaydırma çubuğu görünür. Ekleme yerine değiştirmek isterseniz, işlevi çağırmadan LoadData önce koleksiyonu temizlemek için önce Clear işlevini kullanın.

    İşlevi iki kez çağırdıktan LoadData sonra geri yüklenen altı öğeyle çalışan uygulama.

Daha gelişmiş çevrimdışı örnek

Ayrıntılı bir örnek için basit çevrimdışı özellikler hakkındaki makaleye bakın.