Power Apps uygulamasındaki SaveData ve LoadData işlevleri
Yerel bir cihazdan bir koleksiyonu kaydeder ve yeniden yükler.
Açıklama
SaveData işlevi, bir koleksiyonu daha sonra kullanılmak üzere belirtilen adla kaydeder.
LoadData işlevi, daha önceden SaveData işleviyle kaydedilmiş olan bir koleksiyonu ada göre yeniden yükler. Bu işlevi, başka bir kaynaktan koleksiyon yüklemek için kullanamazsınız.
Not
SaveData ve LoadData arasında paylaşılan ad bir dosya adı değil, bir 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:
*".?:\<>|/.
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.
- Uygulamayı web oynatıcısında çalıştırma.
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 SaveData işlevinden sonra LoadData işlevi kullanılırken yaygın görülen bir durumdur. Koleksiyonun yapısını dolaylı olarak tanımlamak için bu işlevlerin bir formülde bulunması yeterli olacaktır. Daha fazla bilgi için bkz. değişken oluşturma ve kaldırma.
Yüklenen veriler koleksiyona eklenir. Boş bir koleksiyonla başlamak istiyorsanız LoadData'yı çağırmadan önce Clear işlevini kullanın.
Cihazın yerleşik uygulama korumalı alan özellikleri, kaydedilen verileri diğer uygulamalardan ayırmak için kullanılır.
Ayrıca cihaz, verileri şifreleyebilir veya Microsoft Intune gibi bir mobil cihaz yönetim aracı kullanabilirsiniz.
Sözdizimi
SaveData( Koleksiyon, Ad )
LoadData( Koleksiyon, Ad [, IgnoreNonexistentFile ])
- Koleksiyon: Gerekli. Depolanacak veya yüklenecek koleksiyon.
- Ad: 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 uygulamalar veya kullanıcılarla 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.
Örnekler
|Formül||Açıklama||Sonuç|
|SaveData( LocalCache, "MyCache" )||LocalCache koleksiyonunu, daha sonra LoadData işleviyle çağırmaya uygun olarak, "MyCache" adıyla kullanıcının cihazına kaydedin.||Veriler yerel cihaza kaydedilir.|
|LoadData( LocalCache, "MyCache" )||Daha önce kullanıcının cihazında, SaveData işlevi ile saklanan "MyCache" adlı LocalCache koleksiyonunu yükler.||Veriler yerel cihazdan yüklenir.|
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.
Bu örnek, web tarayıcısında çalışmayanLoadData ve SaveData işlevlerini kullandığı için bu örneğin üzerinde çalışabileceği bir cihazınız olmalıdır.
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.
Düğme denetimi ekleyin.
Düğme metnini Öğe Ekle olarak değiştirmek için düğme denetimine çift tıklayın (veya Metin özelliğini değiştirin).
Düğme denetiminin OnSelect özelliğini, koleksiyonumuza bir öğe ekleyecek olan bu formüle ayarlayın:
Collect( MyItems, { Item: TextInput1.Text, Picture: Camera1.Photo } )
Başka bir Düğme denetimi ekleyin.
Düğme metnini Veri Kaydet olarak değiştirmek için düğme denetimine çift tıklayın (veya Metin özelliğini değiştirin).
Koleksiyonumuzu yerel cihaza kaydetmek için düğme 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:
Üçüncü bir Düğme denetimi ekleyin.
Düğme metnini Veri Yükle olarak değiştirmek için düğme denetimine çift tıklayın (veya Metin özelliğini değiştirin).
Koleksiyonumuzu yerel cihazdan yüklemek için düğme denetiminin OnSelect özelliğini bu formüle ayarlayın:
LoadData( MyItems, "LocalSavedItems" )
Resim ve metin alanları içeren bir Dikey düzen ile Galeri denetimi ekleyin:
İstendiğinde, bu galeri için veri kaynağı olarak MyItems koleksiyonunu seçin. Bu, Galeri denetiminin Öğeler özelliğini ayarlayacaktır:
Galeri şablonundaki görüntü denetimi varsayılan olarak Görüntü özelliğini ThisItem.Picture olarak ve etiket denetimlerinin Metin özelliklerini varsayılan olarak ThisItem.Item olarak ayarlamalıdır. Takip eden adımlarda öğe ekledikten sonra galeri içinde herhangi bir şey görmüyorsanız bu formülleri kontrol edin.
Denetimi, diğer denetimlerin sağına yerleştirin:
Uygulamanızı kaydedin. İlk kez kaydedildiyse yayımlamanız gerekmez. İlk kez değilse kaydettikten sonra uygulamayı yayımlayın.
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.
Uygulamanız indirildikten sonra ağ bağlantısını kesebilir ve uygulamayı çevrimdışı çalıştırabilirsiniz.
Ad girin ve bir öğenin fotoğrafını çekin.
Öğe Ekle düğmesini seçin. Koleksiyonunuzu yüklemek için birkaç kez öğe eklemeyi yineleyin.
Veri Kaydet düğmesini seçin. Bu, koleksiyonunuzdaki verileri yerel cihazınıza kaydeder.
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.
Uygulamayı tekrar başlatın. Bellekteki koleksiyon, yine galeride boş olarak görünür.
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 LoadData işlevini çağırmadan önce koleksiyon boştu; verileri depolama alanından yüklemeden önce Collect veya ClearCollect işlevini çağırmanız gerekmez.
Veri Yükle düğmesini tekrar seçin. Depolanan veriler, koleksiyonun sonuna eklenir ve galeride bir kaydırma çubuğu görünür. Eklemek yerine değiştirmek isterseniz LoadData işlevini çağırmadan önce koleksiyonu temizlemek için önce Clear işlevini kullanın.
Daha gelişmiş çevrimdışı örnek
Ayrıntılı bir örnek için basit çevrimdışı özellikler hakkındaki makaleye bakın.