Не уверен, как преобразовать курсор в тип возвращаемого значения этого метода - PullRequest
0 голосов
/ 20 ноября 2018

Я совершенно сбит с толку.Так что, может быть, кто-то может пролить свет на меня.У меня есть простой шаблон (полный код ниже), и все же я получаю сообщение об ошибке компилятора, сообщающее об ошибке

: Не уверен, как преобразовать курсор в тип возврата этого метода.

В чем проблема?Я на room_version = "2.1.0-alpha02"

@Entity(tableName = "big_dog")
class BigDog(val big: Boolean, @PrimaryKey val id:Int=1)

@Dao
interface BigDogDao {

    @Insert(onConflict = OnConflictStrategy.REPLACE)
    fun insert(dog: BigDog)

    @Query("SELECT * FROM big_dog LIMIT 1")
    fun getBigDog(): LiveData<BigDog>

}

Ответы [ 2 ]

0 голосов
/ 07 июня 2019

Проверьте журналы при развертывании, чтобы увидеть, есть ли какие-либо уведомления, кроме этой ошибки.Если есть, пройдите и исправьте их.Эту ошибку можно получить, если что-то не так с кодом вашей комнаты.

Для моей конкретной проблемы я случайно добавил дублирующую переменную в одну из своих сущностей.

public int routeId;
/* other code */
public int routeid; 

Это вызвало появление этого предупреждения в журнале сборки.

Комната не может создать соединение SQLite для проверки запросов.Проверка запроса будет отключена.Ошибка: [SQLITE_ERROR] Ошибка SQL или отсутствует база данных (повторяющееся имя столбца: routeId)

Я прошел и все исправил, чтобы не было предупреждений, и проверка запросов была повторно включена, и я больше не получал

ошибка: Не уверен, как преобразовать курсор в тип возвращаемого значения этого метода.

0 голосов
/ 09 декабря 2018

Проверьте файл приложения.Старайтесь не смешивать зависимости компонентов до AndroidX и AndroidX в вашем проекте.
Обратите внимание на группу пространств имен зависимостей.У них должно быть похожее начало.
В моем примере это "android.arch.____:X.X.X"

dependencies{
   ...

   def lifecycle_version = "1.1.1"
   def room_version = "1.1.1"

   // Lifecycle components
   implementation "android.arch.lifecycle:extensions:$lifecycle_version"
   annotationProcessor "android.arch.lifecycle:compiler:$lifecycle_version"

   // Room components
   implementation "android.arch.persistence.room:runtime:$room_version"
   annotationProcessor "android.arch.persistence.room:compiler:$room_version"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...