Комната «Не уверен, как преобразовать курсор в тип возвращаемого значения этого метода»: какой метод?

В расширении до принятого ответа в C # 7 флаги перечисления могут быть записаны с использованием двоичных литералов:

[Flags]
public enum MyColors
{
    None   = 0b0000,
    Yellow = 0b0001,
    Green  = 0b0010,
    Red    = 0b0100,
    Blue   = 0b1000
}

Я думаю, что это представление дает понять, как работают флаги под крышки .

24
задан David Corsalini 27 September 2017 в 16:12
поделиться

4 ответа

Удостоверьтесь, существует ли

существует проблема с запросом: [SQLITE_ERROR] ошибка SQL или недостающая база данных (никакая такая таблица: МЕТРО)


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

@Database(entities = {Table.class,ForgottenTable.class}, version = 1) 
public abstract class Database extends RoomDatabase {
    //class codes
}
0
ответ дан 27 November 2019 в 23:35
поделиться

Удостоверьтесь, что Вы не используете, приостанавливают вместе с LiveData как тип возврата:

@Query("SELECT * FROM ...")
fun getAllTellsByReceiver(receiverUid: String): LiveData<List<Tell>>
0
ответ дан 27 November 2019 в 23:35
поделиться

У меня есть другой вариант использования для моих приложений.

Так, я пытаюсь возвратить фактическое Cursor тип.

, Например:

@Query("SELECT * FROM tbl_favourite")
abstract suspend fun selectAll(): Cursor

вышеупомянутый код будет всегда бросать Error:Not sure how to convert a android.database.Cursor to this method's return type

, Но поскольку я вспоминаю правильно, официальные документы также указали здесь что поддержки Комнаты Cursor.

После попытки отладить журнал ошибок и открыться MyTableDao_Impl.java файл я нашел, что это похоже Cursor, имеют нездоровые отношения с suspend ключевые слова.

Таким образом, я исправил свой код, чтобы быть похожим на это:

@Query("SELECT * FROM tbl_favourite")
abstract fun selectAll(): Cursor

И вуаля, это работает.

0
ответ дан 27 November 2019 в 23:35
поделиться

Для любого приземляющегося здесь, с помощью сопрограмма Поток как тип возврата, Вы получите эту ошибку, если Вы случайно заставите функцию приостановить. Так как это возвращает поток, нет никакой потребности приостановить.

Так вместо этого:

@Query("SELECT * FROM myTable WHERE id = :id")
suspend fun findById(id: Long): Flow<MyDataType>

использование это (без приостанавливают модификатор):

@Query("SELECT * FROM myTable WHERE id = :id")
fun findById(id: Long): Flow<MyDataType> 
0
ответ дан 27 November 2019 в 23:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: