android裡面用到的頁面資料互動設計模式主要有三類,主要是mvc、mvp、mvvm,我用的最多的就是mvp,我個人覺得mvp更容易讓人理解,因為它的邏輯性比較嚴密,而且也方便後期的在開發,當然缺點就是要寫多寫很多類和多寫很多**
主要分為三大塊:
model:負責資料,持久化等操作
view:介面,檢視,負責ui的繪製和使用者的互動
present:連線model和view的橋梁
這裡舉個例子,這裡的網路資料獲取用到了okhttp,還有json資料解析,用到了gson
新建三個包:model、view、present
然後就是建類了,model、present、view分別寫乙個介面,比如這裡view:
public
inte***ce articlecommentsview
model:
//由於這裡我使用了okhttp進行網路資料的獲取,所以寫了乙個回掉
public
inte***ce articlecommentsmodel
}
present:
public
inte***ce articlecommentspresenter
然後就是需要寫實體類去實現這三個介面
model:
public
class
articlecommentsmodelimpl
implements
articlecommentsmodel
@override
public
void
onresponse(string response, int id)
callback.loadarticlecommentsdatas(comments.getdata().getdata());
}});
}@override
public
void
loadnomoredatas()
}
present://因為後台給的介面有頁數,所以就新增了乙個nextpage的翻頁處理
public
class
articlecommentspresenterimpl
implements
articlecommentspresenter
@override
public
void
loaddatas(string content)
@override
public
void
loadnomoredatas()
@override
public
void
loadfailed()
});nextpage ++;
}@override
public
void
refresh(string content)
}
然後mvp這邊就寫完了,剩下的就是在activity或者fragment中去處理這些了
比如:
public
class
articledetailsactivity
extends
baseactivity
implements
articlecommentsview
這裡只需要對present介面類定義全域性變數,然後在oncreate中進行例項化
·commentspresenter = new articlecommentspresenterimpl(this);
commentspresenter.loaddatas();
然後在實現view的方法裡面進行資料和頁面的互動處理
大體上就是這樣了哦,希望對你有所幫助,謝謝了
urlhandler 類:
public
class
urlhandler &page=
* */
public
static
final string handlurl(string url,object... params)", params[i]+"");
}return url;}}
MVP設計模式
建立ipresenter介面,把所有業務邏輯的介面都放在這裡,並建立它的實現presentercompl 在這裡可以方便地檢視業務功能,由於介面可以有多種實現所以也方便寫單元測試 建立iview介面,把所有檢視邏輯的介面都放在這裡,其實現類是當前的activity fragment activity...
MVP設計模式簡介
mvp設計模式是相對於mvc設計模式的,要介紹mvp設計模式,我們首先先了解下什麼是mvc設計模式,在mvc設計模式中,activity應該是屬於view這一層。而實際上它既承擔了view,同時也包含了一些controller的東西在裡面。我們設計程式的乙個基本原則就是高內聚,低耦合。傳統的mvc設...
設計模式之 MVP
mvp是在mvc架構基礎上演變過來的。其中p presenter 處理了controller裡邊的邏輯,其實就是presenter分擔了controller的壓力。mvp的資料流向如下圖所示,分別通過介面實現。實際開發中controller一般都是存在的。只不過controller會把邏輯處理部分交...