Как работать с SharedPreferences из функции в отдельном файле. Unresolved reference: getSharedPreferences
Есть отдельный файл с функциями. В одной из функций необходимо работать с SharedPreferences.
fun newFile(): Boolean {
var flag = false
val sharedPref: SharedPreferences = getSharedPreferences("setupdate", MODE_PRIVATE)
sharedPref.getString("name", "").toString()
return flag
}
Выдает ошибку : Unresolved reference: getUnresolved reference: getSharedPreferences
Как работать с SharedPreferences ?
Ответы (1 шт):
Автор решения: Elizabeth
→ Ссылка
Метод getSharedPreferences
не может быть вызван напрямую в функции, которая не является частью класса, расширяющего Context (например, Activity
, Service
и т.д.). Вам требуется передать контекст в вашу функцию или вызвать её из контекста, который предоставляет доступ к SharedPreferences
. Например:
- Передача контекста непосредственно в саму функцию:
fun newFile(context: Context): Boolean {
var flag = false
val sharedPref: SharedPreferences =
context.getSharedPreferences("setupdate", Context.MODE_PRIVATE)
...
- Использование функции внутри
Activity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Вызов функции newFile с передачей контекста
val result = newFile(this)
println("Result: $result")
}
fun newFile(context: Context): Boolean {
var flag = false
val sharedPref: SharedPreferences = context.getSharedPreferences("setupdate", Context.MODE_PRIVATE)
val name = sharedPref.getString("name", "")
...