Menyimpan dan mengambil pengaturan dan data aplikasi lainnya

Data aplikasi adalah data yang dapat diubah yang dibuat dan dikelola oleh aplikasi tertentu. Ini termasuk status runtime, pengaturan aplikasi, preferensi pengguna, konten referensi (seperti definisi kamus dalam aplikasi kamus), dan pengaturan lainnya. Data aplikasi berbeda dari data pengguna, data yang dibuat dan dikelola pengguna saat menggunakan aplikasi. Data pengguna mencakup file dokumen atau media, transkrip email atau komunikasi, atau rekaman database yang menyimpan konten yang dibuat oleh pengguna. Data pengguna mungkin berguna atau bermakna bagi lebih dari satu aplikasi. Seringkali, ini adalah data yang ingin dimanipulasi atau ditransmisikan pengguna sebagai entitas yang independen dari aplikasi itu sendiri, seperti dokumen.

Catatan penting tentang data aplikasi: Masa pakai data aplikasi terkait dengan masa pakai aplikasi. Jika aplikasi dihapus, semua data aplikasi akan hilang sebagai konsekuensinya. Jangan gunakan data aplikasi untuk menyimpan data pengguna atau apa pun yang mungkin dianggap berharga dan tidak tergantikan oleh pengguna. Kami menyarankan agar pustaka pengguna dan Microsoft OneDrive digunakan untuk menyimpan informasi semacam ini. Data aplikasi sangat ideal untuk menyimpan preferensi, pengaturan, dan favorit pengguna khusus aplikasi.

Jenis data aplikasi

Ada dua jenis data aplikasi: pengaturan dan file.

Pengaturan

Gunakan pengaturan untuk menyimpan preferensi pengguna dan info status aplikasi. API data aplikasi memungkinkan Anda membuat dan mengambil pengaturan dengan mudah (kami akan menunjukkan beberapa contoh nanti di artikel ini).

Berikut adalah jenis data yang dapat Anda gunakan untuk pengaturan aplikasi:

  • UInt8, Int16, UInt16, Int32, UInt32, Int64, UInt64, Single, Double
  • Boolean
  • Char16, String
  • DateTime, TimeSpan
  • GUID, Titik, Ukuran, Rect
  • ApplicationDataCompositeValue: Sekumpulan pengaturan aplikasi terkait yang harus diserialisasikan dan dideserialisasi secara atomik. Gunakan pengaturan komposit untuk menangani pembaruan atom pengaturan yang saling bergantung dengan mudah. Sistem memastikan integritas pengaturan komposit selama akses dan roaming bersamaan. Pengaturan komposit dioptimalkan untuk sejumlah kecil data, dan performa bisa buruk jika Anda menggunakannya untuk himpunan data besar.

File

Gunakan file untuk menyimpan data biner atau untuk mengaktifkan jenis serial anda sendiri yang dikustomisasi.

Menyimpan data aplikasi di penyimpanan data aplikasi

Saat aplikasi diinstal, sistem memberinya penyimpanan data per pengguna sendiri untuk pengaturan dan file. Anda tidak perlu tahu di mana atau bagaimana data ini ada, karena sistem bertanggung jawab untuk mengelola penyimpanan fisik, memastikan bahwa data disimpan terisolasi dari aplikasi lain dan pengguna lain. Sistem ini juga mempertahankan konten penyimpanan data ini saat pengguna menginstal pembaruan ke aplikasi Anda dan menghapus konten penyimpanan data ini sepenuhnya dan bersih saat aplikasi Anda dihapus instalannya.

Dalam penyimpanan data aplikasinya, setiap aplikasi memiliki direktori akar yang ditentukan sistem: satu untuk file lokal, satu untuk file roaming, dan satu untuk file sementara. Aplikasi Anda dapat menambahkan file baru dan kontainer baru ke masing-masing direktori akar ini.

Data aplikasi lokal

Data aplikasi lokal harus digunakan untuk informasi apa pun yang perlu dipertahankan di antara sesi aplikasi dan tidak cocok untuk menjelajah data aplikasi. Data yang tidak berlaku di perangkat lain juga harus disimpan di sini. Tidak ada batasan ukuran umum pada data lokal yang disimpan. Gunakan penyimpanan data aplikasi lokal untuk data yang tidak masuk akal untuk menjelajah dan untuk himpunan data besar.

Mengambil penyimpanan data aplikasi lokal

Sebelum dapat membaca atau menulis data aplikasi lokal, Anda harus mengambil penyimpanan data aplikasi lokal. Untuk mengambil penyimpanan data aplikasi lokal, gunakan properti ApplicationData.Local Pengaturan untuk mendapatkan pengaturan lokal aplikasi sebagai objek ApplicationDataContainer. Gunakan properti ApplicationData.LocalFolder untuk mendapatkan file dalam objek StorageFolder. Gunakan properti ApplicationData.LocalCacheFolder untuk mendapatkan folder di penyimpanan data aplikasi lokal tempat Anda dapat menyimpan file yang tidak disertakan dalam pencadangan dan pemulihan.

Windows.Storage.ApplicationDataContainer localSettings = 
    Windows.Storage.ApplicationData.Current.LocalSettings;
Windows.Storage.StorageFolder localFolder = 
    Windows.Storage.ApplicationData.Current.LocalFolder;

Membuat dan mengambil pengaturan lokal sederhana

Untuk membuat atau menulis pengaturan, gunakan properti ApplicationDataContainer.Values untuk mengakses pengaturan dalam localSettings kontainer yang kita dapatkan di langkah sebelumnya. Contoh ini membuat pengaturan bernama exampleSetting.

// Simple setting

localSettings.Values["exampleSetting"] = "Hello Windows";

Untuk mengambil pengaturan, Anda menggunakan properti ApplicationDataContainer.Values yang sama dengan yang Anda gunakan untuk membuat pengaturan. Contoh ini menunjukkan cara mengambil pengaturan yang baru saja kita buat.

// Simple setting
Object value = localSettings.Values["exampleSetting"];

Membuat dan mengambil nilai komposit lokal

Untuk membuat atau menulis nilai komposit, buat objek ApplicationDataCompositeValue. Contoh ini membuat pengaturan komposit bernama exampleCompositeSetting dan menambahkannya ke localSettings kontainer.

// Composite setting

Windows.Storage.ApplicationDataCompositeValue composite = 
    new Windows.Storage.ApplicationDataCompositeValue();
composite["intVal"] = 1;
composite["strVal"] = "string";

localSettings.Values["exampleCompositeSetting"] = composite;

Contoh ini menunjukkan cara mengambil nilai komposit yang baru saja kita buat.

// Composite setting

Windows.Storage.ApplicationDataCompositeValue composite = 
   (Windows.Storage.ApplicationDataCompositeValue)localSettings.Values["exampleCompositeSetting"];

if (composite == null)
{
   // No data
}
else
{
   // Access data in composite["intVal"] and composite["strVal"]
}

Membuat dan membaca file lokal

Untuk membuat dan memperbarui file di penyimpanan data aplikasi lokal, gunakan API file, seperti Windows.Storage.StorageFolder.CreateFileAsync dan Windows.Storage.FileIO.WriteTextAsync. Contoh ini membuat file bernama dataFile.txt dalam localFolder kontainer dan menulis tanggal dan waktu saat ini ke file. Nilai ReplaceExisting dari enumerasi CreationCollisionOption menunjukkan untuk mengganti file jika sudah ada.

async void WriteTimestamp()
{
   Windows.Globalization.DateTimeFormatting.DateTimeFormatter formatter = 
       new Windows.Globalization.DateTimeFormatting.DateTimeFormatter("longtime");

   StorageFile sampleFile = await localFolder.CreateFileAsync("dataFile.txt", 
       CreationCollisionOption.ReplaceExisting);
   await FileIO.WriteTextAsync(sampleFile, formatter.Format(DateTimeOffset.Now));
}

Untuk membuka dan membaca file di penyimpanan data aplikasi lokal, gunakan API file, seperti Windows.Storage.StorageFolder.GetFileAsync, Windows.Storage.StorageFile.GetFileFromApplicationUriAsync, dan Windows.Storage.FileIO.ReadTextAsync. Contoh ini membuka file yang dataFile.txt dibuat pada langkah sebelumnya dan membaca tanggal dari file. Untuk detail tentang memuat sumber daya file dari berbagai lokasi, lihat Cara memuat sumber daya file.

async void ReadTimestamp()
{
   try
   {
      StorageFile sampleFile = await localFolder.GetFileAsync("dataFile.txt");
      String timestamp = await FileIO.ReadTextAsync(sampleFile);
      // Data is contained in timestamp
   }
   catch (Exception)
   {
      // Timestamp not found
   }
}

Data roaming

Peringatan

Data dan pengaturan roaming tidak lagi didukung pada Windows 11. Pengganti yang disarankan adalah Azure App Service. Azure App Service didukung secara luas, terdokumen dengan baik, andal, dan mendukung skenario lintas platform/lintas ekosistem seperti iOS, Android, dan web.

Dokumentasi berikut berlaku untuk Windows 10 versi 1909 dan yang lebih rendah.

Jika Anda menggunakan data roaming di aplikasi, pengguna dapat dengan mudah menjaga data aplikasi aplikasi Anda tetap sinkron di beberapa perangkat. Jika pengguna menginstal aplikasi Anda di beberapa perangkat, OS menjaga data aplikasi tetap sinkron, mengurangi jumlah pekerjaan penyiapan yang perlu dilakukan pengguna untuk aplikasi Anda di perangkat kedua mereka. Roaming juga memungkinkan pengguna Anda untuk melanjutkan tugas, seperti membuat daftar, tepat di mana mereka meninggalkan bahkan di perangkat yang berbeda. OS mereplikasi data roaming ke cloud saat diperbarui, dan menyinkronkan data ke perangkat lain tempat aplikasi diinstal.

OS membatasi ukuran data aplikasi yang mungkin menjelajah setiap aplikasi. Lihat ApplicationData.RoamingStorageQuota. Jika aplikasi mencapai batas ini, tidak ada data aplikasi yang akan direplikasi ke cloud hingga total data aplikasi yang di jelajah aplikasi kurang dari batas lagi. Untuk alasan ini, ini adalah praktik terbaik untuk menggunakan data roaming hanya untuk preferensi pengguna, tautan, dan file data kecil.

Data roaming untuk aplikasi tersedia di cloud selama diakses oleh pengguna dari beberapa perangkat dalam interval waktu yang diperlukan. Jika pengguna tidak menjalankan aplikasi lebih lama dari interval waktu ini, data roamingnya akan dihapus dari cloud. Jika pengguna menghapus instalan aplikasi, data roaming-nya tidak secara otomatis dihapus dari cloud, itu dipertahankan. Jika pengguna menginstal ulang aplikasi dalam interval waktu, data roaming disinkronkan dari cloud.

Roaming data do's dan don'ts

Lihat catatan penting tentang data roaming.

  • Gunakan roaming untuk preferensi pengguna dan kustomisasi, tautan, dan file data kecil. Misalnya, gunakan roaming untuk mempertahankan preferensi warna latar belakang pengguna di semua perangkat.
  • Gunakan roaming untuk memungkinkan pengguna melanjutkan tugas di seluruh perangkat. Misalnya, menjelajah data aplikasi seperti konten email yang disusur atau halaman yang terakhir dilihat di aplikasi pembaca.
  • Tangani peristiwa DataChanged dengan memperbarui data aplikasi. Kejadian ini terjadi ketika data aplikasi baru saja selesai disinkronkan dari cloud.
  • Menjelajah referensi ke konten daripada data mentah. Misalnya, menjelajah URL daripada konten artikel online.
  • Untuk pengaturan penting waktu penting, gunakan pengaturan HighPriority yang terkait dengan Roaming Pengaturan.
  • Jangan menjelajah data aplikasi yang khusus untuk perangkat. Beberapa info hanya berkaitan secara lokal, seperti nama jalur ke sumber daya file lokal. Jika Anda memutuskan untuk menjelajah informasi lokal, pastikan aplikasi dapat pulih jika info tidak valid di perangkat sekunder.
  • Jangan menjelajah sekumpulan besar data aplikasi. Ada batasan jumlah data aplikasi yang mungkin menjelajah aplikasi; gunakan properti RoamingStorageQuota untuk mendapatkan maksimum ini. Jika aplikasi mencapai batas ini, tidak ada data yang dapat menjelajah hingga ukuran penyimpanan data aplikasi tidak lagi melebihi batas. Saat Anda merancang aplikasi, pertimbangkan cara menempatkan terikat pada data yang lebih besar agar tidak melebihi batas. Misalnya, jika menyimpan status permainan memerlukan masing-masing 10KB, aplikasi mungkin hanya mengizinkan pengguna menyimpan hingga 10 game.
  • Jangan gunakan roaming untuk data yang bergantung pada sinkronisasi instan. Windows tidak menjamin sinkronisasi instan; roaming dapat tertunda secara signifikan jika pengguna offline atau pada jaringan latensi tinggi. Pastikan bahwa UI Anda tidak bergantung pada sinkronisasi instan.
  • Jangan gunakan roaming untuk data yang sering berubah. Misalnya, jika aplikasi Anda sering melacak info yang sering berubah, seperti posisi dalam lagu menurut detik, jangan simpan ini sebagai data aplikasi roaming. Sebagai gantinya, pilih representasi yang lebih jarang yang masih memberikan pengalaman pengguna yang baik, seperti lagu yang sedang diputar.

Prasyarat roaming

Lihat catatan penting tentang data roaming.

Setiap pengguna dapat memperoleh manfaat dari menjelajah data aplikasi jika mereka menggunakan akun Microsoft untuk masuk ke perangkat mereka. Namun, pengguna dan administrator kebijakan grup dapat menonaktifkan data aplikasi roaming pada perangkat kapan saja. Jika pengguna memilih untuk tidak menggunakan akun Microsoft atau menonaktifkan kemampuan data roaming, dia masih akan dapat menggunakan aplikasi Anda, tetapi data aplikasi akan lokal untuk setiap perangkat.

Data yang disimpan di PasswordVault hanya akan bertransisi jika pengguna telah membuat perangkat "tepercaya". Jika perangkat tidak tepercaya, data yang diamankan di vault ini tidak akan berkeliaran.

Resolusi konflik

Lihat catatan penting tentang data roaming.

Menjelajah data aplikasi tidak ditujukan untuk penggunaan simultan pada lebih dari satu perangkat sekaligus. Jika konflik muncul selama sinkronisasi karena unit data tertentu diubah pada dua perangkat, sistem akan selalu mendukung nilai yang ditulis terakhir kali. Ini memastikan bahwa aplikasi menggunakan informasi terbaru. Jika unit data adalah komposit pengaturan, resolusi konflik masih akan terjadi pada tingkat unit pengaturan, yang berarti bahwa komposit dengan perubahan terbaru akan disinkronkan.

Kapan harus menulis data

Lihat catatan penting tentang data roaming.

Tergantung pada masa pakai pengaturan yang diharapkan, data harus ditulis pada waktu yang berbeda. Data aplikasi yang jarang atau perlahan berubah harus segera ditulis. Namun, data aplikasi yang sering berubah hanya boleh ditulis secara berkala secara berkala (seperti sekali setiap 5 menit), serta ketika aplikasi ditangguhkan. Misalnya, aplikasi musik mungkin menulis pengaturan "lagu saat ini" setiap kali lagu baru mulai diputar, namun, posisi aktual dalam lagu hanya boleh ditulis saat ditangguhkan.

Perlindungan penggunaan yang berlebihan

Lihat catatan penting tentang data roaming.

Sistem ini memiliki berbagai mekanisme perlindungan untuk menghindari penggunaan sumber daya yang tidak tepat. Jika data aplikasi tidak bertransisi seperti yang diharapkan, kemungkinan perangkat telah dibatasi untuk sementara. Menunggu beberapa waktu biasanya akan menyelesaikan situasi ini secara otomatis dan tidak ada tindakan yang diperlukan.

Penerapan versi

Lihat catatan penting tentang data roaming.

Data aplikasi dapat menggunakan penerapan versi untuk meningkatkan dari satu struktur data ke struktur data lainnya. Nomor versi berbeda dari versi aplikasi dan dapat diatur sesering mungkin. Meskipun tidak diberlakukan, sangat disarankan agar Anda menggunakan peningkatan nomor versi, karena komplikasi yang tidak diinginkan (termasuk kehilangan data)dapat terjadi jika Anda mencoba beralih ke nomor versi data yang lebih rendah yang mewakili data yang lebih baru.

Data aplikasi hanya menjelajah antara aplikasi yang diinstal dengan nomor versi yang sama. Misalnya, perangkat pada versi 2 akan melakukan transisi data antara satu sama lain dan perangkat pada versi 3 akan melakukan hal yang sama, tetapi tidak ada roaming yang akan terjadi antara perangkat yang menjalankan versi 2 dan perangkat yang menjalankan versi 3. Jika Anda menginstal aplikasi baru yang menggunakan berbagai nomor versi di perangkat lain, aplikasi yang baru diinstal akan menyinkronkan data aplikasi yang terkait dengan nomor versi tertinggi.

Pengujian dan alat

Lihat catatan penting tentang data roaming.

Pengembang dapat mengunci perangkat mereka untuk memicu sinkronisasi data aplikasi roaming. Jika tampaknya data aplikasi tidak bertransisi dalam jangka waktu tertentu, silakan periksa item berikut dan pastikan bahwa:

  • Data roaming Anda tidak melebihi ukuran maksimum (lihat RoamingStorageQuota untuk detailnya).
  • Berkas Anda ditutup dan dirilis dengan benar.
  • Setidaknya ada dua perangkat yang menjalankan versi aplikasi yang sama.

Daftar untuk menerima pemberitahuan saat menjelajah perubahan data

Lihat catatan penting tentang data roaming.

Untuk menggunakan data aplikasi roaming, Anda perlu mendaftar untuk menjelajah perubahan data dan mengambil kontainer data roaming sehingga Anda dapat membaca dan menulis pengaturan.

  1. Daftar untuk menerima pemberitahuan saat menjelajah perubahan data.

    Peristiwa DataChanged memberi tahu Anda saat menjelajah perubahan data. Contoh ini ditetapkan DataChangeHandler sebagai handler untuk perubahan data roaming.

void InitHandlers()
    {
       Windows.Storage.ApplicationData.Current.DataChanged += 
          new TypedEventHandler<ApplicationData, object>(DataChangeHandler);
    }

    void DataChangeHandler(Windows.Storage.ApplicationData appData, object o)
    {
       // TODO: Refresh your data
    }
  1. Dapatkan kontainer untuk pengaturan dan file aplikasi.

    Gunakan properti ApplicationData.Roaming Pengaturan untuk mendapatkan pengaturan dan properti ApplicationData.RoamingFolder untuk mendapatkan file.

Windows.Storage.ApplicationDataContainer roamingSettings = 
        Windows.Storage.ApplicationData.Current.RoamingSettings;
    Windows.Storage.StorageFolder roamingFolder = 
        Windows.Storage.ApplicationData.Current.RoamingFolder;

Membuat dan mengambil pengaturan roaming

Lihat catatan penting tentang data roaming.

Gunakan properti ApplicationDataContainer.Values untuk mengakses pengaturan dalam kontainer yang roamingSettings kami dapatkan di bagian sebelumnya. Contoh ini membuat pengaturan sederhana bernama exampleSetting dan nilai komposit bernama composite.

// Simple setting

roamingSettings.Values["exampleSetting"] = "Hello World";
// High Priority setting, for example, last page position in book reader app
roamingSettings.values["HighPriority"] = "65";

// Composite setting

Windows.Storage.ApplicationDataCompositeValue composite = 
    new Windows.Storage.ApplicationDataCompositeValue();
composite["intVal"] = 1;
composite["strVal"] = "string";

roamingSettings.Values["exampleCompositeSetting"] = composite;

Contoh ini mengambil pengaturan yang baru saja kita buat.

// Simple setting

Object value = roamingSettings.Values["exampleSetting"];

// Composite setting

Windows.Storage.ApplicationDataCompositeValue composite = 
   (Windows.Storage.ApplicationDataCompositeValue)roamingSettings.Values["exampleCompositeSetting"];

if (composite == null)
{
   // No data
}
else
{
   // Access data in composite["intVal"] and composite["strVal"]
}

Membuat dan mengambil file roaming

Lihat catatan penting tentang data roaming.

Untuk membuat dan memperbarui file di penyimpanan data aplikasi roaming, gunakan API file, seperti Windows.Storage.StorageFolder.CreateFileAsync dan Windows.Storage.FileIO.WriteTextAsync. Contoh ini membuat file bernama dataFile.txt dalam roamingFolder kontainer dan menulis tanggal dan waktu saat ini ke file. Nilai ReplaceExisting dari enumerasi CreationCollisionOption menunjukkan untuk mengganti file jika sudah ada.

async void WriteTimestamp()
{
   Windows.Globalization.DateTimeFormatting.DateTimeFormatter formatter = 
       new Windows.Globalization.DateTimeFormatting.DateTimeFormatter("longtime");

   StorageFile sampleFile = await roamingFolder.CreateFileAsync("dataFile.txt", 
       CreationCollisionOption.ReplaceExisting);
   await FileIO.WriteTextAsync(sampleFile, formatter.Format(DateTimeOffset.Now));
}

Untuk membuka dan membaca file di penyimpanan data aplikasi roaming, gunakan API file, seperti Windows.Storage.StorageFolder.GetFileAsync, Windows.Storage.StorageFile.GetFileFromApplicationUriAsync, dan Windows.Storage.FileIO.ReadTextAsync. Contoh ini membuka file yang dataFile.txt dibuat di bagian sebelumnya dan membaca tanggal dari file. Untuk detail tentang memuat sumber daya file dari berbagai lokasi, lihat Cara memuat sumber daya file.

async void ReadTimestamp()
{
   try
   {
      StorageFile sampleFile = await roamingFolder.GetFileAsync("dataFile.txt");
      String timestamp = await FileIO.ReadTextAsync(sampleFile);
      // Data is contained in timestamp
   }
   catch (Exception)
   {
      // Timestamp not found
   }
}

Data aplikasi sementara

Penyimpanan data aplikasi sementara berfungsi seperti cache. File-filenya tidak berkeliaran dan dapat dihapus kapan saja. Tugas Pemeliharaan Sistem dapat secara otomatis menghapus data yang disimpan di lokasi ini kapan saja. Pengguna juga dapat menghapus file dari penyimpanan data sementara menggunakan Pembersihan Disk. Data aplikasi sementara dapat digunakan untuk menyimpan informasi sementara selama sesi aplikasi. Tidak ada jaminan bahwa data ini akan bertahan di luar akhir sesi aplikasi karena sistem mungkin mengklaim kembali ruang yang digunakan jika diperlukan. Lokasi tersedia melalui properti temporaryFolder.

Mengambil kontainer data sementara

Gunakan properti ApplicationData.TemporaryFolder untuk mendapatkan file. Langkah berikutnya menggunakan temporaryFolder variabel dari langkah ini.

Windows.Storage.StorageFolder temporaryFolder = ApplicationData.Current.TemporaryFolder;

Membuat dan membaca file sementara

Untuk membuat dan memperbarui file di penyimpanan data aplikasi sementara, gunakan API file, seperti Windows.Storage.StorageFolder.CreateFileAsync dan Windows.Storage.FileIO.WriteTextAsync. Contoh ini membuat file bernama dataFile.txt dalam temporaryFolder kontainer dan menulis tanggal dan waktu saat ini ke file. Nilai ReplaceExisting dari enumerasi CreationCollisionOption menunjukkan untuk mengganti file jika sudah ada.

async void WriteTimestamp()
{
   Windows.Globalization.DateTimeFormatting.DateTimeFormatter formatter = 
       new Windows.Globalization.DateTimeFormatting.DateTimeFormatter("longtime");

   StorageFile sampleFile = await temporaryFolder.CreateFileAsync("dataFile.txt", 
       CreateCollisionOption.ReplaceExisting);
   await FileIO.WriteTextAsync(sampleFile, formatter.Format(DateTimeOffset.Now));
}

Untuk membuka dan membaca file di penyimpanan data aplikasi sementara, gunakan API file, seperti Windows.Storage.StorageFolder.GetFileAsync, Windows.Storage.StorageFile.GetFileFromApplicationUriAsync, dan Windows.Storage.FileIO.ReadTextAsync. Contoh ini membuka file yang dataFile.txt dibuat pada langkah sebelumnya dan membaca tanggal dari file. Untuk detail tentang memuat sumber daya file dari berbagai lokasi, lihat Cara memuat sumber daya file.

async void ReadTimestamp()
{
   try
   {
      StorageFile sampleFile = await temporaryFolder.GetFileAsync("dataFile.txt");
      String timestamp = await FileIO.ReadTextAsync(sampleFile);
      // Data is contained in timestamp
   }
   catch (Exception)
   {
      // Timestamp not found
   }
}

Mengatur data aplikasi dengan kontainer

Untuk membantu Anda mengatur pengaturan dan file data aplikasi, Anda membuat kontainer (diwakili oleh objek ApplicationDataContainer ) alih-alih bekerja langsung dengan direktori. Anda dapat menambahkan kontainer ke penyimpanan data aplikasi lokal, roaming, dan sementara. Kontainer dapat disarangkan hingga 32 tingkat kedalaman.

Untuk membuat kontainer pengaturan, panggil metode ApplicationDataContainer.CreateContainer. Contoh ini membuat kontainer pengaturan lokal bernama exampleContainer dan menambahkan pengaturan bernama exampleSetting. Nilai Always dari enumerasi ApplicationDataCreateDisposition menunjukkan bahwa kontainer dibuat jika belum ada.

Windows.Storage.ApplicationDataContainer localSettings = 
    Windows.Storage.ApplicationData.Current.LocalSettings;
Windows.Storage.StorageFolder localFolder = 
    Windows.Storage.ApplicationData.Current.LocalFolder;

// Setting in a container
Windows.Storage.ApplicationDataContainer container = 
   localSettings.CreateContainer("exampleContainer", Windows.Storage.ApplicationDataCreateDisposition.Always);

if (localSettings.Containers.ContainsKey("exampleContainer"))
{
   localSettings.Containers["exampleContainer"].Values["exampleSetting"] = "Hello Windows";
}

Menghapus pengaturan dan kontainer aplikasi

Untuk menghapus pengaturan sederhana yang tidak lagi dibutuhkan aplikasi Anda, gunakan ApplicationDataContainer Pengaturan. Hapus metode. Contoh ini menghapus exampleSetting pengaturan lokal yang kami buat sebelumnya.

Windows.Storage.ApplicationDataContainer localSettings = 
    Windows.Storage.ApplicationData.Current.LocalSettings;
Windows.Storage.StorageFolder localFolder = 
    Windows.Storage.ApplicationData.Current.LocalFolder;

// Delete simple setting

localSettings.Values.Remove("exampleSetting");

Untuk menghapus pengaturan komposit, gunakan metode ApplicationDataCompositeValue.Remove. Contoh ini menghapus pengaturan komposit lokal exampleCompositeSetting yang kita buat dalam contoh sebelumnya.

Windows.Storage.ApplicationDataContainer localSettings = 
    Windows.Storage.ApplicationData.Current.LocalSettings;
Windows.Storage.StorageFolder localFolder = 
    Windows.Storage.ApplicationData.Current.LocalFolder;

// Delete composite setting

localSettings.Values.Remove("exampleCompositeSetting");

Untuk menghapus kontainer, panggil metode ApplicationDataContainer.DeleteContainer. Contoh ini menghapus kontainer pengaturan lokal exampleContainer yang kami buat sebelumnya.

Windows.Storage.ApplicationDataContainer localSettings = 
    Windows.Storage.ApplicationData.Current.LocalSettings;
Windows.Storage.StorageFolder localFolder = 
    Windows.Storage.ApplicationData.Current.LocalFolder;

// Delete container

localSettings.DeleteContainer("exampleContainer");

Membuat versi data aplikasi Anda

Anda dapat secara opsional membuat versi data aplikasi untuk aplikasi Anda. Ini akan memungkinkan Anda membuat versi aplikasi mendatang yang mengubah format data aplikasinya tanpa menyebabkan masalah kompatibilitas dengan versi aplikasi Anda sebelumnya. Aplikasi memeriksa versi data aplikasi di penyimpanan data, dan jika versinya kurang dari versi yang diharapkan aplikasi, aplikasi harus memperbarui data aplikasi ke format baru dan memperbarui versi. Untuk informasi selengkapnya, lihatproperti Application.Version dan metode ApplicationData.SetVersionAsync.