Kotlin学习笔记——SharedPreference
| 1 | 
知识补充
模板类
- Any类——相当于java中的Object类
- <*>——相当于java中的<?>表示不同于模板类的T
委托属性
待补充
lazy修饰符
让变量在首次使用的时候赋值
- 与lateinit的区别:- lateinit是在创建变量时不赋值,想编译器保证在使用之前会赋值,这样这个变量仍然会被当做非空变量
- lazy是创建变量时”赋值”,但是真正赋值是在首次使用的时候才赋值
 
with函数
| 1 | with(函数头语句){函数体语句} | 
- 函数头语句先于函数体语句执行,函数头语句会返回一个值
- 函数体语句会在头语句的返回对象的命名空间中执行,体语句可以直接调用头部返回的类的方法
使用场景
SharedPreferences是Android中最简单的数据储存方式
使用方法
方法一览
SharedPreferences类的方法(注意最后有一个s)
| 方法 | 参数 | 解释 | 
|---|---|---|
| getSharedPreferences | String + MODD | 初始化一个SPS。第一个String是文件名,与str.xml文件共享参数。第二个参数是参数的操作模式,是Context类中的静态常量(这个函数不是SPS的方法,是Context的,但是为了方便起见写在这里) | 
| getString | key-value | obviously | 
| getInt | key-value | obviously | 
| getBoolean | key-value | obviously | 
| getFloat | key-value | obviously | 
| getLong | key-value | obviously | 
编写一个Util类
| 1 | class SharedPreferencesUtil<T>(val context: Context, val name:String, val default:T) : ReadWriteProperty<Any?, T> { | 
使用
| 1 | var name:String by SharedPreferencesUtil(this, "name", "") | 
Kotlin学习笔记——SharedPreference
https://jingtianer.github.io/home/2019/04/12/Kotlin-Android学习笔记/Kotlin学习笔记——SharedPreference/