Fehler "Cannot access database on the main thread" in Android Room auf Kotlin
Hallo! Ich bin neu in der Android-Entwicklung mit Kotlin und verwende Room für die lokale Datenspeicherung. Ich habe eine einfache SELECT-Abfrage geschrieben, aber die App stürzt mit dem Fehler ab: "Cannot access database on the main thread". Hier ist mein Code:
```kotlin
// DAO
@Dao
interface UserDao {
@Query("SELECT * FROM users WHERE id = :userId")
fun getUser(userId: Int): User
}
// Activity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val db = Room.databaseBuilder(
applicationContext,
AppDatabase::class.java,
"my-db"
).build()
val user = db.userDao().getUser(1) // Hier tritt der Fehler auf
```
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen
Blogs
Top-Fehler von JavaScript-Anfängern und wie man sie vermeidet