IPreferences, SecureStorage, Android Keystore.
IPreferences — Simple Key-Value Storage
// Write
Preferences.Default.Set("username", "alice");
Preferences.Default.Set("dark_mode", true);
Preferences.Default.Set("font_size", 16);
// Read (with fallback defaults)
var user = Preferences.Default.Get("username", "Guest");
var darkMode = Preferences.Default.Get("dark_mode", false);
// Remove / clear
Preferences.Default.Remove("username");
Preferences.Default.Clear();
SecureStorage — For Sensitive Values
// Store a token securely in the Android Keystore
await SecureStorage.Default.SetAsync("auth_token", token);
// Retrieve
var token = await SecureStorage.Default.GetAsync("auth_token");
// Remove
SecureStorage.Default.Remove("auth_token");
🔐Never store passwords, tokens, or API keys in Preferences — it is unencrypted. Use SecureStorage which wraps the Android Keystore system.
Key Takeaways
Preferences uses Android SharedPreferences under the hood
SecureStorage wraps Android Keystore for encrypted storage
Always provide a default value as the second argument to Get
Use Preferences.Clear() with care — it removes all stored preferences at once