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