对于Android初学者以及对于我们菜鸟,这些大神们开发的轻量级框架非常有用(更别说开源的了)。

下面转载这10个框架的介绍:(按顺序来吧没有什么排名)。

一、  Afinal

官方介绍:

Afinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。 通过finalActivity,我们可以通过注解的方式进行绑定ui和事件。 通过finalBitmap,我们可以方便的加载bitmap图片,而无需考虑oom等问题。 通过finalDB模块,我们一行代码就可以对android的sqlite数据库进行增删改查。 通过FinalHttp模块,我们可以以ajax形式请求http数据。

详情请通过以下网址查看。 Afinal 是一个android的sqlite orm 和 ioc 框架。同时封装了android中的http框架,使其更加简单易用;

使用finalBitmap,无需考虑bitmap在android中加载的时候oom的问题和快速滑动的时候图片加载位置错位等问题。

Afinal的宗旨是简洁,快速。约定大于配置的方式。尽量一行代码完成所有事情。

项目地址:https://github.com/yangfuhai/afinal

功能:

一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。 通过finalActivity,我们可以通过注解的方式进行绑定ui和事件。通过finalBitmap,我们可以方便的加载bitmap图片,而无需考虑oom等问题。 通过finalDB模块,我们一行代码就可以对android的sqlite数据库进行增删改查。通过FinalHttp模块,我们可以以ajax形式请求http数据。

优点:功能比较全面,文档完善,代码效率比较高。

缺点:没有项目demo,框架的时间比较久,代码冗余比较多(这也是无可避免的),文档比较老跟不上代码更新进度。

(这个评价是其他高人评的,他自己也有写了框架。我个人觉得以前Afinal算是经典了 用的人多)。

====================================================================================================================

二、  xUtils

git地址:https://github.com/wyouflf/xUtils

xUtils:可以说是Afinal的升级版。

xUtils 包含了很多实用的android工具。

xUtils 支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响...

xUitls 最低兼容android 2.2 (api level 8)

======================================================================================

三、  ThinkAndroid

项目地址:https://github.com/white-cat/ThinkAndroid

官方介绍:

ThinkAndroid是一个免费的开源的、简易的、遵循Apache2开源协议发布的Android开发框架,其开发宗旨是简单、快速的进行Android应用程序的开发,

包含Android mvc、简易sqlite orm、ioc模块、封装Android httpclitent的http模块,具有快速构建文件缓存功能,无需考虑缓存文件的格式,都可以非常轻松的实现缓存,

它还基于文件缓存模块实现了图片缓存功能,在android中加载的图片的时候,对oom的问题,和对加载图片错位的问题都轻易解决。

它还包括了一个手机开发中经常应用的实用工具类, 如日志管理,配置文件管理,android下载器模块,网络切换检测等等工具

优点:功能看起来比较完善。个人觉得名字起的好。

缺点:从2013年就停止维护了,没有项目文档。

======================================================================================

四、  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 一系列工具类

有点:功能多

缺点:文档方面

======================================================================================

五、   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更完善)

======================================================================================

六、  dhroid

官方介绍:

dhroid 是基于android 平台, 极速开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展.使你更快,更好的开发商业级别应用

开源地址: http://git.oschina.net/tengzhinei/dhroid

功能:

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上的那些。

======================================================================================

七、  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包大点?(功能多不可避免,不是问题),在线文档(随响应式的手机访问也方便,但是网速慢就不好了,页面打开不是很流畅)

======================================================================================

八、  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文档完善、接近完美

缺点:希望文档更详细些。

======================================================================================

九、  AndroidAnnotations

项目地址:https://github.com/excilys/androidannotations

功能:

完全注解框架,一切皆为注解:声明控件,绑定控件,设置监听,setcontentview,长按事件,异步线程,全部通过注解实现。

优点:完全的注解,使开发起来更加便利,程序员写的代码也更少。

缺点:文档是全英文的加上功能比较少没有具体研究,由于一切都是注解,感觉效率不高,不过根据官方介绍说并不是使用的反射加载,所以效率比一般注解高很多。

======================================================================================

十、  volley

项目地址: https://github.com/smanikandan14/Volley-demo

功能:

Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健壮异步加载网络图片、网络数据

优点:Google官方推荐,请看去年的开发者大会介绍。

缺点:功能比较少,只有网络数据加载和网络图片加载

十一、   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

有点:很简单很实用

缺点:功能比较少, (只是针对的功能不是什么缺点)

最后来个总结吧:

以上的开发框架网上都可以下载源码,也有demo实例的。当然我没分析和对比框架的效率性能,但是都非常实用,其作者大部分是个人,都是些牛人或天才。   你可以直接使用,也可以把有用跳出来用,至少有很多使用工具。如果有发现Bug,作者希望把bug交给他。

Afinal 和 xUtils简单实用但是demo和更新的问题。

KJFrameForAndroid 算是新出的,功能也多,效率也应该好,代码也注释多 用起来也很方便。

Dhroid 作者自己公司的框架,也可以直接请教。

SmartAndroid 强劲的框架功能俱全。

andBase 出来早各个方面算是完整的吧。

有什么问题可以直接加各各交流群直接问作者。

希望这些开发框架以后更好的完善demo和文档,这样大家更好的了解、学习、投入使用。时时关注

【转载】android 常用开源框架的更多相关文章

  1. 25类Android常用开源框架

    1.图片加载,缓存,处理 框架名称 功能描述 Android Universal Image Loader 一个强大的加载,缓存,展示图片的库,已过时 Picasso 一个强大的图片下载与缓存的库 F ...

  2. Android开发常用开源框架:图片处理

    https://blog.csdn.net/SGQ_CSDN/article/details/79910709 Android开发常用开源框架:图片处理 框架名称 功能描述 Android Unive ...

  3. 各种Android UI开源框架 开源库

    各种Android UI开源框架 开源库 转 https://blog.csdn.net/zhangdi_gdk2016/article/details/84643668 自己总结的Android开源 ...

  4. Android常用第三方框架

    1.volley (截击) 项目地址 https://github.com/smanikandan14/Volley-demo (1)  JSON,图像等的异步下载: (2)  网络请求的排序(sch ...

  5. Android常用开源项目

    Android开源项目第一篇——个性化控件(View)篇   包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.Progre ...

  6. J2EE开发常用开源框架技术(转)

    1持久层:1)Hibernate这个不用介绍了,用的很频繁,用的比较多的是映射,包括继承映射和父子表映射对 于DAO在这里介绍个在它基础上开发的包bba96,目前最新版本是bba96 2.0它对Hib ...

  7. J2EE开发常用开源框架技术(转)

    主要就我所了解的J2EE开发的框架或开源项目做个介绍,可以根据需求选用适当的开源组件进行开发.主要还是以Spring为核心,也总结了一些以前web开发常用的开源工具和开源类库 1持久层:1)Hiber ...

  8. Android使用开源框架加载图片

    Android开发时,有时候需要们来加载网络图片,我们可以通过api的方式进行加载,但是前几天做的时候,发现了一个优秀的开源框架,可以帮助我们非常简单便捷的进行图片的加载,所以记录一下. 我所用的是: ...

  9. android常用http框架介绍

    测试数据 1.HttpURLConnection:在Android 2.2版本之前,HttpClient拥有较少的bug,因此使用它是最好的选择.而在Android 2.3版本及以后,HttpURLC ...

随机推荐

  1. Oracle创建表、修改表、删除表、约束条件语法

    一. 使用create关键字创建表 --(1)创建新表use 数据库(在那个数据库中建表)create table 表名(字段名1(列名) 数据类型 列的特征,字段名2(列名) 数据类型 列的特征(N ...

  2. 增加oracle表空间

    查找用户对应的表空间 1.查询表空间物理文件路径select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_ ...

  3. 原生js实现简单的随机点名系统

    <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8 ...

  4. fis3 安装(Linux)

    Linux安装fis3 1,首先安装node环境 https://segmentfault.com/a/1190000004245357 2,安装fis3 http://blog.csdn.net/g ...

  5. 哈希查找解决地址冲突的两种最常见方法(线性探测再散列,链地址法)C++实现

    #include<iostream>#include<iomanip>using namespace std; typedef struct Node{ int data; s ...

  6. axios和ajax,fetch的区别

    1,传统 Ajax 指的是 XMLHttpRequest(XHR), 最早出现的发送后端请求技术,隶属于原始js中,核心使用XMLHttpRequest对象,多个请求之间如果有先后关系的话,就会出现回 ...

  7. spring-构建mvc工程

    SpringMVC基于模型-视图-控制器(MVC)模式实现,可以构建松耦合的web应用程序. 1.SpringMVC的请求过程 1)请求离开浏览器,并携带用户所请求的内容 2)DispatcherSe ...

  8. Flink实例-Wordcount详细步骤

    link实例之Wordcount详细步骤 1.我的IDE是IntelliJ IDEA.在官网上https://www.jetbrains.com/idea/下载最新版2018.2的IDEA,如下图.破 ...

  9. PTA基础编程题目集7-4 BCD解密

    BCD数是用一个字节来表达两位十进制的数,每四个比特表示一位.所以如果一个BCD数的十六进制是0x12,它表达的就是十进制的12.但是小明没学过BCD,把所有的BCD数都当作二进制数转换成十进制输出了 ...

  10. Verilog_Day3

    内容为书中第5章 条件语句 条件语句必须在过程块语句中使用.所谓过程块语句是指由 initial 和 always 语句引导的执行语句集合.除这两种块语句引导的begin_end块中可以编写条件语句外 ...