Bagikan melalui


Fungsi SaveData, LoadData, dan ClearData

Berlaku untuk: Aplikasi kanvas

Menyimpan dan memuat ulang koleksi dari penyimpanan host aplikasi.

Catatan

Fungsi ini sekarang dapat digunakan saat memutar aplikasi di browser web sebagai fitur percobaan. Fitur ini dinonaktifkan secara default. Untuk mengaktifkan, navigasikan ke Pengaturan>Fitur mendatang>Eksperimental>SaveData, LoadData, ClearData yang diaktifkan di pemutar web." dan aktifkan. Untuk mengirimkan tanggapan tentang fitur percobaan ini, buka forum komunitas Power Apps.

KETERANGAN

Fungsi SaveData menyimpan koleksi untuk digunakan nanti berdasarkan nama.

Fungsi LoadData memuat ulang koleksi berdasarkan nama yang sebelumnya disimpan dengan SaveData. Anda tidak dapat menggunakan fungsi ini untuk memuat koleksi dari sumber lain.

Fungsi ClearData akan mengosongkan penyimpanan dengan nama tertentu atau menghapus semua penyimpanan yang terkait dengan aplikasi jika tidak ada nama yang diberikan.

Catatan

  • Nama yang dibagikan antara SaveData, LoadData, dan ClearData adalah kunci, bukan nama file. Tidak perlu rumit karena nama unik untuk setiap aplikasi dan tidak ada bahaya konflik nama. Nama tidak boleh berisi karakter ini: *".?:\<>|/.
  • SaveData terbatas pada 1 MB data untuk Power Apps yang dijalankan di Teams dan di browser web. Tidak ada batas tetap untuk Power Apps yang berjalan di pemutar seluler, namun ada batasan praktis yang dibahas di bawah ini.
  • Jangan gunakan SaveData untuk menyimpan data sensitif di web karena akan disimpan dalam teks biasa.

Gunakan fungsi ini untuk meningkatkan performa pengaktifan aplikasi dengan:

  • Meng-caching data dalam rumus App.OnStart pada penggunaan pertama.
  • Memuat ulang cache lokal pada penggunaan berikutnya.

Anda juga dapat menggunakan fungsi ini untuk menambahkan kemampuan offline sederhana ke aplikasi Anda.

Anda tidak dapat menggunakan fungsi ini di dalam browser bila:

  • Menulis aplikasi di Power Apps Studio.

Untuk menguji aplikasi Anda, jalankan di Power Apps Seluler pada iPhone atau perangkat Android.

Fungsi ini dibatasi oleh jumlah memori aplikasi yang tersedia karena beroperasi pada koleksi di memori. Memori yang tersedia dapat bervariasi tergantung pada faktor seperti:

  • Perangkat dan sistem operasi.
  • Memori yang digunakan pemutar Power Apps.
  • Kompleksitas aplikasi dengan layar dan kontrol.

Uji aplikasi Anda dengan skenario yang diharapkan pada jenis perangkat yang Anda harap akan menjalankan aplikasi saat menyimpan data besar. Sebaiknya miliki antara 30 MB dan 70 MB memori yang tersedia secara umum.

Fungsi ini tergantung pada koleksi yang secara implisit ditentukan dengan Collect atau ClearCollect. Anda tidak perlu memanggil Collect atau ClearCollect untuk memuat data ke dalam koleksi untuk mendefinisikannya. Ini adalah kasus umum saat menggunakan LoadData setelah SaveData sebelumnya. Semua yang diperlukan adalah kehadiran fungsi ini dalam rumus untuk secara implisit menentukan struktur dari koleksi. Untuk informasi lebih lanjut, lihat membuat dan menghilangkan variabel.

Data yang dimuat akan ditambahkan ke koleksinya. Gunakan fungsi Clear sebelum memanggil LoadData jika Anda ingin memulai dengan koleksi kosong.

Keamanan data

Pertimbangkan dengan cermat isolasi dan enkripsi data yang disimpan dengan SaveData dan putuskan apakah data tersebut sesuai dengan kebutuhan Anda, terutama jika perangkat dibagikan oleh beberapa pengguna.

Data yang disimpan dengan SaveData diisolasi dari yang lain Power Apps oleh Power Apps para pemain. Data disimpan berdasarkan ID Aplikasi aplikasi, secara otomatis mengisolasi ruang nama SaveData di antaranya Power Apps.

Sistem operasi dan browser bertanggung jawab untuk mengisolasi data antara Power Apps dan aplikasi lain di perangkat dan dengan situs web. Misalnya, sistem operasi bertanggung jawab untuk mengisolasi data yang disimpan dari Microsoft Outlook data yang disimpan di, Power Apps dan juga mengisolasi data tersebut dari situs web seperti Bing.com atau PowerApps .com. Fasilitas sandbox aplikasi bawaan sistem operasi digunakan untuk penyimpanan SaveData yang biasanya tidak dapat diakses atau disembunyikan dari pengguna.

Saat menggunakan aplikasi yang sama, sistem operasi dan browser juga bertanggung jawab untuk mengisolasi data antara pengguna tingkat sistem operasi yang berbeda. Misalnya, jika dua pengguna yang berbeda berbagi komputer dan menggunakan dua kredensial login Windows yang berbeda, sistem operasi bertanggung jawab untuk mengisolasi data antara dua pengguna Windows.

Data mungkin atau mungkin tidak diisolasi antara pengguna yang berbeda Power Apps jika pengguna sistem operasi sama. Tidak semua Power Apps pemain memperlakukan ini dengan cara yang sama. Misalnya, saat masuk sebagai pengguna Windows yang sama, di Power Apps pemutar, pengguna keluar dan Power Apps masuk sebagai pengguna yang berbeda Power Apps . Data yang disimpan di aplikasi sebelum perubahan Power Apps pengguna, dapat diakses oleh pengguna kedua Power Apps dalam aplikasi yang sama. Data juga dapat dihapus dan pengguna pertama Power Apps mungkin tidak dapat lagi mengaksesnya. Perilaku bervariasi antar Power Apps pemain.

Sistem operasi juga dapat mengenkripsi data atau Anda dapat menggunakan alat manajemen perangkat seluler seperti Microsoft Intune. Data yang tersimpan saat memutar aplikasi di browser web tidak dienkripsi.

Sintaks

SaveData(Koleksi, Nama )
LoadData(Koleksi,Nama [, IgnoreNonexistentFile ])

  • Koleksi - Wajib. Koleksi yang akan disimpan atau dimuat.
  • Nama - Wajib. Nama penyimpanan. Nama harus sama untuk menyimpan dan memuat himpunan data yang sama. Ruang nama tidak dibagikan dengan aplikasi lain. Nama tidak boleh berisi karakter ini: *".?:\<>|/.
  • ignoreNonexistentFile - Opsional. Nilai Boolean yang menunjukkan tindakan yang harus dilakukan jika file belum ada. Gunakan false (default) untuk menghasilkan kesalahan dan true untuk menekan kesalahan.

ClearData( [Nama] )

  • Name - Opsional. Nama penyimpanan yang sebelumnya disimpan dengan SaveData. Jika Nama tidak diberikan, semua penyimpanan yang terkait dengan aplikasi akan dihapus.

Contoh

Rumus KETERANGAN Hasil
SaveData( LocalCache, "CacheSaya") Simpan koleksi LocalCache ke perangkat pengguna dengan nama "MyCache", cocok untuk LoadData untuk diambil nanti. Data disimpan ke host aplikasi dengan nama "MyCache".
LoadData( LocalCache, "Cache" ) Memuat koleksi LocalCache dari perangkat pengguna dengan nama "MyCache", yang sebelumnya disimpan dengan panggilan ke SaveData. Data dimuat dari host aplikasi dengan nama "MyCache".
ClearData( "Cache Saya" ) Mengosongkan penyimpanan dengan nama "My Cache". Data apa pun yang tersimpan dengan nama ini tidak akan lagi tersedia melalui LoadData. Data dihapus dari host aplikasi dengan nama "MyCache".
ClearData() Mengosongkan semua penyimpanan yang terkait dengan aplikasi ini. Data yang disimpan oleh aplikasi lain tidak terpengaruh. Semua data akan dihapus dari host aplikasi.

Contoh offline sederhana

Contoh sederhana berikut mengambil dan menyimpan nama dan gambar item sehari-hari saat offline. Ini menyimpan informasi dalam penyimpanan lokal perangkat untuk digunakan nanti. Hal ini memungkinkan aplikasi ditutup atau perangkat dihidupkan ulang tanpa kehilangan data.

Catatan

Contoh ini menggunakan kontrol kamera untuk mengambil gambar. Karena SaveData terbatas pada 1 MB data saat dijalankan di Teams atau browser web, contoh ini tidak akan berfungsi dengan lebih dari beberapa gambar. Selain itu, tergantung pada kamera, kamera mungkin tidak berfungsi dengan satu gambar pun. Gunakan perangkat untuk mengerjakan contoh lengkap ini atau hilangkan kontrol kamera dan bagian gambar dari contoh ini untuk dijalankan di Teams atau di browser web.

  1. Buat aplikasi kanvas kosong dengan tata letak tablet. Untuk detail lebih lanjut, baca membuat aplikasi dari template dan pilih Tata letak tablet di Aplikasi kosong.

  2. Tambahkan kontrol Input teks dan kontrol Kamera dan atur kira-kira seperti yang ditunjukkan:

    Input teks dan kontrol kamera ditambahkan ke layar kosong.

  3. Tambahkan kontrol Tombol.

  4. Klik dua kali tombol kontrol untuk mengubah teks tombol menjadi Tambahkan item (atau modifikasi properti Teks).

  5. Atur properti OnSelect tombol kontrol ke rumus ini yang akan menambahkan item ke koleksi kita:

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

    Kontrol tombol ditambahkan dengan teks

  6. Tambahkan kontrol Tombol lain.

  7. Klik dua kali tombol kontrol untuk mengubah teks tombol menjadi Simpan Data (atau modifikasi properti Teks).

  8. Atur properti OnSelect tombol kontrol ke rumus ini untuk menyimpan koleksi kita ke perangkat lokal:

    SaveData( MyItems, "LocalSavedItems" )
    

    Kontrol tombol ditambahkan dengan teks

    Sangat membuat penasaran untuk menguji tombol karena tidak mempengaruhi apa pun. Namun Anda hanya akan melihat kesalahan karena Anda yang menulis dalam browser web. Simpan aplikasi terlebih dulu dan buka di perangkat sebelum Anda mengikuti langkah berikutnya untuk menguji rumus ini:

  9. Tambahkan kontrol Tombol ketiga.

  10. Klik dua kali tombol kontrol untuk mengubah teks tombol menjadi Muat Data (atau modifikasi properti Teks).

  11. Atur properti OnSelect tombol kontrol ke rumus ini untuk memuat koleksi kita dari perangkat lokal:

    LoadData( MyItems, "LocalSavedItems" )
    

    Kontrol tombol ditambahkan dengan teks

  12. Tambahkan kontrol Galeri dengan tata letak Vertikal yang mencakup area gambar dan teks:

    Pilihan variasi galeri,

  13. Bila diminta, pilih koleksi MyItems sebagai sumber data untuk galeri ini. Ini akan mengatur properti Item dari kontrol Galeri:

    Pilihan galeri sumber data.Kontrol gambar dalam templat galeri harus default properti Image ke ThisItem.Picture dan kontrol label harus default properti Teks mereka ke ThisItem.Item. Periksa rumus ini jika setelah menambahkan item dalam langkah berikut, Anda tidak melihat apa pun di galeri.

  14. Posisikan kontrol ke kanan kontrol lain.

    Galeri diposisikan ulang di sebelah kanan layar.

  15. Simpan aplikasi Anda. Jika pertama kali disimpan, tidak perlu memublikasikannya. Jika bukan pertama kalinya, publikasikan aplikasi setelah disimpan.

  16. Buka aplikasi Anda di perangkat seperti ponsel atau tablet. SaveData dan LoadData tidak dapat digunakan di Studio atau di browser web. Refresh daftar aplikasi jika Anda tidak segera melihat aplikasi, akan diperlukan beberapa detik agar aplikasi ditampilkan di perangkat. Keluar dan masuk kembali ke akun juga dapat membantu.

    Aplikasi berjalan tanpa item yang ditambahkan.Setelah aplikasi Anda diunduh, Anda dapat memutuskan sambungan dari jaringan dan menjalankan aplikasi secara offline.

  17. Masukkan nama dan ambil gambar item.

  18. Klik tombol Tambahkan Item. Ulangi menambahkan item beberapa kali untuk memuat koleksi.

    Aplikasi berjalan dengan tiga item ditambahkan.

  19. Pilih tombol Simpan Data. Ini akan menyimpan data dalam koleksi Anda ke perangkat lokal Anda.

  20. Tutup aplikasi. Koleksi Anda di memori akan hilang termasuk semua nama item dan gambar, namun tetap ada di penyimpanan perangkat.

  21. Jalankan aplikasi lagi. Koleksi di memori akan kembali ditampilkan sebagai kosong di galeri.

    Aplikasi kembali berjalan tanpa item yang ditambahkan.

  22. Pilih tombol Muat Data. Koleksi akan diisi ulang dari data yang tersimpan di perangkat dan item Anda akan kembali di galeri. Koleksinya kosong sebelum tombol ini memanggil fungsi LoadData; tidak perlu memanggil Collect atau ClearCollect sebelum memuat data dari penyimpanan.

    Aplikasi berjalan dengan tiga item dipulihkan setelah memanggil fungsi LoadData.

  23. Pilih tombol Muat Data lagi. Data yang tersimpan akan ditambahkan ke akhir koleksi dan bilah gulir akan muncul di galeri. Jika Anda ingin mengganti daripada menambahkan, gunakan fungsi Clear terlebih dulu untuk membersihkan koleksi sebelum memanggil fungsi LoadData.

    Aplikasi berjalan dengan enam item dipulihkan setelah memanggil fungsi LoadData dua kali.

Contoh offline tingkat lebih lanjut

Untuk contoh mendetail, lihat artikel tentang kemampuan offline sederhana.