В расширении до принятого ответа в C # 7 флаги перечисления могут быть записаны с использованием двоичных литералов:
[Flags]
public enum MyColors
{
None = 0b0000,
Yellow = 0b0001,
Green = 0b0010,
Red = 0b0100,
Blue = 0b1000
}
Я думаю, что это представление дает понять, как работают флаги под крышки .
Удостоверьтесь, существует ли
существует проблема с запросом: [SQLITE_ERROR] ошибка SQL или недостающая база данных (никакая такая таблица: МЕТРО)
ошибка в Вашем журнале сборки перед ошибкой Вы упомянули в своем описании. Если это, Вы, возможно, забыли добавлять свой новый объект Pojo к классу базы данных. что-то вроде этого
@Database(entities = {Table.class,ForgottenTable.class}, version = 1)
public abstract class Database extends RoomDatabase {
//class codes
}
Удостоверьтесь, что Вы не используете, приостанавливают вместе с LiveData как тип возврата:
@Query("SELECT * FROM ...")
fun getAllTellsByReceiver(receiverUid: String): LiveData<List<Tell>>
У меня есть другой вариант использования для моих приложений.
Так, я пытаюсь возвратить фактическое 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
И вуаля, это работает.
Для любого приземляющегося здесь, с помощью сопрограмма Поток как тип возврата, Вы получите эту ошибку, если Вы случайно заставите функцию приостановить. Так как это возвращает поток, нет никакой потребности приостановить.
Так вместо этого:
@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>