最近接手拉个公司新项目,不过看了一段时间才发现是mvp的,所以自己也看了一些博客和代码,感觉还是理解的不好,来自己总结下加深理解.
就拿登陆功能来说:
1.绝对会有个接口比如ILogin,这个接口要有的方法获取输入框的文本(getUsername() , getPassword()),以及显示toast,这个接口的主要作用是在Activity中实现接口,实现接口的相应方法,共Presenter中使用这些方法.
2.LoginPresenter:这是个类,它用来处理一些逻辑,比如用户点击登陆按钮后,获取输入框的值,验证是否为null,长度…..之类的,最后请求服务器,这个类的构造方法一般就是得到ILogin的引用,是为了能调用ILogin的一些方法,比如上面写的getUsername(),这个类里需要抽象方法将Activity和LoginPresenter关联起来,大概就是new LoginPresenter(Activity.this),因为Activity实现啦接口ILogin啦,所以在LoginPresenter中的构造方法得到的就是ILogin的实现
3.Activity:实现ILogin接口,并实现接口的方法,在用户点击登陆的监听里就可以调用LoginPresenter的登陆逻辑的方法
大概就是这么个思路,我理解的还是不好
参考的文章:http://blog.csdn.net/fancy_xty/article/details/52149548