Kongsi melalui


Fungsi SaveData, LoadData dan ClearData

Digunakan untuk: Aplikasi kanvas

Menyimpan dan memuat semula koleksi daripada storan hos apl.

Nota

Fungsi ini kini boleh digunakan apabila memainkan aplikasi dalam pelayar web sebagai ciri eksperimen. Ciri ini dinyahdaya secara lalai. Untuk mendayakan, navigasi ke Tetapan>Ciri akan datang>Percubaan>SaveData, LoadData, ClearData didayakan pada pemain web." dan hidupkan suis. Untuk menyerahkan maklum balas berkenaan ciri eksperimen ini, pergi ke Forum komuniti Power Apps.

Penerangan

Fungsi SaveData menyimpan pengumpulan untuk kegunaan kemudian di bawah nama.

Fungsi LoadData memuat semula pengumpulan dengan nama yang disimpan terdahulu dengan SaveData. Anda tidak boleh menggunakan fungsi ini untuk memuat pengumpulan daripada sumber yang lain.

Fungsi ClearData mengosongkan storan di bawah nama khusus atau mengosongkan semua storan yang berkaitan dengan aplikasi jika nama tidak diberikan.

Nota

  • Nama yang dikongsi antara SaveData, LoadData dan ClearData ialah kunci, bukan nama fail. Ia tidak perlu kompleks kerana nama adalah unik untuk setiap aplikasi dan tiada bahaya bagi konflik nama. Nama mesti tidak mengandungi mana-mana karakter ini: *".?:\<>|/.
  • SaveData terhad pada 1 MB data untuk Power Apps yang berjalan dalam Teams dan dalam pelayar web. Tiada had tetap untuk Power Apps yang berjalan dalam pemain mudah alih tetapi terdapat had praktikal yang dibincangkan di bawah.
  • Jangan gunakan SaveData untuk menyimpan data sensitif dalam web kerana ia akan disimpan dalam teks biasa.

Gunakan fungsi ini untuk meningkatkan prestasi permulaan aplikasi dengan:

  • Data cache dalam formula App.OnStart pada jalanan pertama.
  • Memuat semula cache setempat pada jalanan seterusnya.

Anda juga boleh menggunakan fungsi ini untuk menambah keupayaan luar talian yang mudah ke aplikasi anda.

Anda tidak boleh menggunakan fungsi ini dalam pelayar apabila:

  • Mengarang aplikasi dalam Power Apps Studio.

Untuk menguji aplikasi anda, jalankannya dalam Power Apps Mudah Alih pada iPhone atau peranti Android.

Fungsi ini terhad dengan amaun memori aplikasi yang tersedia kerana ianya beroperasi pada pengumpulan dalam memori. Memori yang tersedia bergantung kepada faktor seperti:

  • Peranti dan sistem pengoperasian.
  • Memori yang digunakan oleh pemain Power Apps.
  • Kerumitan aplikasi dengan skrin dan kawalan.

Uji aplikasi anda dengan senario yang dijangka pada jenis peranti yang anda harapkan aplikasi untuk jalankan semasa menyimpan data yang besar. Secara umumnya dijangka mempunyai memori tersedia antara 30 MB dan 70 MB.

Fungsi ini bergantung kepada pengumpulan yang ditakrifkan secara tersirat dengan Collect atau ClearCollect. Anda tidak perlu menelefon untuk memanggil Pengumpulan atau ClearCollect bagi memuat data ke dalam pengumpulan untuk menakrifkannya. Kes yang biasa ialah menggunakan LoadData selepas SaveData terdahulu. Apa yang diperlukan adalah kehadiran fungsi ini dalam formula untuk menakrikan struktur pengumpulan secara tersirat. Untuk maklumat lanjut, lihat mencipta dan mengalih keluar pemboleh ubah.

Daya yang dimuatkan akan ditambah ke pengumpulan. Gunakan fungsi Clear sebelum memanggil LoadData jika anda mahu mula dengan pengumpulan yang kosong.

Keselamatan data

Pertimbangkan dengan teliti pengasingan dan penyulitan data yang disimpan dengan SaveData dan tentukan sama ada ia sesuai untuk keperluan anda, terutamanya jika peranti dikongsi oleh berbilang pengguna.

Data yang disimpan dengan SaveData diasingkan daripada yang lain Power Apps oleh pemain Power Apps . Data disimpan berdasarkan ID Aplikasi aplikasi, mengasingkan ruang nama SaveData secara automatik antara Power Apps.

Sistem pengendalian dan pelayar bertanggungjawab untuk mengasingkan data antara Power Apps dan aplikasi lain pada peranti dan dengan laman web. Sebagai contoh, sistem pengendalian bertanggungjawab untuk mengasingkan data yang disimpan dari Microsoft Outlook data yang Power Apps disimpan, dan juga mengasingkan data tersebut dari laman web seperti Bing.com atau PowerApps.com. Kemudahan kotak pasir aplikasi terbina dalam sistem pengendalian digunakan untuk storan SaveData yang biasanya tidak dapat diakses atau disembunyikan daripada pengguna.

Apabila menggunakan aplikasi yang sama, sistem pengendalian dan penyemak imbas juga bertanggungjawab untuk mengasingkan data antara pengguna tahap sistem pengendalian yang berbeza. Sebagai contoh, jika dua pengguna berbeza berkongsi komputer dan menggunakan dua kelayakan log masuk Windows yang berbeza, sistem pengendalian bertanggungjawab untuk mengasingkan data antara kedua-dua pengguna Windows.

Data mungkin atau mungkin tidak terpencil antara pengguna yang berbeza Power Apps jika pengguna sistem pengendalian adalah sama. Tidak semua Power Apps pemain melayan ini dengan cara yang sama. Sebagai contoh, semasa log masuk sebagai pengguna Windows yang sama, dalam pemain Power Apps , pengguna mendaftar keluar Power Apps dan mendaftar masuk sebagai pengguna lain Power Apps . Data yang disimpan dalam aplikasi sebelum pertukaran Power Apps pengguna, mungkin boleh diakses oleh pengguna kedua Power Apps dalam aplikasi yang sama. Data juga boleh dialih keluar dan pengguna pertama Power Apps mungkin tidak lagi dapat mengaksesnya. Tingkah laku berbeza antara Power Apps pemain.

Sistem pengendalian juga boleh menyulitkan data atau anda boleh menggunakan alat pengurusan peranti mudah alih seperti Microsoft Intune. Data disimpan apabila memainkan aplikasi dalam pelayar web tidak disulitkan.

Sintaks

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

  • Koleksi - Diperlukan. Pengumpulan untuk disimpan atau dimuatkan.
  • Nama - Diperlukan. Nama storan. Nama mesti sama untuk menyimpan dan memuatkan set data yang sama . Ruang nama tidak dikongsi dengan apl lain. Nama mesti tidak mengandungi mana-mana karakter ini: *".?:\<>|/.
  • IgnoreNonexistentFile - Pilihan. Nilai Boolean menunjukkan apa yang perlu dilakukan jika fail tidak wujud. Gunakan palsu (lalai) untuk mengembalikan ralat dan benar untuk menyekat ralat.

ClearData( [Nama] )

  • Nama - Pilihan. Nama storan yang disimpan sebelum ini dengan SaveData. Jika Nama tidak disediakan, semua storan yang berkaitan dengan aplikasi dikosongkan.

Contoh

Formula Penerangan Hasil
SaveData( LocalCache, "MyCache" ) Simpan pengumpulan LocalCache ke peranti pengguna di bawah nama "MyCache", sesuai untuk LoadData mencapainya kemudian. Data disimpan pada hos aplikasi di bawah nama "MyCache".
LoadData( LocalCache, "MyCache" ) Muatkan pengumpulan LocalCache daripada peranti pengguna di bawah nama "MyCache", yang disimpan sebelum ini dengan memanggil ke SaveData. Data dimuat daripada hos aplikasi di bawah nama "MyCache".
ClearData( "MyCache" ) Mengosongkan storan di bawah nama "MyCache". Sebarang data yang disimpan di bawah nama ini tidak lagi akan tersedia melalui LoadData. Data dialih keluar daripada hos aplikasi di bawah nama "MyCache".
ClearData() Kosongkan semua storan yang berkaitan dengan aplikasi ini. Data yang disimpan oleh aplikasi lain tidak terjejas. Semua data dialih keluar daripada hos aplikasi.

Contoh luar talian yang mudah

Mengikuti contoh mudah mengambil dan menyimpan nama dan gambar untuk item setiap hari semasa di luar talian. Ianya menyimpan maklumat dalam storan setempat peranti untuk kegunaan kemudian. Ini membenarkan aplikasi ditutup atau peranti bermula semula tanpa kehilangan data.

Nota

Contoh ini menggunakan kawalan kamera untuk menangkap imej. Oleh kerana SaveData terhad kepada 1 MB data apabila berjalan dalam Teams atau pelayar web, contoh ini tidak akan berfungsi dengan lebih daripada beberapa imej. Juga, bergantung pada kamera, ia mungkin tidak berfungsi walaupun dengan satu imej. Gunakan peranti untuk bekerja melalui contoh penuh ini atau keluarkan kawalan kamera dan gambar bahagian contoh ini untuk berjalan dalam Teams atau dalam pelayar web.

  1. Cipta aplikasi kanvas kosong dengan tataletak tablet. Untuk butiran lanjut, baca mencipta aplikasi daripada templat dan pilih Tataletak tablet di bawah Aplikasi kosong.

  2. Tambah kawalan Input teks dan kawalan Kamera dan susunkannya secara kasar seperti yang ditunjukkan:

    Input teks dan kawalan kamera ditambah pada skrin kosong.

  3. Tambah kawalan Butang.

  4. Klik dua kali kawalan butang untuk mengubah teks butang ke Tambah Item (atau ubah suai sifat Teks).

  5. Tetapkan sifat OnSelect kawalan butang ke formula ini yang akan menambahkan item ke pengumpulan kami:

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

    Kawalan butang ditambah dengan teks

  6. Tambah kawalan Butang yang lain.

  7. Klik dua kali kawalan butang untuk mengubah teks butang ke Simpan Data (atau ubah suai sifat Teks).

  8. Tetapkan sifat OnSelect bagi kawalan butang ke formula ini untuk menyimpan pengumpulan kami ke peranti setempat:

    SaveData( MyItems, "LocalSavedItems" )
    

    Kawalan butang ditambah dengan teks

    Ianya menarik untuk menguji butang kerana ia tidak memberi kesan apa-apa. Tetapi anda hanya akan melihat ralat semasa anda mengarang dalam pelayar web. Simpan aplikasi pertama dan buka pada peranti sebelum anda mengikuti langkah seterusnya untuk menguji formula ini :

  9. Tambah kawalan Butang ketiga.

  10. Klik dua kali kawalan butang untuk mengubah teks butang ke Muat Data (atau ubah suai sifat Teks).

  11. Tetapkan sifat OnSelect bagi kawalan butang ke formula ini untuk memuatkan pengumpulan kami daripada peranti setempat:

    LoadData( MyItems, "LocalSavedItems" )
    

    Kawalan butang ditambah dengan teks

  12. Tambah kawalan Galeri dengan tataletak Menegak termasuk gambar dan kawasan teks :

    Pemilihan pelbagai galeri,

  13. Apabila digesa, pilih pengumpulan MyItems sebagai sumber data untuk galeri ini. Ini akan menetapkan sifat Item untuk kawalan Galeri:

    Pemilihan galeri sumber data. Kawalan imej dalam templat galeri harus lalai sifat Imejnya kepada ThisItem.Picture dan kawalan label harus kedua-duanya lalai sifat Teks mereka ke ThisItem.Item . Semak formula ini jika selepas menambah item dalam langkah berikut anda tidak dapat melihat apa-apa dalam galeri.

  14. Tempatkan kawalan ke sebelah kanan kawalan yang lain:

    Galeri disusun semula di sebelah kanan skrin.

  15. Simpan aplikasi. Jika ianya kali pertama disimpan, tiada keperluan untuk menerbitkannya. Jika ianya bukan kali pertama, terbitkan aplikasi selepas anda menyimpannya.

  16. Buka aplikasi anda pada peranti seperti telefon atau tablet. SaveData dan LoadData tidak boleh digunakan dalam Studio atau dalam pelayar web. Segar semula senarai aplikasi anda jika anda tidak dapat melihatnya serta merta, aplikasi boleh mengambil beberapa saat untuk dipaparkan pada peranti anda. Mendaftar keluar dan kembali ke akaun anda juga dapat membantu.

    Apl berjalan tanpa item ditambah. Setelah apl anda dimuat turun, anda boleh memutuskan sambungan daripada rangkaian dan menjalankan aplikasi di luar talian.

  17. Masukkan nama dan ambil gambar item.

  18. Pilih butang Tambah Item. Ulangi menambah item beberapa kali untuk memuat naik pengumpulan anda.

    Apl yang berjalan dengan tiga item ditambah.

  19. Pilih butang Simpan Data. Ini akan menyimpan data dalam pengumpulan anda ke peranti setempat.

  20. Tutup aplikasi. Pengumpulan anda dalam memori akan hilang termasuk semua item nama dan gambar, tetapi ia masih ada dalam storan peranti.

  21. Lancarkan semula aplikasi. Pengumpulan dalam memori sekali lagi akan ditunjukkan sebagai kosong dalam galeri.

    Apl sekali lagi berjalan tanpa item ditambah.

  22. Pilih butang Muat Data. Pengumpulan akan diisi semula daripada data yang disimpan pada peranti anda dan item anda akan kembali semula dalam galeri. Pengumpulan adalah kosong sebelum butang ini memanggil fungsi LoadData; tidak perlu untuk memanggil Collect atau ClearCollect sebelum memuat data daripada storan.

    Apl berjalan dengan tiga item dipulihkan selepas memanggil fungsi LoadData.

  23. Pilih butang Muat Data sekali lagi. Data yang disimpan akan ditambah ke penghujung pengumpulan dan bar tatal akan dipaparkan pada galeri. Jika anda mahu mengganti berbanding menambah, gunakan fungsi Clear pertama sekali untuk mengosongkan pengumpulan sebelum memanggil fungsi LoadData.

    Apl berjalan dengan enam item dipulihkan selepas memanggil fungsi LoadData dua kali.

Lebih banyak contoh luar talian lanjutan

Untuk contoh terperinci, lihat artikel tentang keupayaan luar talian mudah.