Android – Использование шаблона Dao с contentProvider

Правильно использовать ContentProvider с шаблоном dao. ? Или это приведет к какой-либо проблеме производительности?

Я попытаюсь объяснить. У меня есть контент-провайдер. Деятельность, дао и фасоль ..

Это код:

class Bean(){ String name; } class Dao{ Activity activity; public Dao(Activity activity){ this.activity = activity; public List<Bean> getAllBean() { Cursor c = activity.managedQuery(Bean.CONTENT_URI, PROJECTION, null, null, Bean.DEFAULT_SORT_ORDER); return BeanMapper.GetAllFromCursor(c); } } } Class Activity{ ..... onCreate(....){ Dao dao = new Dao(this); List<Bean> aList = dao.getAllBean(); } ....} 

что вы думаете ?

С уважением

DAO предназначен для предоставления абстрактного интерфейса к базе данных. ContentProvider уже делает это.

Да, вы можете сделать второй уровень абстракции для предоставления DAO API, но … Вы программируете на мобильном устройстве. Использование API ContentProvider напрямую будет более эффективным. Это много примеров. Например, посмотрите, насколько тесно связаны курсоры и ListViews. Посмотрите на классы CursorAdapter, и вы увидите, как он предназначен для непосредственной сопоставления из курсора базы данных в список на экране. Посмотрите на ContentObserver и посмотрите, как это делается для push-уведомления курсора для обновления в соответствии с измененной базой данных и, в свою очередь, обновления одного элемента списка в ListView, чтобы отразить эту базу данных по мере ее изменения в реальном времени …

Вы собираетесь потратить огромные усилия, изобретая колесо, пытаясь получить весь существующий код для переноса модели DAO. Я не знаю вашего приложения, но я не уверен, что вижу преимущество, которое вы получаете от него.