前言
首先我要说明的是:我知道MVP已经成为主流,但是鉴于本人的思维还没能理解,打算先从标准MVC入手,然后转入MVP模式。过程其实还是很有趣的,最重要的事情是理解思想。
思想
MVC其实是【model、view、controller】这三个词的简称,就算是把这几个直接翻译过来也不是很好理解。从view说起,view就是你眼睛看到的,手指摸到的那些东西,因为是一些可视化的东西所以起了这么个名字。model主要是用来进行一些耗时操作的,例如,联网请求都放在这里头是比较好的。controller,是起到连接model和view的功能。你联网获取到了一些数据,然后需要让它显示出来,这个操作需要controller来完成。所以你看他的名字实际上叫做控制器,控制输入【来自于model中的联网数据】控制输出【使数据显示在view上】,所以实际上activity往往扮演的就是controller的职责,但是实际上,由于很多开发者对于架构的体会不明朗,经常把联网操作与UI绘制都写在activity中,这样的话会导致activity的负担过重。为了避免这一现象应该对结构进行合理安排。
实例【以Retrofit联网为例】
先看主页布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:id="@+id/btnMain"
android:layout_width=