You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
var token:String by savable("auth_token")
var age:Int by savable() /* savable("age") */var loggedIn:Boolean by savable() /* savable("loggedIn") */var phone by savableInt()
var name by savableString()
var timestamp by savableLong()
Note: you can pass variable key to save in shared preferences, but if you don't, it will save in variable name, for exmaple:
var username:String by savable()
Here, that username will save in 'username' key, and:
var username:String by savable("name")
Here, that username will save in 'user' key
Updating
For update and re-save variable value in shared prefrences, just update that savable value, that's it! , for example:
var token:String by savable("auth_token")
token ="xxxxx"
var userId by savableInt()
userId =43
No need to do anything else.
Saving Objects & ListOf Them
data classPerson(valid:Int,valname:String)
val persons:List<Person> by savable(defauleValue = emptyList())
Final Sample In Jetpack Compose:
var token:String by savable("auth_token")
var user:User by savable(defaultValue =User(id =-1,name ="empty user"))
Button(onClick = {
token =UUID.randomUUID().toString()
user =User(id =342, name ="Iran")
}) {
Text(text ="Set")
}
Button(onClick = {
println(user.name)
Toast.makeText(context, token, Toast.LENGTH_SHORT).show()
}) {
Text(text ="Get")
}