14
使用Dao模式使用ContentProvider是正确的。 ?或者它会带来任何性能问题?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 API层(针对每个模型)。否则,你最终会得到一个内容提供者,它只能让你部分地在那里(就DAO而言),或者你最终得到一个大量的内容提供者,并且有很多额外的逻辑把它扩展到1000行代码。我使用DAO API层基本上使我总是只为我需要传递模型的每个方法创建一个CRUD类似的方法。 – Bourne 2016-09-30 15:49:01