Урок 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
Сообщения: 2
Зарегистрирован: 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);

genbachae
Сообщения: 9
Зарегистрирован: 20 авг 2019, 08:06

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

Сообщение genbachae » 04 дек 2019, 11:50

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

Аватара пользователя
MeSeenDev
Сообщения: 1
Зарегистрирован: 02 мар 2020, 23:44

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

Сообщение MeSeenDev » 02 мар 2020, 23:46

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

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

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

Antoxa421
Сообщения: 2
Зарегистрирован: 18 май 2020, 17:12

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

Сообщение Antoxa421 » 18 май 2020, 17:16

Господа добрый день! Можете подсказать как достать из списка когда я получил все данные. И проверить есть ли там определенный айди?

Antoxa421
Сообщения: 2
Зарегистрирован: 18 май 2020, 17:12

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

Сообщение Antoxa421 » 19 май 2020, 07:41

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

Nikita
Сообщения: 1
Зарегистрирован: 01 дек 2020, 16:37

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

Сообщение Nikita » 01 дек 2020, 16:41

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

wiWiT
Сообщения: 6
Зарегистрирован: 14 апр 2021, 12:49
Откуда: Москва

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

Сообщение wiWiT » 14 апр 2021, 12:52

А где можно скачать урок ?
Всё приходит с опытом

Ответить