在kotlin中设置UserDefaultsKeys(swift)

如何在kotlin中设置UserDefaultsKeys(swift)。 将喜欢设置用户数据和登录状态。 一个快速的例子

//swift example; how is this possible with kotlin? set(value, forKey: UserDefaultsKeys.userid.rawValue) synchronize() 

Android中UserDefaults的等价物是SharedPreferences

要首先使用SharedPreferences,您可以通过这种方式获得SharedPreferences对象:

 val sharedPreferences = getSharedPreferences(name:String!, mode: Int) 

如果您处于活动状态,则可以直接调用该方法,因为活动从Contextinheritance,否则需要一个上下文对象来调用getSharedPreferences。 该名称可以是任何您想要调用您的偏好设置的模式,以及您可以在此处find的模式。

接下来在sharedPreferences中保存数据,您可以调用sharedPreferences.edit()方法返回一个Editor对象,将数据放入编辑器中,并保存您调用commit()的更改,例如:

 sharedPreferences.edit().putInt(key: String!, value: Int).commit() 

正如你所看到的,我们已经把一个整数给编辑器,然后我们调用了commit()。

要获取我们保存的数据非常简单,我们只需要调用相应的get方法即可

 sharedPreferences.getInt(key: String!, defaultValue: Int) 
 const val SHARED_PREF = "sharedPreferences" val sharedPreferences = getSharedPreferences(SHARED_PREF, Context.MODE_PRIVATE) <----- Start of Setting the value -----> val userLoggedIn = sharedPreferences.edit() // setting it as a boolean userLoggedIn.putBoolean("isloggedin", true) // setting it as a string userLoggedIn.putString("isloggedin", "1") // setting it as an Int userLoggedIn.putInt("isloggedin", 1) // committing or applying is the last step to save, without this those data above wont be saved. commit returns a boolean, apply does not userLoggedIn.commit() or userLoggedIn.apply() <----- End Of Setting the value -----/> --------------------------------------------------------------------------- <----- Start of Retrieving the value -----> // Retrieving it as String //"nil" below is a default value, just incase "isloggedin" as a string does not exist, it returns "nil" val retrieveIsLoggedin = sharedPreferences.getString("isloggedin", "nil") // Retrieving it as an Int //0 below is a default value, just incase "isloggedin" as an int does not exist, it returns 0 val retrieveIsLoggedin = sharedPreferences.getInt("isloggedin", 0) // Retrieving it as an Boolean //false below is a default value, just incase "isloggedin" as a boolean does not exist, it returns false val retrieveIsLoggedin= sharedPreferences.getBoolean("isloggedin", false) <----- End of Retrieving the value ----->