转载请注明链接:android快速开发框架
android开发效率一直是诟病,从自身的过往的开发经验中感受是是:一方面入门成本较大,调研成本高;另一方面是技术架构上没有后端及网页前端的成熟,导致很多开发者在项目中做了许多重复性的工作。
该项目是以过去经验总结出来的一个快速开发框架,架构上业务与逻辑相互分离。从而将actvitiy从繁重的任务中解放出来,让前端更专注于前端。
1:MVP
android开发基于mvc架构,然而这样会造成activity承担大量的业务,降低了代码的阅读性与后期可维护性。
mvp作为一种新架构模型,其中m层(Model)专注于数据交互,v层(View)专注于展示,p层(Presenter)通过iView和iModel来操作所有的java逻辑。分层后维护性高,逻辑清晰,迭代速度快。另外在该项目中,m、v、p三层均通过泛型来简化开发,在实际开发中假如需要发起一个网络请求,开发者只需写好相应的bean,并加入下面的两行代码即可。代码如下:
Type type = new TypeToken<BaseResponseBean<LoginResponseBean>>(){}.getType();
mLP.post(UrlConstants.LOGIN_URL,null,type);
通过MVP,在网络交互上,android有着不弱于网页前端的开发速度。
二:okhttp及缓冲池
okhttp是android开源巨头square推出的网络线程库,地址如下:okhttp square
在某些手机中对于应用有最大线程的限制,故该框架中通过线程池对网络请求进行管理,避免出现crash的情况。
三:图片缓存及picasso
picasso同样是square推出的开源库,相较于facebook与今年推出的fresco而言,picasso更为简单,更适合于小型开发团队。
picasso会自动进行缓存管理,使用picasso后会消除应用中出现的因为加载图片而造成的oom情况。
picasso使用非常简单,只需要一行代码即可:
Picasso.with(context)
.load(url)
.placeholder(R.drawable.user_placeholder)
.error(R.drawable.user_placeholder_error)
.into(imageView);
项目近期会放到git上,请多拍砖,多交流~