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