Я не думаю, что вы можете сравнить с ORM с поставщиком контента. ORMLite предлагает следующие функции link пользователю и имеет отдельную цель при разработке.
Но помимо того, что вы упомянули, это пара других преимуществ поставщика контента.
, если вы хотите поделиться датой между несколькими приложениями или процессами. Может быть, сейчас у вас нет плана сделать это, но похоже, что приложение сильно загружено в базу данных, а в будущем, если вы планируете делиться своими данными с третьим лицом или другим вашим приложением, у вас есть опция с поставщиком контента.
Поставщик контента является стандартным для всех выпусков Android, что также означает, что ваше приложение безопасно с этим. Я уверен, что ORMLite тоже стабилен. Но вы действительно хотите принять такой риск, особенно если это не сэкономит ваше время, или у вас нет каких-либо бизнес-требований для этого. Android API уже фрагментирован, вы хотите взять на себя еще одну нагрузку?
если вы хотите данные загружать в облако легко интегрируется с SyncAdapter
Использование Android функции безопасности и разрешения.
Вы правы в отношении дополнительного кода, необходимого для обработки Контент-провайдера.
Сейчас я работаю над проектом, у нас около 20 таблиц. Я создал DAO для каждой таблицы. Что в основном использует контент-провайдер.
DAO-> Содержание Provider-> SQL Lite Open Helper
Class XyzDao{
private final Context mContext;
XyzDao(Context context){
this.mContext=context;
}
public String getMyData(){
//content provider code
return myData;
}
public void setMyData(String x, int y, double z){
//content provider code to set the data
}
}
Я мог бы сделать без контента поставщика и сейчас с текущим требованием, что бы работал хорошо, но все же я выбрать этот маршрут. Почему вы спросите, почему?
- асинхронной операции
- Простая интеграция с платформой/облака.
- Меньше кода менее ошибка тем меньше драмы (думает, что если у меня есть для выполнения этих задач, которые мы только что обсудили)
И самая лучшая часть из любой деятельности я могу просто использовать мой DAO для доступа к базе данных.
Кроме того, вы можете напрямую получить доступ к SQLLiteOpenHelper из вашего DAO.
В конце дня каждый выбор зависит от вашего бизнес-требования. Если у вас много объектов персистентности, ORMLite может быть хорошим выбором.
Эй, не знаю, является ли поставщик контента потокобезопасным? – toidiu