以下为本人学习笔记。
MVP模式,字如其名。代表Model Presenter View ,即模型,接口,视图。由MVC的Controller和Model和View组成,但代码多起来时,不适合调用,Controller是不适合调用模型的。所以引入MVP模式,使用接口之后就可以将Model和View分开,使程序修改时可以,只动Model或者View或Presenter。
接下来是demo来解释这个MVP模式;
首先要用到jar包导入
implementation 'com.loopj.android:android-async-http:1.4.9'
之后是截图
首先是View:它不像MVC模式是将Activity归为Controller。
interface MainView
public interface MainView { void showData(MainModelBean mainModelBean); void showProgress(); void hideProgress(); }
MainActivity实现ManView接口
public class MainActivity extends AppCompatActivity implements MainView { private ProgressBar mProgressBar; private TextView text; private MainPresenter mMainPresenter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView() { text = (TextView) findViewById(R.id.text); mProgressBar = (ProgressBar) findViewById(R.id.mProgressBar); mMainPresenter = new MainPresenter(this); //制造延迟效果 new Handler().postDelayed(new