有考虑用封装好的mvp框架,但是考虑到扩展性,还是自己写的好改。
那就自己来吧。
mvp和mvc最大的不同在于解耦。
mvc里,一个activity上千行,而且代码的逻辑和UI操作都混在一起。
代码的可维护性很差。
而mvp,activity里只做UI相关操作,通过实现的接口来确定执行那些UI操作。
Presenter专门用来做网络请求。 只要方法注释写好,结构会更加清晰。
而且更利于做单元测试。。虽然没怎么做过。。
考虑到性能问题,我没有再基类里创建context,如果presenter需要context,那么子类重写构造方法,传递一个进来即可。
IBaseView里做显示隐藏加载框的方法。
子类再做对应业务的view处理。
还创建了一个只请求一次的view的接口继承自IBaseView,这样有些简单的页面,不用创建view接口。
好啦上代码
convertfactory改一下,可以直接生成bean对象。
之所以我这里生成String,是为了处理的时候更加灵活。
顺带提一句,okhttp的log工具真是太好用了。