您的位置:首页 > 移动开发 > Android开发

转载自安卓巴士 【收藏】2015必须推荐的Android框架,猿必读系列!

2015-04-27 01:11 435 查看
一、Guava

[align=left]Google的基于java1.6的类库集合的扩展项目,包括collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O等等. 这些高质量的API可以使你的JAVA代码更加优雅,更加简洁.[/align]
[align=left] [/align]
[align=left] [/align]
[align=left]功能模块:[/align]
[align=left][/align]
[align=left]---------------------------------------------------------------------------------------[/align]
[align=left]1. 基本工具 [Basic utilities]:让使用Java语言变得更舒适[/align]
---------------------------------------------------------------------------------------

[align=left]2. 集合[Collections]:Guava对JDK集合的扩展,这是Guava最成熟和为人所知的部分[/align]

---------------------------------------------------------------------------------------

[align=left]3. 缓存[Caches]:Guava Cache:本地缓存实现,支持多种缓存过期策略[/align]

---------------------------------------------------------------------------------------

[align=left]4. 函数式风格[Functional idioms]:Guava的函数式支持可以显著简化代码,但请谨慎使用它[/align]

---------------------------------------------------------------------------------------

[align=left]5. 并发[Concurrency]:强大而简单的抽象,让编写正确的并发代码更简单[/align]

---------------------------------------------------------------------------------------

[align=left]6. 字符串处理[Strings]:非常有用的字符串工具,包括分割、连接、填充等操作[/align]

---------------------------------------------------------------------------------------

[align=left]7. 原生类型[Primitives]:扩展 JDK 未提供的原生类型(如int、char)操作, 包括某些类型的无符号形式[/align]

---------------------------------------------------------------------------------------

[align=left]8. 区间[Ranges]:可比较类型的区间API,包括连续和离散类型[/align]

---------------------------------------------------------------------------------------

[align=left]9. I/O:简化I/O尤其是I/O流和文件的操作,针对Java5和6版本[/align]

---------------------------------------------------------------------------------------

[align=left]10. 散列[Hash]:提供比Object.hashCode()更复杂的散列实现,并提供布鲁姆过滤器的实现[/align]

---------------------------------------------------------------------------------------

[align=left]11. 事件总线[EventBus]:发布-订阅模式的组件通信,但组件不需要显式地注册到其他组件中[/align]

---------------------------------------------------------------------------------------

[align=left]12. 数学运算[Math]:优化的、充分测试的数学工具类[/align]

---------------------------------------------------------------------------------------

[align=left]13. 反射[Reflection]:Guava 的 Java 反射机制工具类[/align]
[align=left]---------------------------------------------------------------------------------------[/align]
[align=left] [/align]
[align=left] [/align]
[align=left]优点:高效设计良好的API,使代码简洁,简单。[/align]
[align=left] [/align]
[align=left]项目地址:[/align]
[align=left][/align]
[align=left]https://code.google.com/p/guava-libraries/[/align]
[align=left] [/align]
[align=left]文档介绍:[/align]
[align=left] [/align]
[align=left]https://code.google.com/p/guava-libraries/wiki/GuavaExplained[/align]

二、Volley

[align=left]Google提供的网络通信库,能使网络通信更快,更简单,更健壮。[/align]
[align=left] [/align]
[align=left]功能模块:[/align]
[align=left][/align]
[align=left]1. JSON,图像等的异步下载[/align]

---------------------------------------------------------------------------------------

[align=left]2. 网络请求的排序(scheduling)[/align]

---------------------------------------------------------------------------------------

[align=left]3. 网络请求的优先级处理[/align]

---------------------------------------------------------------------------------------

[align=left]4. 缓存[/align]

---------------------------------------------------------------------------------------

[align=left]5. 多级别取消请求[/align]

---------------------------------------------------------------------------------------

[align=left]6. 和Activity和生命周期的联动(Activity结束时同时取消所有网络请求)[/align]
[align=left] [/align]

[align=left]优点:Volley特别适合数据量不大但是通信频繁的场景。[/align]
[align=left] [/align]
[align=left]项目地址:[/align]
[align=left] [/align]
[align=left]https://android.googlesource.com/platform/frameworks/volley[/align]
[align=left][/align]
[align=left]Github地址:[/align]
[align=left] [/align]
[align=left]https://github.com/mcxiaoke/android-volley[/align]
[align=left][/align]
[align=left]文档地址:[/align]
[align=left] [/align]
[align=left]http://commondatastorage.googleapis.com/io-2013/presentations/110%20-%20Volley-%20Easy,%20Fast%20Networking%20for%20Android.pdf[/align]

三、AndroidCommon

[align=left]包含一组开发 Android 程序常用的库,包括 ImageCache、DropDownListView、DownloadManager 和静默安装 APK 等等。[/align]
[align=left] [/align]
[align=left] [/align]
[align=left]功能模块:[/align]
[align=left][/align]
[align=left]1. 缓存(图片缓存、预取缓存、网络缓存)[/align]

---------------------------------------------------------------------------------------

[align=left]2. 公共View(下拉及底部加载更多ListView、底部加载更多ScrollView、滑动一页Gallery)[/align]

---------------------------------------------------------------------------------------

[align=left]3. Android常用工具类(网络、下载、Android资源操作、shell、文件、Json、随机数、Collection等等)[/align]
[align=left] [/align]

[align=left]优点:Android项目的通用工具类的集合[/align]
[align=left] [/align]
[align=left]Github地址:[/align]
[align=left] [/align]
[align=left]https://github.com/Trinea/AndroidCommon[/align]
[align=left][/align]
[align=left]Demo地址:[/align]
[align=left] [/align]
[align=left]https://play.google.com/store/apps/details?id=cn.trinea.android.demo[/align]
[align=left][/align]
[align=left]文档介绍:[/align]
[align=left] [/align]
[align=left]http://www.trinea.cn/android/android-common-lib/[/align]

四、xUtils

[align=left]xUtils 包含了很多实用的android工具。最初源于Afinal框架,进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响。[/align]
[align=left] [/align]
[align=left]功能模块:[/align]
[align=left][/align]
[align=left]1. DbUtils:android中的orm框架,一行代码就可以进行增删改查。[/align]
[align=left]---------------------------------------------------------------------------------------[/align]
[align=left] [/align]
[align=left]2. ViewUtils:android中的ioc框架,完全注解方式就可以进行UI,资源和事件绑定。[/align]
[align=left]---------------------------------------------------------------------------------------[/align]
[align=left] [/align]
[align=left]3. HttpUtils:多种方式的网络请求,大文件的上传。[/align]

---------------------------------------------------------------------------------------

[align=left] [/align]
[align=left]4. BitmapUtils:图片缓存加载,无需考虑OOM[/align]

[align=left] [/align]
[align=left]优点:支持大文件上传,效率较高。[/align]
[align=left] [/align]
[align=left]Github地址:[/align]
[align=left] [/align]
[align=left]https://github.com/wyouflf/xUtils[/align]

五、Afinal


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

---------------------------------------------------------------------------------------

[align=left]2. FinalBitmap:用于显示bitmap图片,而无需考虑线程并发和oom等问题。[/align]

---------------------------------------------------------------------------------------

[align=left]3. FinalActivity:完全可以通过注解方式绑定控件和事件,无需编写代码。[/align]

---------------------------------------------------------------------------------------

[align=left]4. FinalDb:android中sqlite的orm框架,一行代码搞定增删改查。[/align]
[align=left] [/align]
[align=left]优点:功能比较全面,文档完善,代码效率比较高。[/align]
[align=left][/align]
[align=left]Github地址:[/align]
[align=left] [/align]
[align=left]https://github.com/yangfuhai/afinal[/align]
[align=left][/align]
[align=left]官方网站:[/align]
[align=left] [/align]
[align=left]http://www.afinal.org[/align]

六、ThinkAndroid

[align=left]ThinkAndroid是一个免费的开源的、简易的、遵循Apache2开源协议发布的Android开发框架,其开发宗旨是简单、快速的进行Android应用程序的开发,包含Android mvc、简易sqlite orm、ioc模块、封装Android httpclitent的http模块,具有快速构建文件缓存功能,无需考虑缓存文件的格式,都可以非常轻松的实现缓存,它还基于文件缓存模块实现了图片缓存功能,在android中加载的图片的时候,对oom的问题,和对加载图片错位的问题都轻易解决。他还包括了一个手机开发中经常应用的实用工具类,如日志管理,配置文件管理,android下载器模块,网络切换检测等等工具。[/align]
[align=left] [/align]
[align=left]功能模块:[/align]
[align=left][/align]
[align=left]1. MVC模块:实现视图与模型的分离。[/align]

---------------------------------------------------------------------------------------

[align=left]2. ioc模块:android中的ioc模块,完全注解方式就可以进行UI绑定、res中的资源的读取、以及对象的初始化。[/align]

---------------------------------------------------------------------------------------

[align=left]3. 数据库模块:android中的orm框架,使用了线程池对sqlite进行操作。[/align]

---------------------------------------------------------------------------------------

[align=left]4. http模块:通过httpclient进行封装http数据请求,支持异步及同步方式加载。[/align]

---------------------------------------------------------------------------------------

[align=left]5. 缓存模块:通过简单的配置及设计可以很好的实现缓存,对缓存可以随意的配置。[/align]

---------------------------------------------------------------------------------------

[align=left]6. 图片缓存模块:imageview加载图片的时候无需考虑图片加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象。[/align]

---------------------------------------------------------------------------------------

[align=left]7. 配置器模块:可以对简易的实现配对配置的操作,目前配置文件可以支持Preference、Properties对配置进行存取。[/align]

---------------------------------------------------------------------------------------

[align=left]8. 日志打印模块:可以较快的轻易的是实现日志打印,支持日志打印的扩展,目前支持对sdcard写入本地打印、以及控制台打印。[/align]

---------------------------------------------------------------------------------------

[align=left]9. 下载器模块:可以简单的实现多线程下载、后台下载、断点续传、对下载进行控制、如开始、暂停、删除等等。[/align]

---------------------------------------------------------------------------------------

[align=left]10. 网络状态检测模块:当网络状态改变时,对网络状态进行检测。[/align]

[align=left]优点:功能比较完善。[/align]
[align=left] [/align]
[align=left]Github地址:[/align]
[align=left] [/align]

[align=left]https://github.com/white-cat/ThinkAndroid[/align]

七、AndroidAnnotations

[align=left]Android Annotations 是一个开源的框架,用于加速 Android 应用的开发,可以让你把重点放在功能的实现上,简化了代码,提升了可维护性。[/align]
[align=left] [/align]
[align=left]功能模块:[/align]
[align=left][/align]
[align=left]1. 使用依赖注入(Dependency Injection)[/align]

---------------------------------------------------------------------------------------

[align=left]2. 简化的线程模型(Simplified threading model)[/align]

---------------------------------------------------------------------------------------

[align=left]3. 事件绑定(Event binding)[/align]

---------------------------------------------------------------------------------------

[align=left]4. REST Client[/align]

---------------------------------------------------------------------------------------

[align=left]5. No Magic[/align]

[align=left]优点:完全的注解,使开发起来更加便利,程序员写的代码也更少。[/align]
[align=left] [/align]
[align=left]Github地址:[/align]
[align=left] [/align]
[align=left]https://github.com/excilys/androidannotations[/align]
[align=left][/align]
[align=left]官方网站:[/align]
[align=left] [/align]
[align=left]http://androidannotations.org/[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: