对于Android初学者以及对于咱们菜鸟,这些大神们开发的轻量级框架很是有用(更别说开源的了)。html
下面转载这10个框架的介绍:(按顺序来吧没有什么排名)。android
1、 Afinalgit
官方介绍:程序员
Afinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。经过finalActivity,咱们能够经过注解的方式进行绑定ui和事件。经过finalBitmap,咱们能够方便的加载bitmap图片,而无需考虑oom等问题。经过finalDB模块,咱们一行代码就能够对android的sqlite数据库进行增删改查。经过FinalHttp模块,咱们能够以ajax形式请求http数据。详情请经过如下网址查看。github
Afinal 是一个android的sqlite orm 和 ioc 框架。同时封装了android中的http框架,使其更加简单易用;web
使用finalBitmap,无需考虑bitmap在android中加载的时候oom的问题和快速滑动的时候图片加载位置错位等问题。ajax
Afinal的宗旨是简洁,快速。约定大于配置的方式。尽可能一行代码完成全部事情。spring
项目地址:https://github.com/yangfuhai/afinalsql
功能:数据库
一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。经过finalActivity,咱们能够经过注解的方式进行绑定ui和事件。经过finalBitmap,咱们能够方便的加载bitmap图片,而无需考虑oom等问题。经过finalDB模块,咱们一行代码就能够对android的sqlite数据库进行增删改查。经过FinalHttp模块,咱们能够以ajax形式请求http数据。
优势:功能比较全面,文档完善,代码效率比较高。
缺点:没有项目demo,框架的时间比较久,代码冗余比较多(这也是无可避免的),文档比较老跟不上代码更新进度。
(这个评价是其余高人评的,他本身也有写了框架。我我的以为之前Afinal算是经典了 用的人多)。
2、 xUtils
git地址:https://github.com/wyouflf/xUtils
xUtils:能够说是Afinal的升级版。
xUtils 包含了不少实用的android工具。
xUtils 支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响...
xUitls 最低兼容android 2.2 (api level 8)
3、 ThinkAndroid
项目地址:https://github.com/white-cat/ThinkAndroid
官方介绍:
ThinkAndroid是一个免费的开源的、简易的、遵循Apache2开源协议发布的Android开发框架,其开发宗旨是简单、快速的进行Android应用程序的开发,包含Android mvc、简易sqlite orm、ioc模块、封装Android httpclitent的http模块,具备快速构建文件缓存功能,无需考虑缓存文件的格式,均可以很是轻松的实现缓存,它还基于文件缓存模块实现了图片缓存功能,在android中加载的图片的时候,对oom的问题,和对加载图片错位的问题都轻易解决。他还包括了一个手机开发中常常应用的实用工具类,如日志管理,配置文件管理,android下载器模块,网络切换检测等等工具
优势:功能看起来比较完善。我的以为名字起的好。
缺点:从2013年就中止维护了,没有项目文档。
4、 LoonAndroid
官方介绍:
若是你想看ui方面的东西,这里没有,想要看牛逼的效果这里也没有。这只是纯实现功能的框架,它的目标是节省代码量,下降耦合,让代码层次看起来更清晰。整个框架一部分是网上的,一部分是我改的,为了适应个人编码习惯,还有一部分像orm彻底是网上的组件。在此感谢那些朋友们。 整个框架式的初衷是为了偷懒,以前都是一个功能一个jar,作项目的时候拉进去,这样对于我来讲依然仍是比较麻烦。最后就致使我把全部的jar作成了一个工具集合包。 有不少框架都含有这个工具集合里的功能,这些不必定都好用,由于这是根据我我的使用喜欢来实现的,若是大家有本身的想法,能够本身把架包解压了之后,源码拉出来改动下。 目前不少框架都用到了注解,除了androidannotations没有入侵咱们应用的代码之外,其余的基本上都有,要么是必须继承框架里面的activity,要么是必须在activity的oncreat里面调用某个方法。 整个框架式不一样于androidannotations,Roboguice等ioc框架,这是一个相似spring的实现方式。在整应用的生命周期中找到切入点,而后对activity的生命周期进行拦截,而后插入本身的功能。
开源地址:https://github.com/gdpancheng/LoonAndroid
功能:
1自动注入框架(只须要继承框架内的application既可)
2图片加载框架(多重缓存,自动回收,最大限度保证内存的安全性)
3网络请求模块(继承了基本上如今全部的http请求)
4 eventbus(集成一个开源的框架)
5验证框架(集成开源框架)
6 json解析(支持解析成集合或者对象)
7 数据库(不知道是哪位写的 忘记了)
8 多线程断点下载(自动判断是否支持多线程,判断是不是重定向)
9 自动更新模块
10 一系列工具类
有点:功能多
缺点:文档方面
5、 KJFrameForAndroid
项目地址:https://github.com/kymjs/KJFrameForAndroid
官方介绍:
KJFrameForAndroid 又叫KJLibrary,是一个android的orm 和 ioc 框架。同时封装了android中的Bitmap与Http操做的框架,使其更加简单易用;
KJFrameForAndroid的设计思想是经过封装Android原生SDK中复杂的复杂操做而达到简化Android应用级开发,最终实现快速而又安全的开发APP。咱们提倡用最少的代码,完成最多的操做,用最高的效率,完成最复杂的功能。
功能:
一个android的orm 和 ioc 框架。同时封装了android中的Bitmap与Http操做的框架,使其更加简单易用; KJFrameForAndroid开发框架的设计思想是经过封装Android原生SDK中复杂的复杂操做而达到简化Android应用级开发,最终实现快速而又安全的开发APP。总共分为五大模块:UILibrary,UtilsLibrary,HttpLibrary,BitmapLibrary,DBLibrary。
优势:功能比较全面,代码效率很高,文档完善,有项目demo,出来的比较晚借鉴了不少大型框架经验。
缺点:项目文档是html页面,查看起来很不方便,项目交流平台没多少人说话(难道大神都是不说话的?)
(这两个评价是KJFrameForAndroid的做者对本身的评价,我的以为做者是个天才。他的评价可能刚写完网上发布后写的。我在给他更新评价。由于如今已通过去了几个月一直在时不时更新。功能很全,项目文档也很全面,并且代码里注释最多 这方面这个很可贵。交流平台人不少挺热闹,做者但愿更热闹这样框架愈来愈完善。对于初学者但愿看到Demo更完善)
6、 dhroid
官方介绍:
dhroid 是基于android 平台, 极速开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展.使你更快,更好的开发商业级别应用
功能:
1.Ioc容器: (用过spring的都知道)视图注入,对象注入,接口注入,解决类依赖关系
2.Eventbus: android平台事件总线框架,首创延时事件,事件管理轻松
3.Dhnet: 网络http请求的解决方案,使用简单,减小代码,自带多种网络访问缓存策略
4.adapter模块: 数据绑定轻松,不用写多余的adapter,天生网络支持(一行代码搞定加载,刷新问题)
5.DhDb: android中sqlite的最轻量orm框架(增删改查轻松搞定)
6.Perference: android自带Perference 升级版,让你的Perference更强大,更方便
工具集合 JSONUtil(安全处理json),ViewUtil(数据绑定更快) ThreadWorker(异步任务工具)...
优势:功能全面,有demo,做者也是为公司开发的框架。
缺点:文档方面如今不是很好,就eoe上的那些。
7、 SmartAndroid
项目地址:http://www.aplesson.com/smartAndroid/demos
官方介绍:
SmartAndroid是一套给 Android开发者使用的应用程序开发框架和工具包。它提供一套丰富的标准库以及简单的接口和逻辑结构,其目的是使开发人员更快速地进行项目开发。使用 SmartAndroid能够减小代码的编写量,并将你的精力投入到项目的创造性开发上。
功能:
SmartAndroid 拥有全范围的类库,能够完成大多数一般须要的APP开发任务,包括: 异步网络操做相关全部功能、强大的图片处理操做、轻量级ORM数据库Sqlite库、zip操做 、动画特效、Html等解析采集、事件总线EventBus/Otto、Gson(Json)、AQuery、主流全部UI控件(例如:ActionbarSherlock,SlidingMenu,BottomView,Actionbar,DragListView等10多种UI库)等。
优势:功能很是全,超出你索要、文档完善(做者很全面,官方网站是web响应式网站,框架里功能有UI各类特效应该最全了,一直更新中)
缺点:jar包大点?(功能多不可避免,不是问题),在线文档(随响应式的手机访问也方便,可是网速慢就很差了,页面打开不是很流畅)
8、 andBase
官方介绍:
andbase是为Android开发者量身打造的一款开源类库产品
开源地址:https://code.jd.com/zhaoqp2010_m/andbase
功能:
1.andbase中包含了大量的开发经常使用手段。
如网络下载,多线程与线程池的管理,数据库ORM,图片缓存管理,图片文件下载上传,Http请求工具,经常使用工具类(字符串,日期,文件处理,图片处理工具类等),可以使您的应用在团队开发中减小冗余代码,很大的提升了代码的维护性与开发高效性,能很好的规避因为开发疏忽而致使常犯的错误。
2.andbase封装了大量的经常使用控件。
如list分页,下拉刷新,图片轮播,表格,多线程下载器,侧边栏,图片上传,轮子选择,图表,Tab滑动,日历选择器等。
3.强大的AbActivity,您没有理由不继承它。
继承它你可以得到一个简单强大可设置的操做栏,以及一系列的简单调用,如弹出框,提示框,进度框,副操做栏等。
4.提供效率较高图片缓存管理策略,使内存大幅度节省,利用率提升,效率提升。
程序中要管理大量的图片资源,andbase提供简单的方法,几步完成下载与显示,并支持缩放,裁剪,缓存功能。
5.封装了大量常见工具类。
包括日期,字符,文件,图片等各类处理函数,多而全。
6.用andbase大量减小handler的使用,而采用回调函数,代码更整洁。
handler会产生大量代码,而且很差维护,andbase对handler进行了封装。
7.简单轻量支持注解自动建表的ORM框架(支持一/多对多的关联操做)。
写sql,建表,工做量大,andbase提供更傻瓜异步增删改查工具类。
8.异步请求http框架,网络请求标准化,支持文件上传下载,get,post,进度显示。
包含了异步与http请求的工具类,实用。
9.热情的支持群体。
优势:功能很全,demo作的好 、API文档完善、接近完美
缺点:但愿文档更详细些。
9、 AndroidAnnotations
项目地址:https://github.com/excilys/androidannotations
功能:
彻底注解框架,一切皆为注解:声明控件,绑定控件,设置监听,setcontentview,长按事件,异步线程,所有经过注解实现。
优势:彻底的注解,使开发起来更加便利,程序员写的代码也更少。
缺点:文档是全英文的加上功能比较少没有具体研究,因为一切都是注解,感受效率不高,不过根据官方介绍说并非使用的反射加载,因此效率比通常注解高不少。
10、 volley
项目地址: https://github.com/smanikandan14/Volley-demo
功能:
Volley是Android平台上的网络通讯库,能使网络通讯更快,更简单,更健壮异步加载网络图片、网络数据
优势:Google官方推荐,请看去年的开发者大会介绍。
缺点:功能比较少,只有网络数据加载和网络图片加载
11、 android-async-http
项目地址:https://github.com/loopj/android-async-http
文档介绍:http://loopj.com/android-async-http/
(1) 在匿名回调中处理请求结果
(2) 在UI线程外进行http请求
(3) 文件断点上传
(4) 智能重试
(5) 默认gzip压缩
(6) 支持解析成Json格式
(7) 可将Cookies持久化到SharedPreferences
有点:很简单很实用
缺点:功能比较少, (只是针对的功能不是什么缺点)
12、 ……