Класс SharedPreferences.Editor
Класс SharedPreferences.Editor
открывается методом
edit
у SharedPreferences.
Через него кладут строки и числа,
удаляют ключи и очищают файл,
пока не вызовут
apply
или commit.
До сохранения читать новые значения
из SharedPreferences нельзя.
Синтаксис
prefs.edit()
.putString("abcde", "12345")
.apply()
Методы
| Метод | Описание |
|---|---|
putString |
Записывает строку по ключу. |
putInt |
Записывает int по ключу. |
putLong |
Записывает long по ключу. |
putBoolean |
Записывает boolean по ключу. |
remove |
Удаляет пару по ключу. |
clear |
Удаляет все пары из файла. |
apply |
Сохраняет изменения асинхронно. |
commit |
Сохраняет изменения синхронно и возвращает успех. |
Пример
Давайте запишем строку и применим 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)
prefs.edit()
.putString("abcde", "12345")
.apply()
val res = prefs.getString("abcde", "")
setContent {
Text(text = res ?: "abcde")
}
}
}
SharedPreferences.Editor сохранит "12345"
по ключу "abcde" в prefs.
Пример
Давайте удалим ключ через remove и commit:
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").commit()
prefs.edit().remove("abcde").commit()
val res = prefs.contains("abcde")
setContent {
Text(text = if (res) "12345" else "abcde")
}
}
}
После remove ключ пропадёт из prefs,
на экране Text покажет "abcde".
Смотрите также
-
класс
SharedPreferences,
откуда вызывают edit -
метод
edit,
которым пишут в DataStore, а не в xml -
метод
clear,
которым очищают весь файл -
метод
getSharedPreferences,
которым открывают prefs