上一篇:http://blog.csdn.net/qq_35522272/article/details/53511956
1. 什么是框架
框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。
可以说,一个框架是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方法,它为构件复用提供了上下文(Context)关系。因此构件库的大规模重用也需要框架。(来自百度百科)
框架的重要性
在android开发中我们需要用到许多的技术点,例如网络请求,图片加载,数据库操作,视屏处理等等。这些技术点在某个方面有很深的造诣就已经很牛了,但是我们项目中会用到许多,如何让我们的项目能够用上最佳的实现效果,这样会给我们整个app带来非常友好的体验效果。所以我们用目前已经非常成熟的专业领域的框架是非常有必要的。
并且一款优秀的app应该是一款设计良好的模式:这里我们将使用目前比较流行的mvp模式,具体是啥大家可以百度一下。其实很好理解就是:model,view,以及presener 三个模块,并且view通过中间层presener与model间接的进行交互。这样可以非常高度的解耦,很便于我们app后期的维护以及升级。项目中所用到的主流框架
这里只针对android客户端:(有不清楚的同学可自行百度)
1.网络请求:okhttp目前已经相当成熟,谷歌api目前也废弃了httpclient 而使用okhttp
2.网络数据解析:Gson google出品必属精品,用过的人都说好。
3.图片加载:glide一款可以加载gif动图的框架,也非常好用
4.数据缓存:DiskLruCache Java实现基于LRU(最近最少使用算法)的磁盘缓存 ,以及api自带的spf(sharedPreference)
5.数据库:GreenDAO 一种轻快地将对象映射到SQLite数据库的ORM解决方案
6.依赖注入:ButterKnife 将Android视图和回调方法绑定到字段和方法上
7.日志:Logger 简单,漂亮,强大的Android日志工具
8.分享:友盟分享
9.推送:极光推送
还有等等的一些其他技术点现在不再讨论。