本周进行了安卓的学习,主要内容如下:
1.android的MVP模式的使用;
2.近期谷歌推行的最新布局控件的使用;
3.java爬虫与安卓的组合;
android的MVP模式
为了进一步减轻Activity的压力,所以决定将Activity只做一些与View相关的事情,那处理业务流程的部分由模块-Presenter进行。
eg:
View: 只处理UI及页面效果的细节,向Presenter暴露更新UI的方法;并且持有Presenter的引用,通过Presenter对其暴露的方法进行一些初始化页面以及业务提交等动作,但不关注动作的具体实现。
Presenter: 只关注业务逻辑的细节,持有View的引用,通过调用View层向其暴露的方法去更新UI (这里的View引用不是具体某个控件的引用,我们也不能让Presenter持有某一控件的引用);
并且也持有一个或者多个model的引用(在于你想将Presenter,也就是业务逻辑拆分的程度,避免Presenter也像MVC中Controller一样被撑爆),可以使用model,通过对数据库或者网络的访问从而拿到数据,
调用View暴露的方法去刷新UI。
Model:向Presenter暴露获取、存储、提交数据等方法,具体实现细节Presenter不关注;Model通过Callback 将数据返回给Presenter。