База данных комнат в библиотеке Android и Объекты и Дао в проекте Android - PullRequest
1 голос
/ 28 мая 2020

Я хочу реализовать базу данных Room в своем приложении, но я хочу сделать это, создав проект библиотеки.

Проект библиотеки будет хранить данные * проект 1018 * будет иметь объекты и Dao

Возможно ли это?

Для этого мне нужно реализовать Комнату как в проекте Android, так и в Библиотеке

Но могу ли я иметь Дао и Объекты в проекте Android и Базе данных в Библиотека

Почему я хочу это сделать. Я хочу создать эту функцию в общем c способе, чтобы ее можно было использовать в другом моем проекте. Кроме того, библиотека не просто хранит данные, она будет иметь некоторые автономные функции, которые читают автономную таблицу данных и проверяют соединение inte rnet, выбирают данные из таблицы и отправляют их на сервер.

Ничего из этого еще не реализовано. Я думаю, какой подход является правильным

Спасибо за ваши предложения

R

Ответы [ 2 ]

0 голосов
/ 28 мая 2020

Очень хочется переместить Room в отдельный модуль, поскольку он Android специфичен c и нарушает принцип чистой архитектуры. Вот с чего вы можете начать, по крайней мере, это выглядит примерно так: другой вопрос о стеке и посмотреть на все ответы.

Насчет повторного использования, наверное, будет довольно сложно. Не уверен, что времени, которое вы потратите на то, чтобы сделать его универсальным, будет меньше, чем при его реализации в каждом проекте. Так что учитывайте время в учетной записи.

Случай, когда это имеет смысл.
В моей компании мы сделали следующее. У нас есть несколько сопутствующих продуктов (несколько приложений) с похожими пользовательскими логами c. Итак, у нас есть библиотека, которая заботится обо всех логинах входа в систему / истечении срока действия токена c и т. Д. И обеспечивает простой интерфейс для приложения для обработки учетной записи пользователя. Единая кодовая база, полезная при исправлении ошибок. И подключите эту библиотеку к каждому проекту как общий модуль. Но, тем не менее, каждое приложение имеет свою собственную rnet связь и базу данных из-за специфичных для домена c данных.
Лучшее для тестирования и архитектуры - переместите всю комнату и rnet logi c в модуль в приложении. Доступ к нему через интерфейсы. Вы можете поделиться этим модулем между приложениями.

0 голосов
/ 28 мая 2020

Я думаю, вы можете использовать dynamic feature module, потому что это зависимость от app module, и вы можете использовать Dao и Objects из приложения.

...