码迷,mamicode.com
首页 > 移动开发 > 详细

在Android上用MVP模式编程的实践

时间:2015-04-07 21:48:08      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:

首先,谁是V?谁是P?(M我认为不是问题)

View,应该是实现显示逻辑,在Android开发中,我们认为Fragment、Activity都可以被当做View,他们主要任务就是控制显示逻辑,这部分代码不太经常重用。View通过调用P的业务逻辑,来实现业务。业务包括同步的业务(可以在UI线程操作)和异步的任务(如网络、磁盘IO等耗时操作),并根据P的业务返回结果来响应地改变UI。

对Presenter的实现,我们用AndroidAnnotations框架的EBean实现(如果不熟悉这个框架,请Google)。对于异步任务,通过AA的@Background标签来做,他的实现原理是讲任务通过一个线程池进行调度。对异步任务的返回结果,我们自定义了一个View标签,通过接口回调回去(View甚至可以不实现接口,当然就没有回调了)。这样无论View调用Presenter,还是Presenter回调View,都是通过接口实现,完全剥离了两者之间的耦合,P层的业务可以高度重用。

为了实现这个目标,我们对AndroidAnnotations做了一点扩展,Github地址在:https://github.com/ChatGame/androidannotations

在Android上用MVP模式编程的实践

标签:

原文地址:http://blog.csdn.net/dzg1977/article/details/44924915

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!