SharedPreferences 는 deprecated. Preferences DataStore (Map<String, Any>) 또는 Proto DataStore (typed) 사용. Coroutines + Flow 기반. 비밀은 EncryptedSharedPreferences 또는 Keystore.
objectSettingsSerializer:Serializer<Settings>{overridevaldefaultValue=Settings.getDefaultInstance()overridesuspendfunreadFrom(input:InputStream):Settings=Settings.parseFrom(input)overridesuspendfunwriteTo(t:Settings,output:OutputStream)=t.writeTo(output)}valContext.settings:DataStore<Settings>bydataStore(fileName="settings.pb",serializer=SettingsSerializer)// 사용
valtheme:Flow<String>=ctx.settings.data.map{it.theme}ctx.settings.updateData{it.toBuilder().setTheme("dark").build()}