Android – 使用Dao模式和contentProvider

使用dao模式使用ContentProvider是正确的。 ? 否则会带来任何性能问题?

我会尽力解释。 我有一个contentProvider。 一个活动,一个道和一个豆

这是代码:

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(); } ....} 

你怎么看 ?

问候

Solutions Collecting From Web of "Android – 使用Dao模式和contentProvider"

DAO旨在为数据库提供抽象接口。 ContentProvider已经这样做了。

是的,您可以创build第二个抽象层来提供DAO API,但是…您正在使用移动设备进行编程。 直接使用ContentProvider API会更有效率。 这有很多例子。 例如,查看Cursors和ListView的耦合程度 – 查看CursorAdapter类,您将看到它是如何直接从数据库光标映射到屏幕上的列表的。 查看ContentObserver,看看它是如何推送 – 通知游标更新以匹配已更改的数据库,然后更新ListView中的单个列表元素以反映该数据库在实时更改时的状态。

您将花费巨大的精力重新尝试通过DAO模型获取所有现有代码。 我不知道你的申请,但我不知道我看到你从中获得的好处。