Единственный способ скомпилировать и запустить его — использовать следующий код:
Код: Выделить всё
val dataStore: DataStore
= MultiProcessDataStoreFactory.create(
serializer = object : Serializer {
override val defaultValue: Preferences
get() = PreferencesSerializer.defaultValue
override suspend fun readFrom(input: InputStream): Preferences {
return PreferencesSerializer.readFrom(input.source().buffer())
}
override suspend fun writeTo(t: Preferences, output: OutputStream) {
val bufferedSink = output.sink().buffer()
PreferencesSerializer.writeTo(t, bufferedSink)
bufferedSink.flush()
}
},
scope = CoroutineScope(Dispatchers.IO + SupervisorJob()),
produceFile = {
context.preferencesDataStoreFile(propertiesFileName)
}
)
Код: Выделить всё
implementation("androidx.datastore:datastore-preferences:1.2.0")
implementation("androidx.datastore:datastore-core:1.2.0")
implementation("androidx.datastore:datastore-preferences-core:1.2.0")
Это не серьезная проблема, поскольку у меня есть этот код только в одном месте, но он все равно «выглядит некрасиво».
Подробнее здесь: https://stackoverflow.com/questions/798 ... in-android
Мобильная версия