У меня ошибка в проекте. Когда я использую хранилище данных в своем проекте, я получаю сообщение об ошибке.
Я не собираюсь создавать несколько хранилищ данных для своего проекта. Я хочу создать для него хранилище данных, но при запуске проекта получаю сообщение об ошибке
и я нашел много вопросов на StackOverflow.com, например:
1 – Git push приводит к ошибке "Аутентификация не удалась"
2 – Почему создается несколько хранилищ данных?
и т. д.
, но ошибка моего проекта не решена
как это исправить
это мой код в UserPreferences.kt
class UserPreferences @Inject constructor(context: Context) {
// private val dataStore = context.dataStore
private val Context.dataStore by preferencesDataStore(name = "userPrefs")
private val context = context.applicationContext
companion object {
private val ACCESS_TOKEN_KEY = stringPreferencesKey("accessToken")
private val REFRESH_TOKEN_KEY = stringPreferencesKey("refreshToken")
}
val getAccessToken: Flow
get() = context.dataStore.data.map {
it[ACCESS_TOKEN_KEY]?:""
}
suspend fun setRefreshToken(value: String) {
context.dataStore.edit { it[ACCESS_TOKEN_KEY] = value }
}
val getRefreshToken: Flow
get() = context.dataStore.data.map {
it[REFRESH_TOKEN_KEY]?:""
}
suspend fun setAccessToken(value: String) {
context.dataStore.edit { it[REFRESH_TOKEN_KEY] = value }
}
suspend fun clear() {
context.dataStore.edit { preferences ->
preferences.clear()
}
}
}
Ошибка:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.alpha.caller, PID: 11412
java.lang.IllegalStateException: There are multiple DataStores active for the same file: /data/user/0/com.example/files/datastore/userPrefs.preferences_pb. You should either maintain your DataStore as a singleton or confirm that there is no two DataStore's active on the same file (by confirming that the scope is cancelled).
at androidx.datastore.core.SingleProcessDataStore$file$2.invoke(SingleProcessDataStore.kt:168)
at androidx.datastore.core.SingleProcessDataStore$file$2.invoke(SingleProcessDataStore.kt:163)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at androidx.datastore.core.SingleProcessDataStore.getFile(SingleProcessDataStore.kt:163)
at androidx.datastore.core.SingleProcessDataStore.readData(SingleProcessDataStore.kt:380)
at androidx.datastore.core.SingleProcessDataStore.readDataOrHandleCorruption(SingleProcessDataStore.kt:359)
at androidx.datastore.core.SingleProcessDataStore.readAndInit(SingleProcessDataStore.kt:322)
at androidx.datastore.core.SingleProcessDataStore.readAndInitOrPropagateAndThrowFailure(SingleProcessDataStore.kt:302)
at androidx.datastore.core.SingleProcessDataStore.handleUpdate(SingleProcessDataStore.kt:281)
at androidx.datastore.core.SingleProcessDataStore.access$handleUpdate(SingleProcessDataStore.kt:76)
at androidx.datastore.core.SingleProcessDataStore$actor$3.invokeSuspend(SingleProcessDataStore.kt:242)
at androidx.datastore.core.SingleProcessDataStore$actor$3.invoke(Unknown Source:8)
at androidx.datastore.core.SingleProcessDataStore$actor$3.invoke(Unknown Source:4)
at androidx.datastore.core.SimpleActor$offer$2.invokeSuspend(SimpleActor.kt:122)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
Подробнее здесь: https://stackoverflow.com/questions/723 ... res-active
Как исправить ошибку «Активно несколько хранилищ данных» ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1767876700
Anonymous
У меня ошибка в проекте. Когда я использую хранилище данных в своем проекте, я получаю сообщение об ошибке.
Я не собираюсь создавать несколько хранилищ данных для своего проекта. Я хочу создать для него хранилище данных, но при запуске проекта получаю сообщение об ошибке
и я нашел много вопросов на StackOverflow.com, например:
1 – Git push приводит к ошибке "Аутентификация не удалась"
2 – Почему создается несколько хранилищ данных?
и т. д.
, но ошибка моего проекта не решена
[b]как это исправить[/b]
это мой код в UserPreferences.kt
class UserPreferences @Inject constructor(context: Context) {
// private val dataStore = context.dataStore
private val Context.dataStore by preferencesDataStore(name = "userPrefs")
private val context = context.applicationContext
companion object {
private val ACCESS_TOKEN_KEY = stringPreferencesKey("accessToken")
private val REFRESH_TOKEN_KEY = stringPreferencesKey("refreshToken")
}
val getAccessToken: Flow
get() = context.dataStore.data.map {
it[ACCESS_TOKEN_KEY]?:""
}
suspend fun setRefreshToken(value: String) {
context.dataStore.edit { it[ACCESS_TOKEN_KEY] = value }
}
val getRefreshToken: Flow
get() = context.dataStore.data.map {
it[REFRESH_TOKEN_KEY]?:""
}
suspend fun setAccessToken(value: String) {
context.dataStore.edit { it[REFRESH_TOKEN_KEY] = value }
}
suspend fun clear() {
context.dataStore.edit { preferences ->
preferences.clear()
}
}
}
[b]Ошибка[/b]:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.alpha.caller, PID: 11412
java.lang.IllegalStateException: There are multiple DataStores active for the same file: /data/user/0/com.example/files/datastore/userPrefs.preferences_pb. You should either maintain your DataStore as a singleton or confirm that there is no two DataStore's active on the same file (by confirming that the scope is cancelled).
at androidx.datastore.core.SingleProcessDataStore$file$2.invoke(SingleProcessDataStore.kt:168)
at androidx.datastore.core.SingleProcessDataStore$file$2.invoke(SingleProcessDataStore.kt:163)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at androidx.datastore.core.SingleProcessDataStore.getFile(SingleProcessDataStore.kt:163)
at androidx.datastore.core.SingleProcessDataStore.readData(SingleProcessDataStore.kt:380)
at androidx.datastore.core.SingleProcessDataStore.readDataOrHandleCorruption(SingleProcessDataStore.kt:359)
at androidx.datastore.core.SingleProcessDataStore.readAndInit(SingleProcessDataStore.kt:322)
at androidx.datastore.core.SingleProcessDataStore.readAndInitOrPropagateAndThrowFailure(SingleProcessDataStore.kt:302)
at androidx.datastore.core.SingleProcessDataStore.handleUpdate(SingleProcessDataStore.kt:281)
at androidx.datastore.core.SingleProcessDataStore.access$handleUpdate(SingleProcessDataStore.kt:76)
at androidx.datastore.core.SingleProcessDataStore$actor$3.invokeSuspend(SingleProcessDataStore.kt:242)
at androidx.datastore.core.SingleProcessDataStore$actor$3.invoke(Unknown Source:8)
at androidx.datastore.core.SingleProcessDataStore$actor$3.invoke(Unknown Source:4)
at androidx.datastore.core.SimpleActor$offer$2.invokeSuspend(SimpleActor.kt:122)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
Подробнее здесь: [url]https://stackoverflow.com/questions/72340267/how-to-fix-the-error-there-are-multiple-datastores-active[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия