Vin*_*rat 5 android kotlin android-room
我有一个Android Room的实体,看起来像那样.到目前为止,没有后顾之忧.
@Entity(tableName = "users",
indices = arrayOf(Index(value = "nickName", unique = true)))
data class User(@ColumnInfo(name = "nickName") var nickName: String,
@ColumnInfo(name = "password") var password: String) {
@ColumnInfo(name = "id")
@PrimaryKey(autoGenerate = true)
var id: Long = 0
}
Run Code Online (Sandbox Code Playgroud)
现在我需要加密密码.使用Java,只需使用setter就可以完成.
你会怎么用Kotlin做到这一点.我找不到结合Android Room,自定义setter和数据类的解决方案.
小智 -5
@Entity(tableName = "users",
indices = arrayOf(Index(value = "nickName", unique = true)))
data class User(@ColumnInfo(name = "nickName") var nickName: String,
@ColumnInfo(name = "password") var password: String) {
var _password = password
set(value): String{
//encrypt password
}
@ColumnInfo(name = "id")
@PrimaryKey(autoGenerate = true)
var id: Long = 0
}
Run Code Online (Sandbox Code Playgroud)
这将创建一个自定义设置器,因此每次设置密码时,您都可以在设置器内对其进行加密。
| 归档时间: |
|
| 查看次数: |
2117 次 |
| 最近记录: |