Shared Preferences
🗝 Preferences Explorer & Editor
Flocon provides complete access to your app’s preferences (SharedPreferences and DataStore), which often store user tokens, feature flags, configuration options, and more.
Key capabilities include: - Automatic detection of all application SharedPreferences. - Viewing and filtering key-value pairs. - Inspecting primitive values and JSON structures. - Editing values on the fly from the desktop UI.
SharedPreferences
Flocon automatically detects and displays all standard SharedPreferences files in your application. However, you can manually register them to provide custom names:
val referencedPref = context.getSharedPreferences("user_pref", Context.MODE_PRIVATE)
floconRegisterPreference(FloconSharedPreference(name = "User Settings", referencedPref))
Jetpack DataStore
To support Jetpack DataStore, ensure you have the flocon-datastore dependency:
Then register your DataStore:
val Context.dataStore by preferencesDataStore(name = "settings")
// Registration
floconRegisterPreference(FloconDatastorePreference(name = "App Settings", context.dataStore))
Custom Implementations
You can expose any key-value store to Flocon by implementing the FloconPreference interface. This is useful for custom encrypted storage or non-standard persistence layers.
class MyCustomPreference : FloconPreference {
override val name: String = "Custom Store"
override suspend fun columns(): List<String> {
return listOf("api_key", "debug_mode")
}
override suspend fun get(columnName: String): FloconPreferenceValue? {
// Retrieve value from your store
return FloconPreferenceValue(stringValue = "...")
}
override suspend fun set(columnName: String, value: FloconPreferenceValue) {
// Save value to your store
}
}
// Registration
floconRegisterPreference(MyCustomPreference())