Preferences

Telusuri sampel. Telusuri sampel

Artikel ini menjelaskan cara menggunakan antarmuka .NET Multi-platform App UI (.NET MAUI). IPreferences Antarmuka ini membantu menyimpan preferensi aplikasi di penyimpanan kunci/nilai.

Implementasi IPreferences default antarmuka tersedia melalui Preferences.Default properti . IPreferences Antarmuka dan Preferences kelas terkandung dalam Microsoft.Maui.Storage namespace layanan.

Tipe penyimpanan

Preferences disimpan dengan String kunci. Nilai preferensi harus merupakan salah satu jenis data berikut:

Nilai disimpan dalam format biner 64-bit (bilangan DateTime bulat panjang) menggunakan dua metode yang ditentukan oleh DateTime kelas :

  • Metode ToBinary ini digunakan untuk mengodekan DateTime nilai.
  • Metode FromBinary mendekode nilai.

Lihat dokumentasi metode ini untuk penyesuaian yang mungkin dibuat untuk nilai yang didekode saat DateTime disimpan yang bukan nilai Waktu Universal Terkoordinasi (UTC).

Mengatur preferensi

Preferences diatur dengan memanggil Preferences.Set metode , menyediakan kunci dan nilai:

// Set a string value:
Preferences.Default.Set("first_name", "John");

// Set an numerical value:
Preferences.Default.Set("age", 28);

// Set a boolean value:
Preferences.Default.Set("has_pets", true);

Mendapatkan preferensi

Untuk mengambil nilai dari preferensi, Anda meneruskan kunci preferensi, diikuti dengan nilai default saat kunci tidak ada:

string firstName = Preferences.Default.Get("first_name", "Unknown");
int age = Preferences.Default.Get("age", -1);
bool hasPets = Preferences.Default.Get("has_pets", false);

Periksa kunci

Mungkin berguna untuk memeriksa apakah kunci ada di preferensi atau tidak. Meskipun Get Anda telah menetapkan nilai default ketika kunci tidak ada, mungkin ada kasus di mana kunci ada, tetapi nilai kunci cocok dengan nilai default. Jadi Anda tidak dapat mengandalkan nilai default sebagai indikator bahwa kunci tidak ada. ContainsKey Gunakan metode untuk menentukan apakah kunci ada:

bool hasKey = Preferences.Default.ContainsKey("my_key");

Menghapus satu atau semua kunci

Remove Gunakan metode untuk menghapus kunci tertentu dari preferensi:

Preferences.Default.Remove("first_name");

Untuk menghapus semua kunci, gunakan Clear metode :

Preferences.Default.Clear();

Kunci bersama

Preferensi yang disimpan oleh aplikasi Anda hanya terlihat oleh aplikasi Anda. Namun, Anda juga dapat membuat preferensi bersama yang dapat digunakan oleh ekstensi lain atau aplikasi jam tangan. Saat Anda mengatur, menghapus, atau mengambil preferensi, parameter string opsional dapat disediakan untuk menentukan nama kontainer tempat preferensi disimpan.

Metode berikut mengambil parameter string bernama sharedName:

  • Preferences.Set
  • Preferences.Get
  • Preferences.Remove
  • Preferences.Clear

Penting

Harap baca spesifikasi implementasi platform, karena preferensi bersama memiliki implementasi khusus perilaku

Integrasikan dengan pengaturan sistem

Preferences disimpan secara asli, yang memungkinkan Anda untuk mengintegrasikan pengaturan Anda ke dalam pengaturan sistem asli. Ikuti dokumentasi platform untuk berintegrasi dengan platform:

Perbedaan platform

Bagian ini menjelaskan perbedaan khusus platform dengan API preferensi.

Semua data disimpan ke dalam Berbagi Preferences. Jika tidak sharedName ditentukan, Berbagi Preferences default akan digunakan. Jika tidak, nama digunakan untuk mendapatkan Shared Preferences privat dengan nama yang ditentukan.

Persistensi

Menghapus instalan aplikasi menyebabkan semua preferensi dihapus, kecuali saat aplikasi berjalan di Android 6.0 (API level 23) atau yang lebih baru, saat menggunakan fitur Auto Backup . Fitur ini aktif secara default dan mempertahankan data aplikasi, termasuk Bersama Preferences, yang digunakan Preferences API. Anda dapat menonaktifkannya dengan mengikuti dokumentasi Pencadangan Otomatis Google.

Batasan

Performa dapat terpengaruh jika Anda menyimpan teks dalam jumlah besar, karena API dirancang untuk menyimpan teks dalam jumlah kecil.