一、Guava

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

13. 反射[Reflection]:Guava 的 Java 反射机制工具类
---------------------------------------------------------------------------------------
 
 
优点:高效设计良好的API,使代码简洁,简单。
 
项目地址:
 
 
文档介绍:
 

二、Volley

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

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

2. 网络请求的排序(scheduling)

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

3. 网络请求的优先级处理

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

4. 缓存

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

5. 多级别取消请求

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

6. 和Activity和生命周期的联动(Activity结束时同时取消所有网络请求)
 
优点:Volley特别适合数据量不大但是通信频繁的场景。
 
项目地址:
 
 
Github地址:
 
 
文档地址:
 

三、AndroidCommon

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

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

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

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

3. Android常用工具类(网络、下载、Android资源操作、shell、文件、Json、随机数、Collection等等)
 
优点:Android项目的通用工具类的集合
 
Github地址:
 
 
Demo地址:
 
 
文档介绍:
 

四、xUtils

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

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

 
4. BitmapUtils:图片缓存加载,无需考虑OOM
 
优点:支持大文件上传,效率较高。
 
Github地址:
 
https://github.com/wyouflf/xUtils

五、Afinal

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

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

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

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

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

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

4. FinalDb:android中sqlite的orm框架,一行代码搞定增删改查。
 
优点:功能比较全面,文档完善,代码效率比较高。
 
Github地址:
 
 
官方网站:
 

六、ThinkAndroid

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

10. 网络状态检测模块:当网络状态改变时,对网络状态进行检测。
优点:功能比较完善。
 
Github地址:
 

七、AndroidAnnotations

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

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

2. 简化的线程模型(Simplified  threading model)

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

3. 事件绑定(Event binding)

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

4. REST Client

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

5. No Magic
优点:完全的注解,使开发起来更加便利,程序员写的代码也更少。
 
Github地址:
 
 
官方网站:
 

2015推荐的Android框架的更多相关文章

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

    一.Guava Google的基于java1.6的类库集合的扩展项目,包括collections, caching, primitives support, concurrency libraries ...

  2. 2015必须推荐的Android框架,猿必读系列!

    一.Guava Google 的基于java1.6的类库集合的扩展项目,包括collections, caching, primitives support, concurrency librarie ...

  3. 【Android - 框架】之GreenDao的使用

    上一篇博客([Android - 框架]之ORMLite的使用)中介绍了ORMLite的基本使用,今天我们来研究以下GreenDao的使用. GreenDao和ORMLite一样,都是基于ORM(Ob ...

  4. 【转】推荐--《Android深入浅出》----不错

    原文网址:http://www.cnblogs.com/plokmju/p/Android_Book.html 承香墨影   推荐--<Android深入浅出> 基本信息 书名:Andro ...

  5. App 组件化/模块化之路——Android 框架组件(Android Architecture Components)使用指南

    面对越来越复杂的 App 需求,Google 官方发布了Android 框架组件库(Android Architecture Components ).为开发者更好的开发 App 提供了非常好的样本. ...

  6. Android 框架式编程 —— 起篇

    一般的,在开发的时候,写过的代码在需求变更后,发现需要改动非常多的地方,那么说明之前的代码的架构肯定是存在问题的. 下面我们结合面向对象的六大基本原则谈Android 框架式编程.首先先介绍一下面向对 ...

  7. 【起航计划 002】2015 起航计划 Android APIDemo的魔鬼步伐 01

    本文链接:[起航计划 002]2015 起航计划 Android APIDemo的魔鬼步伐 01 参考链接:http://blog.csdn.net/column/details/mapdigitap ...

  8. Android框架式编程之Android Architecture Components

    1. 当前Android开发面临的问题 Android开发不同于传统的桌面程序开发,桌面程序一般都有唯一的快捷方式入口,并且常作为单进程存在:而一个典型的Android应用通常由多个应用组件构成,包括 ...

  9. 一个C#开发搭建Android框架的心路历程

    前言 Java框架实在是太多了,因为是初学乍练,所以,只好以百度为标准选择框架了. Java的框架文章太难写了,因为他引用了太多框架,而没一个框架都有很繁琐的配置,把每个框架都写一遍,就等于写书了:所 ...

随机推荐

  1. Python 的下载安装

    学习Python牛逼的教程: http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000,本文 ...

  2. php的strip_tags,htmlspecialchars,htmlentities,stripslashes,addslashes解释

    php函数蛮多的,要完整的每个函数都理解深刻是个挺有挑战性的事情. strip_tags,htmlspecialchars,htmlentities,stripslashes,addslashes这几 ...

  3. js 组合键监听ctrl + enter

    $(window).keydown(function (event) { // 监听esc键退出全屏 if (event.keyCode == 27) { } // 监听 Ctrl + Enter 可 ...

  4. React Native 入门篇

    React Native 英文官网:https://facebook.github.io/react-native/ React Native 中文官网:http://reactnative.cn/ ...

  5. 一起学Django之Day01

    创建项目 SimilarFacedeMacBook-Pro:PycharmProjects similarface$ django-admin startproject StudyDjango 创建A ...

  6. Erlang 在erlang项目中使用protobuf

    protobuf是google的一个序列化框架,类似XML,JSON,其特点是基于二进制,比XML表示同样一段内容要短小得多,还可以定义一些可选字段,广泛用于服务端与客户端通信.文章将着重介绍在erl ...

  7. 深入Asyncio(二)从线程到协程

    线程的真相 多线程并不是一无是处,在实际问题中,要权衡优劣势来选择多线程.多进程或是协程.协程为多线程的某些问题提供了一种解决方案,所以学习协程首先要对线程有一定了解. 多线程优点 代码可读性 多线程 ...

  8. nodejs实如今线群聊

    这不是一个项目而是一个适合刚開始学习的人学习的样例.主要实现了下面基本功能: 1:群聊.每个人都能够收到其它人的消息,以及能够发消息给其它人,每个人用ip地址标识. 2:显示当前在线用户. 3:每个用 ...

  9. uva--10714+找规律

    题意: 一根长度为len的木棍上有n仅仅蚂蚁.蚂蚁们都以1cm/s的速度爬行;假设一仅仅蚂蚁爬到了木棍的端点,那么他就会掉下去;假设两仅仅蚂蚁碰到一起了,他们就会掉头往相反方向爬行.输入len和n仅仅 ...

  10. EasyNVR H5无插件摄像机直播解决方案前端解析之:如何在播放界面添加实时云台控制界面

    如何在播放器上加一个云台控制界面 问题: 对于实时直播的视频播放, 由于播放页面客观样式要求(一个播放器占据了整个页面),因此很难找出很合理的空间来放置其他功能按钮的位置(比如配合实时是平的云台控制界 ...