Android Datastore: неразрешенная ссылка редактирование, StringPreferenceskeyAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Android Datastore: неразрешенная ссылка редактирование, StringPreferenceskey

Сообщение Anonymous »

Я пишу приложение для Android, которое использует Datastore. Я не могу собрать даже урезанную версию-я всегда получаю ошибку компиляции для операторов импорта, в которой говорится неразрешенная ссылка на редактирование , StringPreferenceskey и так далее предпочтительный,:

Task :app:compileDebugKotlin FAILED
e: file:///C:/Users/\/MainActivity.kt:14:44 Unresolved reference 'edit'.
e: file:///C:/Users/\/MainActivity.kt:15:44 Unresolved reference 'stringPreferencesKey'.
e: file:///C:/Users/\//MainActivity.kt:25:44 Unresolved reference 'stringPreferencesKey'.
e: file:///C:/Users/\//MainActivity.kt:31:41 Unresolved reference 'edit'.
e: file:///C:/Users/\//MainActivity.kt:32:17 Unresolved reference 'it'.
< /code>

Код: Выделить всё

import android.content.Context
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.Text
import androidx.compose.material3.Surface
import androidx.compose.ui.Modifier
import androidx.datastore.core.DataStore
import androidx.datastore.preferences.core.Preferences
import androidx.datastore.preferences.core.edit
import androidx.datastore.preferences.core.stringPreferencesKey
import androidx.datastore.preferences.preferencesDataStore
import androidx.lifecycle.lifecycleScope
import de.dzwfd.example.glucocollect.ui.theme.MyTheme
import kotlinx.coroutines.launch

val Context.dataStore: DataStore by preferencesDataStore(name = "settings")

class MainActivity : ComponentActivity() {
val DS_USER: Preferences.Key = stringPreferencesKey("DS_USER")

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val user = "Frank"
lifecycleScope.launch {
this@MainActivity.dataStore.edit {
it[DS_USER] = user
}
}
enableEdgeToEdge()

setContent {
Surface(modifier = Modifier.fillMaxSize()) {
Text("Hallo")
}
}
}
}
< /code>
build.gradle.kts (dependency group):
dependencies {
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.lifecycle.runtime.ktx)
implementation(libs.androidx.activity.compose)
implementation(libs.androidx.datastore.preferences)
implementation(platform(libs.androidx.compose.bom))
implementation(libs.androidx.ui)
implementation(libs.androidx.ui.graphics)
implementation(libs.androidx.ui.tooling.preview)
implementation(libs.androidx.material3)
implementation(libs.androidx.lifecycle.runtime.compose.android)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
androidTestImplementation(platform(libs.androidx.compose.bom))
androidTestImplementation(libs.androidx.ui.test.junit4)
debugImplementation(libs.androidx.ui.tooling)
debugImplementation(libs.androidx.ui.test.manifest)
}
< /code>
I stripped-down the app as far as possible and checked the gradle file. I'm using the latest version of 1.1.5 for androidx.datastore:datastore-preferences
и последняя версия Kotlin Kotlin = "2.1.20" .
Это, кажется, происходит только при создании приложения, встроенный компилятор Android Studio не показывает никаких проблем. Это также кажется эксклюзивным для чистых сборок с версией хранилища данных 1.1.5.>

Подробнее здесь: https://stackoverflow.com/questions/795 ... erenceskey
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»