Как правильно использовать ContentProvider (в части архитектуры приложения)?
Добрый день!
Вопрос простой, подскажите, пожалуйста, как правильно применять ContentProvider для нескольких таблиц БД? Либо нужно делать на каждую таблицу свой ContentProvider?
Читал разные мнения, в основном ContentProvider используют в качестве некой ORM над БД без выхода данных наружу, хотя суть ContentProvider в организации внешнего доступа к данным приложения. Поэтому хочу сразу разобраться в вопросе, чтоб потом переделывать меньшее количество раз.
У меня есть рабочий ContentProvider для одной таблицы, возникла необходимость воткнуть еще несколько таблиц, и я не совсем понимаю, как это реализовать. Если все пихать в один ContentProvider, то он распухнет сильно, значит нужно несколько делать, но непонятно, насколько это правильное решение...
В общем, подскажите варианты с обоснованием плюсов/минусов, как народ делает это...
Спасибо!
За все время, что я разрабатываю под Android, ни разу не использовал ContentProvider. Если вам нужно просто сохранять и извлекать данные из БД, то можете выбрать одну из библиотек, коих сейчас огромное множество.
- быстрая встраиваемость в проект
- удобный синтаксис построения SQL-запросов
- поддержка RxJava 2
- работает с Kotlin
- есть возможность отслеживать изменения в БД
- удобный механизм миграций
Всю инфу по работе с библиотекой можно найти в документации.
Валерий В., пока нигде). Хотелось побыстрее выпустить библиотеку, чтобы сильно не затягивать, и была мотивация работать дальше. В следующей версии хочу запилить кодогенерацию и тогда уже можно говорить о бенчмарках.