Ste*_*ail 8 logcat sharedpreferences android-studio preferencefragment
我正在使用 MVVM 和改造构建一个天气应用程序,我最近添加了一个 PreferencesFragmentCompat 子类来使用首选项库实现一些用户设置。这样做之后,我的应用程序将无法运行,并且我不断收到以下几行错误:
2020-04-08 00:54:12.346 18079-18079/? E/de.flogaweathe: Unknown bits set in runtime_flags: 0x8000
2020-04-08 00:54:12.410 18079-18079/com.nesoinode.flogaweather E/libc: Access denied finding property "ro.vendor.df.effect.conflict"
2020-04-08 00:54:12.421 18079-18110/com.nesoinode.flogaweather E/Perf: Fail to get file list com.nesoinode.flogaweather
2020-04-08 00:54:12.421 18079-18110/com.nesoinode.flogaweather E/Perf: getFolderSize() : Exception_1 = java.lang.NullPointerException: Attempt to get length of null array
2020-04-08 00:54:12.421 18079-18110/com.nesoinode.flogaweather E/Perf: Fail to get file list oat
2020-04-08 00:54:12.422 18079-18110/com.nesoinode.flogaweather E/Perf: getFolderSize() : Exception_1 = java.lang.NullPointerException: Attempt to get length of null array
Run Code Online (Sandbox Code Playgroud)
我不知道这些是什么,我在堆栈或谷歌上找不到任何具体的答案。没有迹象表明是什么导致了错误,所以我不知道我是否做错了什么是图书馆的问题。有任何想法吗?
这是我从 xml 资源文件添加首选项的 SettingsFragment :
class SettingsFragment : PreferenceFragmentCompat() {
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
addPreferencesFromResource(R.xml.settings_prefs)
}
}
Run Code Online (Sandbox Code Playgroud)
这是我从 sharedPrefs 中读取一些值的方式:
class UnitProviderImpl(context: Context) : UnitProvider {
private val appContext = context.applicationContext
private val preferences:SharedPreferences
get() = PreferenceManager.getDefaultSharedPreferences(appContext)
override fun getUnitSystem(): String {
val selectedUnitSystemName = preferences.getString(UNIT_SYSTEM_KEY,
UnitSystem.SI.name.toLowerCase(Locale.ROOT))
return selectedUnitSystemName!!
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7157 次 |
| 最近记录: |