SharePreference 用来 放置 Local 的资料 , 在不同的 Activity 或 Fragment ,只要实例化 SharePreference ,就可以共用资料
调用 context.getSharedPreferences 会返回一个接口 (Interface), 利用这个接口 取得单例的 sharedPreference 物件, 我们可以 去 存取或变更 preference data , context.getSharedPreferences 传入的第一个参数 是存在 手机的档案名称 ,另一个参数 是存取模式 MODE_PRIVATE , 这个参数的意义是使用范围限 这个 application
透过 edit () 取得进行修改的 Editor 物件
利用 Editor 物件存放资料 (put) , 在放置时需加上 tag , 如下 tag 为 "money"
可以放置的 Type 有 Boolean Float Int Long String
利用 sharedPreference 物件提取资料 (get) 在提取时需加上 要提取资料的 tag , 如下 tag 为 "money" ,提取出 来的资料为 savemoney 放入的资料
可以提取的 Type 有 Boolean Float Int Long String
利用 Editor 清除所有资料 (put) clear()+commit()
class SaveUserMoney(context: Context) {
// (1
private val pref = context.getSharedPreferences("Total", Context.MODE_PRIVATE)
// (2
val editor = pref.edit()
// (3
fun savemoney(money: String) {
editor.putString("money", money ).apply()
}
// (4
fun getmoney() :String?{
return pref.getString("money","")
}
// (5
fun delete(){
editor.clear().commit()
}
}
建立 我们自己写好的 SaveUserMoney class 物件
调用 物件里面的 savemoney function , function 内 Editor 物件 调用putString() 放置传入的变数 money 指向的 value ,和预设传入的 value ,再调用 apply() 去完成储存动作
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// (1
val pref = SaveUserMoney(this)
val money = "x"
// (2
pref.savemoney(money)
}
}
建立 我们写好的 SaveUserMoney class 物件
调用 物件里面的 getmoney function , function 内 会从 sharedPreference 物件 ( sharedPreference 调用getString() 传入 我们要找的资料所拥有的 tag , 和回传的预设值, 回传 tag 相对应的资料 )得到我们所需要的资料, getmoney function 再回传得到的值
class MainActivity2 : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main2)
// (1
val pref = SaveUserMoney(this)
// (2
val money= pref.getmoney()
}
建立 我们写好的 SaveUserMoney class 物件
调用 物件里面的 delete() function , function 内会 Editor 物件 调用 clear() 再commit() , 去清空所有资料
class MainActivity2 : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main2)
// (1
val pref = SaveUserMoney(this)
// (2
val money= pref.delete()
}
>>: Day029-透过Vuex-实作简易部落格-打包你的专案吧!
前言 今天要来继续接着介绍 tuple 的使用方法,包含了 Unpack(拆包),还有取出 tupl...
在写程序时,我们经常会想要拓展一些东西。 例如我们有一个user object,他有自己的属性跟函数...
今天介绍一下Yolo v3, 首先在v3中使用了darknet-53的架构,架构如下图: 相比v2的...
鬼故事 - 这不是後门这是工程模式! Credit: sandserif 故事开始 故事回到小弯的公...