Pengaturan simpan dan muat di aplikasi UWP

Topik ini mencakup apa yang perlu Anda ketahui untuk mulai memuat, dan menyimpan, pengaturan di aplikasi Universal Windows Platform (UWP). API utama diperkenalkan, dan tautan disediakan untuk membantu Anda mempelajari lebih lanjut.

Gunakan pengaturan untuk mengingat aspek aplikasi Anda yang dapat disesuaikan pengguna. Misalnya, pembaca berita dapat menggunakan pengaturan aplikasi untuk menyimpan sumber berita mana yang akan ditampilkan dan font apa yang digunakan untuk membaca artikel.

Kita akan melihat kode untuk menyimpan dan memuat pengaturan aplikasi, termasuk pengaturan lokal dan roaming.

Apa yang perlu Anda ketahui

Gunakan pengaturan aplikasi untuk menyimpan data konfigurasi seperti preferensi pengguna dan status aplikasi. Pengaturan yang khusus untuk perangkat disimpan secara lokal. Pengaturan yang berlaku di perangkat mana pun aplikasi Anda diinstal disimpan di penyimpanan data roaming. Pengaturan berkeliaran di antara perangkat tempat pengguna masuk dengan Akun Microsoft yang sama dan memiliki versi aplikasi yang sama.

Tipe data berikut dapat digunakan dengan pengaturan: bilangan bulat, ganda, float, chars, string, Points, DateTimes, dan banyak lagi. Anda juga dapat menyimpan instans kelas ApplicationDataCompositeValue yang berguna ketika ada beberapa pengaturan yang harus diperlakukan sebagai satu unit. Misalnya, nama font dan ukuran titik untuk menampilkan teks di panel baca aplikasi Anda harus disimpan/dipulihkan sebagai satu unit. Ini mencegah satu pengaturan tidak sinkron dengan yang lain karena keterlambatan roaming satu pengaturan sebelum yang lain.

Berikut adalah API utama yang perlu Anda ketahui untuk menyimpan atau memuat pengaturan aplikasi:

Menyimpan pengaturan aplikasi

Untuk pengenalan ini, kami akan fokus pada dua skenario sederhana: menyimpan dan memuat pengaturan aplikasi secara lokal, dan menjelajahi pengaturan ukuran font / font komposit antar perangkat.

// Save a setting locally on the device
ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
localSettings.Values["test setting"] = "a device specific setting";

// Save a composite setting that will be roamed between devices
ApplicationDataContainer roamingSettings = Windows.Storage.ApplicationData.Current.RoamingSettings;
Windows.Storage.ApplicationDataCompositeValue composite = new Windows.Storage.ApplicationDataCompositeValue();
composite["Font"] = "Calibri";
composite["FontSize"] = 11;
roamingSettings.Values["RoamingFontInfo"] = composite;

Simpan pengaturan ke perangkat lokal, dengan terlebih dahulu mendapatkan ApplicationDataContainer untuk penyimpanan data pengaturan lokal dengan Windows.Storage.ApplicationData.Current.LocalSettings. Pasangan kamus kunci/nilai yang Anda tetapkan ke instans ini disimpan di penyimpanan data pengaturan perangkat lokal.

Simpan pengaturan roaming menggunakan pola serupa. Pertama dapatkan ApplicationDataContainer untuk penyimpanan data pengaturan roaming dengan Windows.Storage.ApplicationData.Current.RoamingSettings. Kemudian tetapkan pasangan kunci/nilai ke instans ini. Pasangan kunci/nilai tersebut akan secara otomatis berkeliaran di antara perangkat.

Dalam cuplikan kode di atas, ApplicationDataCompositeValue menyimpan beberapa pasangan kunci/nilai. Nilai komposit berguna ketika Anda memiliki beberapa pengaturan yang seharusnya tidak sinkron satu sama lain. Saat Anda menyimpan ApplicationDataCompositeValue, nilai disimpan dan dimuat sebagai satu unit, atau secara atomis. Dengan cara ini pengaturan yang terkait tidak akan keluar dari sinkronisasi karena mereka roamed sebagai unit bukan secara individual.

Memuat pengaturan aplikasi

// load a setting that is local to the device
ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
String localValue = localSettings.Values["test setting"] as string;

// load a composite setting that roams between devices
ApplicationDataContainer roamingSettings = Windows.Storage.ApplicationData.Current.RoamingSettings;
Windows.Storage.ApplicationDataCompositeValue composite = (ApplicationDataCompositeValue)roamingSettings.Values["RoamingFontInfo"];
if (composite != null)
{
    String fontName = composite["Font"] as string;
    int fontSize = (int)composite["FontSize"];
}

Muat pengaturan dari perangkat lokal, dengan terlebih dahulu mendapatkan instans ApplicationDataContainer untuk penyimpanan data pengaturan lokal dengan Windows.Storage.ApplicationData.Current.LocalSettings. Kemudian gunakan untuk mengambil pasangan kunci / nilai.

Muat pengaturan roaming dengan mengikuti pola serupa. Pertama dapatkan instans ApplicationDataContainer dari penyimpanan data pengaturan roaming dengan Windows.Storage.ApplicationData.Current.RoamingSettings. Akses pasangan kunci/nilai dari instans tersebut. Jika data belum berkeliaran ke perangkat tempat Anda mengakses pengaturan, Anda akan mendapatkan ApplicationDataContainer null. Itu sebabnya ada if (composite != null) pemeriksaan di kode contoh di atas.

API dan dokumen yang berguna

Berikut adalah ringkasan singkat API, dan dokumentasi berguna lainnya, untuk membantu Anda mulai menyimpan dan memuat pengaturan aplikasi.

API yang berguna

API Deskripsi
ApplicationData.LocalSettings Mendapatkan kontainer pengaturan aplikasi dari penyimpanan data aplikasi lokal.
ApplicationData.RoamingSettings Mendapatkan kontainer pengaturan aplikasi dari penyimpanan data aplikasi roaming.
ApplicationDataContainer Kontainer untuk pengaturan aplikasi yang mendukung pembuatan, penghapusan, pencacahan, dan melintasi hierarki kontainer.
Windows. UI. ApplicationSettings Namespace Menyediakan kelas yang akan Anda gunakan untuk menentukan pengaturan aplikasi yang muncul di panel pengaturan shell Windows.

Dokumen yang berguna

Topik Deskripsi
Panduan untuk pengaturan aplikasi Menjelaskan praktik terbaik untuk membuat dan menampilkan pengaturan aplikasi.
Menyimpan dan mengambil pengaturan dan data aplikasi lainnya Walk-through untuk menyimpan dan mengambil pengaturan, termasuk pengaturan roaming.

Sampel kode yang berguna

Sampel kode Deskripsi
Sampel data aplikasi Skenario 2-4 fokus pada pengaturan