OlegOleg1980
@OlegOleg1980
программист

Как правильно использовать ContentProvider (в части архитектуры приложения)?

Добрый день!
Вопрос простой, подскажите, пожалуйста, как правильно применять ContentProvider для нескольких таблиц БД? Либо нужно делать на каждую таблицу свой ContentProvider?
Читал разные мнения, в основном ContentProvider используют в качестве некой ORM над БД без выхода данных наружу, хотя суть ContentProvider в организации внешнего доступа к данным приложения. Поэтому хочу сразу разобраться в вопросе, чтоб потом переделывать меньшее количество раз.
У меня есть рабочий ContentProvider для одной таблицы, возникла необходимость воткнуть еще несколько таблиц, и я не совсем понимаю, как это реализовать. Если все пихать в один ContentProvider, то он распухнет сильно, значит нужно несколько делать, но непонятно, насколько это правильное решение...
В общем, подскажите варианты с обоснованием плюсов/минусов, как народ делает это...
Спасибо!
  • Вопрос задан
  • 126 просмотров
Пригласить эксперта
Ответы на вопрос 1
ImangazalievM
@ImangazalievM
Android-программист
За все время, что я разрабатываю под Android, ни разу не использовал ContentProvider. Если вам нужно просто сохранять и извлекать данные из БД, то можете выбрать одну из библиотек, коих сейчас огромное множество.

Например: https://github.com/ImangazalievM/ReActiveAndroid

Из плюсов:

- быстрая встраиваемость в проект
- удобный синтаксис построения SQL-запросов
- поддержка RxJava 2
- работает с Kotlin
- есть возможность отслеживать изменения в БД
- удобный механизм миграций

Всю инфу по работе с библиотекой можно найти в документации.

Есть еще и другие, но они не такие крутые, как мой велосипед. Всех их можно посмотреть здесь - https://android-arsenal.com/tag/69.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы