【问题标题】:android kotlin shared preferences unresolved reference getSharedPreferences errorandroid kotlin shared preferences unresolved reference getSharedPreferences 错误
【发布时间】: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


    【解决方案1】:

    您的争论上下文不是活动或片段,您需要这两个来调用 getSharedPreferences 方法。 class PreferenceManager(context: Context) : PreferencesFunctions{

    【讨论】:

      猜你喜欢
      • 2021-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-27
      • 2018-03-22
      • 1970-01-01
      相关资源
      最近更新 更多