Страница 1 из 1

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

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


Click here to read this article!

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

Добавлено: 05 апр 2018, 18:45
CAH ek
Почему после создания 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

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

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

Добавлено: 05 апр 2018, 20:07
DOOMer
CAH ek
Видимо что-то сделали не так. Покажите код Application-класса и AppDatabase-класса.

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

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

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

Добавлено: 04 май 2018, 11:53
stoplus
У меня такая ошибка при компилировании:
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.
Что это значит и как это исправить?

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

Добавлено: 04 май 2018, 12:53
DOOMer
В аннотацию @Database вашего класса AppDatabase добавьте параметр exportSchema со значением false.

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

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

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

Добавлено: 06 июн 2019, 10:09
Akalar
Из 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);

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

Добавлено: 04 дек 2019, 11:50
genbachae
Прошу подскажите как добавить App класс в манифест?
Гуглил нигде такой информации не могу найти, помогите пожалуйста!

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

Добавлено: 02 мар 2020, 23:46
MeSeenDev
genbachae писал(а):
04 дек 2019, 11:50
Прошу подскажите как добавить App класс в манифест?
Гуглил нигде такой информации не могу найти, помогите пожалуйста!

Код: Выделить всё

<application
        android:name="адрес пакета.App"

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

Добавлено: 18 май 2020, 17:16
Antoxa421
Господа добрый день! Можете подсказать как достать из списка когда я получил все данные. И проверить есть ли там определенный айди?

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

Добавлено: 19 май 2020, 07:41
Antoxa421
И ещё вопрос
@Database(entities = {Employee.class}, version = 1)
public abstract class AppDatabase extends RoomDatabase {
public abstract EmployeeDao employeeDao();
}
разве он должен быть публичный? Просто мне пишет Студия что типо надо не публичны делать

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

Добавлено: 01 дек 2020, 16:41
Nikita
У меня есть база данных с данными в SQLite.
Мне понятно, что для работы с Room нужно прописать на каджую таблицу класс и пометить его и расставить внешние ключи.
Вопрос в том как сделать так чтобы данные из моей базы данных SQLite в папке assert загружались в базу данных которую инициализирует ROOM?

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

Добавлено: 14 апр 2021, 12:52
wiWiT
А где можно скачать урок ?