Avatar ·

Android Room: Wie verwendet man LIKE korrekt in Abfragen mit Parametern?

Hallo zusammen! Ich bin neu in der Android-Entwicklung mit Kotlin und verwende Room für die Arbeit mit einer lokalen Datenbank. Ich habe eine Entität User und möchte eine Benutzersuche nach Namen mit dem SQL-Operator LIKE implementieren.

Hier ist meine DAO-Entität:

@Dao
interface UserDao {
    @Query("SELECT * FROM users WHERE name LIKE '%:searchQuery%'")
    suspend fun searchUsers(searchQuery: String): List<User>
}

Ich rufe diese Methode aus dem ViewModel auf:

class UserViewModel(private val userDao: UserDao) : ViewModel() {
    fun search(query: String) {
        viewModelScope.launch {
            val users = userDao.searchUsers(query)
            // Ergebnisverarbeitung
        }
    }
}