Метод edit
Метод edit класса
SharedPreferences
создаёт объект
SharedPreferences.Editor
для пакетной записи. Через editor
вызывают putString и другие put-методы,
затем apply
или commit,
чтобы сбросить изменения на диск.
Синтаксис
val editor = prefs.edit()
Пример
Давайте запишем строку через edit и apply:
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.material3.Text
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val prefs = getSharedPreferences("prefs", MODE_PRIVATE)
prefs.edit()
.putString("abcde", "12345")
.apply()
val res = prefs.getString("abcde", "")
setContent {
Text(text = res ?: "abcde")
}
}
}
После apply в prefs сохранится "12345",
на экране Text покажет эту строку.
Пример
Давайте сохраним две пары в одном editor:
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.material3.Text
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val prefs = getSharedPreferences("prefs", MODE_PRIVATE)
val editor = prefs.edit()
editor.putString("abcde", "12345")
editor.putString("12345", "abcde")
editor.apply()
val res = prefs.getString("abcde", "")
setContent {
Text(text = res ?: "abcde")
}
}
}
В файле появятся обе пары,
getString для "abcde" вернёт "12345".
Смотрите также
-
класс
SharedPreferences.Editor,
который возвращает edit -
метод
apply,
которым сохраняют асинхронно -
метод
commit,
которым сохраняют синхронно -
метод
getString,
которым читают после записи