Проблемът с вашия код е не че предавате аргументите като цяло число (не го правите), но аргументите не се разпознават като TEXT литерали, защото не са затворени в единични кавички, така че SQLite смята, че са имена на колони.
Препоръчителният начин за предаване на параметрите към rawQuery() това е:
fun userPresent (user: String, pass: String): Boolean {
val db = writableDatabase
val query = "select * from $TABLE_NAME where username = ? and password = ?"
val cursor = db.rawQuery(query, arrayOf(user, pass))
val result = cursor.count > 0
cursor.close()
db.close()
return result
}
Заместителите ? ще вземе техните стойности от съответните елементи на масива, подадени като 2-ри аргумент на rawQuery() и не е необходимо да свързвате единичните кавички, за да избегнете риска от инжектиране на sql.
След това и преди оператора return трябва да затворите и двата Cursor и db обект.