相关文章:

Android 知识点总结(目录) https://blog.csdn.net/a136447572/article/details/81027701

一 Activity (UI)

1 实现MvpView接口 ,继承方法
2 创建MvpPresenter2 对象 并new一个对象
3 点击Button调用presenter 方法
4 等待showData() 数据返回

public class MvpActivity extends Activity implements MvpView2 {    TextView text ;    ProgressBar progress;    MvpPresenter2 presenter2 ;    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.mvpactivity);        text = findViewById(R.id.text);        progress = findViewById(R.id.progress);        presenter2 = new MvpPresenter2(this);    }    // button 点击事件调用方法    public void getData(View view){        presenter2.getData();    }    @Override    public void showDialog() {        if(progress.getVisibility() == View.GONE){            progress.setVisibility(View.VISIBLE);        }    }    @Override    public void hideDialog() {        if(progress.getVisibility() == View.VISIBLE){            progress.setVisibility(View.GONE);        }    }    @Override    public void showData(String msg) {        text.setText("请求成功"+msg);    }}

二 MvpView2

public interface MvpView2 {    void showDialog();    void hideDialog();    void showData(String msg);}

三 MvpPresenter2

1 构造函数传入MvpView 对象
2 presenter getData()方法中调用Model的方法 并在Callback回调中调用view的方法,更新UI数据

public class MvpPresenter2 {    MvpView2 mvpView2 ;    public MvpPresenter2(MvpView2 mvpView2) {        this.mvpView2 = mvpView2;    }    public void getData(){        mvpView2.showDialog();        new MvpModel2().getData(new MvpCallBack2() {            @Override            public void onSuccess(String msg) {                mvpView2.showData(msg);            }            @Override            public void onEveryRequest() {                mvpView2.hideDialog();            }        });    }}

四 MvpModel2

1 模拟求情并调用回调

public class MvpModel2 {    public  void getData(final MvpCallBack2 callback){        new Handler().postDelayed(new Runnable() {            @Override            public void run() {                callback.onSuccess("success");                callback.onEveryRequest();            }        },1000);    }}

五 MvpCallBack2

public interface MvpCallBack2  {    void onSuccess(String msg);    void onEveryRequest();}

代码地址

https://download.csdn.net/download/a136447572/10657667

更多相关文章

  1. “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
  2. Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
  3. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  4. 【Android(安卓)应用开发】 自定义组件 宽高适配方法, 手势监听
  5. Android在任意位置由Notification跳向指定fragment
  6. Android(安卓)对话框(Dialog)
  7. android进程间通信:使用AIDL
  8. 最近总结的android疑惑(二)
  9. android解析json(以解析時时价为例),java也是一样的(二)

随机推荐

  1. Android(安卓)图形架构
  2. android中内存调试信息的解读
  3. Android原生(Native)C开发之二:framebuffe
  4. Android Web development Note
  5. Android持久化技术之SharedPreferences存
  6. Android的多媒体框架Opencore代码阅读
  7. Android(安卓)的 ListView 的CheckBox标
  8. 不能找到相应的target
  9. Android(安卓)向桌面添加快捷方式
  10. android用NFS的形式挂载工作.