(4)View 层:
package com.test.mvp.mvpdemo.mvp.v1.view; import android.app.ProgressDialog;import android.os.Bundle;import android.os.Handler;import android.support.v7.app.AppCompatActivity;import android.widget.TextView;import android.widget.Toast; import com.test.mvp.mvpdemo.R;import com.test.mvp.mvpdemo.mvp.v1.MainContract;import com.test.mvp.mvpdemo.mvp.v1.presenter.MainPresenter; /** * MVP 的写法,Version 1: 基础写法 */public class MainActivity extends AppCompatActivity implements MainContract.IMainView {private TextView tv;private MainPresenter mPresenter;@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);initViews();mPresenter = new MainPresenter(this); mPresenter.handlerData(); }private void initViews() { tv = findViewById(R.id.tv); }@Override public void showDialog() { ProgressDialog dialog = new ProgressDialog(this); dialog.show(); new Handler().postDelayed(new Runnable() { @Override public void run() { dialog.dismiss(); } }, 1500); }@Override public void succes(String content) { runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(MainActivity.this, "" + content, Toast.LENGTH_SHORT).show(); tv.setText(content); } }); }}使用 MVP 架构,我们可以做到 Model 层和 Presenter 层的复用,如果不同的 Veiw 层需要相同的数据,那么就无需修改 Model 层和 Presenter 层,直接实现接口就可以了 。
到此为止,一个从网络获取数据并显示的案例就被我们改写为 MVP 架构了,这是最基础的 MVP 的入门版本,其中精要的就是interface 接口的使用,而接口的用法也是 Java 的基础,所以本篇文章内容应该不难理解 。而 MVP 架构也无需引入哪些库、框架啊等等,它更是一种编程架构、编程思想,并且现在也非常流行,所以我们一定要搞定它 。
最后如果你看到了这里,觉得文章写得不错就给个赞呗!欢迎大家评论讨论!如果你觉得那里值得改进的,请给我留言 。一定会认真查询,修正不足,定期免费分享技术干货 。谢谢!
推荐阅读
- 阿里架构总监13张PPT一次讲透中台架构
- B/S架构web请求过程详解
- Android打包之多版本、多环境、多渠道
- 大型网站架构负载均衡详解
- 一文搞懂MySQL的Join,聊一聊秒杀架构设计
- InputManagerService 十分钟让你了解Android触摸事件原理
- 用电脑控制Android手机,玩游戏看视频都可以,还支持无线连接
- JD架构师分享:微服务架构到底是什么东西
- Android:手把手带你清晰梳理自定义View工作全流程
- 现在程序员最火的微服务架构与SpringCloud,你真的弄清楚了吗?