Как создать таблицу в Room Library, используя rawquery? - PullRequest
0 голосов
/ 11 ноября 2018

Я использовал sqlite в моем предыдущем приложении для создания базы данных. Теперь я хочу создать новое приложение, используя Room library. У меня проблема, когда у меня более 100 таблиц. я должен объявить все мои таблицы в классе по одной для всех моих таблиц, используя аннотацию @Entity? могу ли я сделать таблицы и вставки использовать rawquery как то, что я сделал в sqlite, например, так:

@Override public void onCreate(SQLiteDatabase db) { db.execSQL("CREATE TABLE IF NOT EXISTS APP_VERSION( ID INTEGER PRIMARY KEY, LAST_UPDATE TEXT"); }

и могу ли я использовать rawquery для вставки следующим образом: INSERT INTO table_name VALUES (value1, value2, value3, ...);

1 Ответ

0 голосов
/ 11 ноября 2018

нужно ли объявлять все мои таблицы в классе по одной для всех моих таблиц с помощью аннотации @Entity?

Да.

Могу ли я сделать таблицы и вставки, используя rawquery, как я сделал в sqlite, например:

Нет. Или, что более важно, Комната будет только мешать вам делать это.

потому что я получил запрос на создание таблицы из веб-сервиса

Комната предназначена для обычных приложений Android, где вы знаете определения таблиц во время компиляции и можете написать для них классы Java / Kotlin (сущности, DAO, RoomDatabase, @ForeignKey и т. Д.).

Если вы не знаете определения таблиц во время компиляции, вам нужно будет напрямую работать с SQLite или найти какую-то другую библиотеку, которая не требует знания схемы базы данных во время компиляции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...