【发布时间】:2021-06-23 12:23:03
【问题描述】:
我正在通过尝试构建一个查找并记住上次连接的 BLE 设备的小应用程序来学习 Kotlin。为了识别最后连接的设备,我决定使用共享首选项保存其 MAC 地址(这是不是最好的方法也是一个问题)。我在网上使用了一个教程,效果很好(我不记得那个页面了),但是今天当我打开项目继续工作时,它给了我错误 - 未解决的参考 getSharedPreferences。我的问题是问题出在哪里 - 我迷路了 :) 这是我有错误第 23 行的课程。
导入 android.content.Context
导入 android.content.SharedPreferences
界面首选项函数{
fun setDeviceMAC(deviceMAC: String)
fun getDeviceMAC(): String
fun setLastConnectionTime(lastConnectionTime: String)
fun getLastConnectionTime(): String
fun clearPrefs()
}
类 PreferenceManager(context: ScanResultAdapter.ViewHolder) : PreferencesFunctions{
private val PREFS_NAME = "SharedPreferences"
private var preferences: SharedPreferences
init {
preferences = context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE)
}
override fun setDeviceMAC(deviceMAC: String) {
preferences[DEVICE_MAC] = deviceMAC
}
override fun getDeviceMAC(): String {
return preferences[DEVICE_MAC] ?: ""
}
override fun setLastConnectionTime(lastConnectionTime: String) {
preferences[LAST_CONNECTION_TIME] = lastConnectionTime
}
override fun getLastConnectionTime(): String {
return preferences[LAST_CONNECTION_TIME] ?: ""
}
override fun clearPrefs() {
preferences.edit().clear().apply()
}
companion object{
const val DEVICE_MAC = "yyyyyyy"
const val LAST_CONNECTION_TIME = "zzzzzzz"
}
}
【问题讨论】:
标签: android kotlin sharedpreferences