Урок 5. Room. Основы

Ответить
Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Урок 5. Room. Основы

Сообщение damager82 » 09 янв 2018, 10:49

Библиотека Room предоставляет нам удобную обертку для работы с базой данных SQLite. В этом уроке рассмотрим основы. Как подключить к проекту. Как получать, вставлять, обновлять и удалять данные. 


Click here to read this article!
Последний раз редактировалось damager82 25 июн 2018, 12:50, всего редактировалось 9 раз.
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

CAH ek
Сообщения: 2
Зарегистрирован: 05 апр 2018, 18:39

Re: Урок 5. Room. Основы

Сообщение CAH ek » 05 апр 2018, 18:45

Почему после создания Application класса приложение сразу после запуска вылетает со следующей ошибкой?
FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to create application kotlinapp1.App: java.lang.RuntimeException:
cannot find implementation for kotlinapp1.AppDatabase. AppDatabase_Impl does not exist

Все шаги до этого сделал как в уроке.. :(

Аватара пользователя
DOOMer
Сообщения: 18
Зарегистрирован: 12 май 2017, 16:15
Откуда: RU.MO.Balashikha
Контактная информация:

Re: Урок 5. Room. Основы

Сообщение DOOMer » 05 апр 2018, 20:07

CAH ek
Видимо что-то сделали не так. Покажите код Application-класса и AppDatabase-класса.
Вертексы должны образовывать конвексный браш...

QNotez - простое и быстрое приложение для создания заметок

CAH ek
Сообщения: 2
Зарегистрирован: 05 апр 2018, 18:39

Re: Урок 5. Room. Основы

Сообщение CAH ek » 05 апр 2018, 20:52

Уже узнал ответ.
Я конвертировал java в kotlin, а для него нужно было ещё заменить annotationProcessor на kapt и добавить к плагинам apply plugin 'kotlin-kapt'

stoplus
Сообщения: 1
Зарегистрирован: 04 май 2018, 11:50

Re: Урок 5. Room. Основы

Сообщение stoplus » 04 май 2018, 11:53

У меня такая ошибка при компилировании:
Schema export directory is not provided to the annotation processor so we cannot export the schema. You can either provide `room.schemaLocation` annotation processor argument OR set exportSchema to false.
Что это значит и как это исправить?

Аватара пользователя
DOOMer
Сообщения: 18
Зарегистрирован: 12 май 2017, 16:15
Откуда: RU.MO.Balashikha
Контактная информация:

Re: Урок 5. Room. Основы

Сообщение DOOMer » 04 май 2018, 12:53

В аннотацию @Database вашего класса AppDatabase добавьте параметр exportSchema со значением false.
Вертексы должны образовывать конвексный браш...

QNotez - простое и быстрое приложение для создания заметок

sergeyri
Сообщения: 2
Зарегистрирован: 30 май 2018, 04:10

Re: Урок 5. Room. Основы

Сообщение sergeyri » 30 май 2018, 06:00

Добрый день! Однако странно, ведь при создании новой таблицы в базе SQLite не требует обновления версии. В одном моем приложении таблицы создаются динамически, в результате действий пользователя. Как быть в этом случае при использовании Room?

Akalar
Сообщения: 1
Зарегистрирован: 06 июн 2019, 10:06

Re: Урок 5. Room. Основы

Сообщение Akalar » 06 июн 2019, 10:09

Из Database объекта получаем Dao.

EmployeeDao employeeDao = db.employeeDao();

Теперь мы можем работать с Employee объектами. Но эти операции должны выполняться не в UI потоке. Иначе мы получим Exception.
А это как? Выдало ошибку:
Caused by: java.lang.IllegalStateException: Cannot access database on the main thread since it may potentially lock the UI for a long period of time.
в строке:
employeeDao.insert(employee);

Ответить