好的,因为我们有时候除了用Firebase之外,我们可能会用其它服务!而Firebase它的Auth除非有logout,否则它会保有登入的纪录~ 那如果我们有些服务是会需要记住local的资料呢?我们就可以用SharedPreferences来纪录资料!! 这次是额外的内容喔 小歇一下!!
依照 Key-Value的方式储存资料
class SharedPreference(content: Context) {
private val sharedPreference = content.getSharedPreferences("帐密",0)
fun saveEmail(email: String){
sharedPreference.edit().putString("信箱",email).apply()
}
fun savePassword(pass: String){
sharedPreference.edit().putString("密码",pass).apply()
}
fun getEmail(): String?{
return sharedPreference.getString("信箱","")
}
fun getPass(): String?{
return sharedPreference.getString("密码","")
}
}
首先可以注意到,实例化 sharedPreference的方法
private val sharedPreference = content.getSharedPreferences("帐密",0)
其中的第一个参数是档案名称,若是已有该名称的档案後,就会在新增资料的时候在该档案新增资料,若无则直接创建新的
第二个参数,是mode,原本有许多模式,但由於隐私问题,其他mode几乎都被弃用(可让别的App存取或写入)。现在比较推荐是用 MODE_PRIVATE 这个模式,int值为 0,只限当前APP使用。
ps.若有需要共享资料,可以用 FileProvider
接下来看到写入的方法,请使用 edit(),并在後面可以新增想要填入的值型态
(记住,都是Key-Value,所以这些里面的引数前面都是Key)
接下来也可以注意到,最後面写了 apply(),储存值的方法有两种
fun saveEmail(email: String){
sharedPreference.edit().putString("信箱",email).apply()
}
取出资料的方式为
fun getEmail(): String?{
return sharedPreference.getString("信箱","")
}
接下来就可以叫出来啦
存入
val sharedPreferences = SharedPreference(requireActivity())
sharedPreferences.saveEmail(viewModel.list[1])
sharedPreferences.savePassword(passWord)
叫出
val sharedPreference = SharedPreference(requireActivity())
val email = sharedPreference.getEmail()
val password = sharedPreference.getPass()
这样就大功告成啦! 期待明天~
<<: Day 24:605. Can Place Flowers
大家好,由於在repositories或slack上常常有些档案需要加解密,所以我制作了以下专案~ ...
昨天我们介绍了如何发送验证信,今天我们要来写信箱验证API的逻辑啦~~ 以下是我的程序码 程序码 @...
50% Discount On Google Updated LookML-Developer Ex...
昨天谈到了我们的弹珠台,开了那麽多需求,大家有猜到今天要从哪个需求开始看起吗? 没错!哪个需求都不是...
看焰火罗~ 有时我们看网页内嵌YouTube影片时,真的会气到头顶冒烟,画面被切掉不说,还无法自动...