一、依赖注入DI
通过依赖注入减少View、服务、资源简化初始化,事件绑定等重复繁琐工作
- AndroidAnnotations(Code Diet)
android快速开发框架
项目地址:https://github.com/excilys/androidannotations
文档介绍:https://github.com/excilys/androidannotations/wiki
官网网址:http://androidannotations.org/
特点:(1) 依赖注入:包括view,extras,系统服务,资源等等
(2) 简单的线程模型,通过annotation表示方法运行在ui线程还是后台线程
(3) 事件绑定:通过annotation表示view的响应事件,不用在写内部类
(4) REST客户端:定义客户端接口,自动生成REST请求的实现
(5) 没有你想象的复杂:AndroidAnnotations只是在在编译时生成相应子类
(6) 不影响应用性能:仅50kb,在编译时完成,不会对运行时有性能影响。
PS:与roboguice的比较:roboguice通过运行时读取annotations进行反射,所以可能影响应用性能,而AndroidAnnotations在编译时生成子类,所以对性能没有影响
- roboguice
帮你处理了很多代码异常,利用annotation使得更少的代码完成项目
- butterknife
利用annotation帮你快速完成View的初始化,减少代码
- Dagger
依赖注入,适用于Android和Java
二、图片缓存
- Android-Universal-Image-Loader
图片缓存,目前使用最广泛的图片缓存,支持主流图片缓存的绝大多数特性。
项目地址:https://github.com/nostra13/Android-Universal-Image-Loader
Demo地址:https://github.com/Trinea/TrineaDownload/blob/master/universal-imageloader-demo.apk?raw=true
文档介绍:http://www.intexsoft.com/blog/item/74-universal-image-loader-part-3.html
- picasso
square开源的图片缓存
项目地址:https://github.com/square/picasso
文档介绍:http://square.github.io/picasso/
特点:(1)可以自动检测adapter的重用并取消之前的下载
(2)图片变换
(3)可以加载本地资源
(4)可以设置占位资源
(5)支持debug模式
- ImageCache
图片缓存,包含内存和Sdcard缓存
项目地址:https://github.com/Trinea/AndroidCommon
Demo地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo
文档介绍:http://www.trinea.cn/android/android-imagecache/
特点:(1)支持预取新图片,支持等待队列
(2)包含二级缓存,可自定义文件名保存规则
(3)可选择多种缓存算法(FIFO、LIFO、LRU、MRU、LFU、MFU等13种)或自定义缓存算法
(4)可方便的保存及初始化恢复数据
(5)支持不同类型网络处理
(6)可根据系统配置初始化缓存等
- Cube ImageLoader
阿里巴巴一淘使用的图片加载,综合了Android-Universal-Image-Loader 和 square 等组件优点,简单易用,良好的中文文档支持
项目地址:https://github.com/etao-open-source/cube-sdk
Demo地址:https://github.com/liaohuqiu/cube-sdk/raw/master/cube-sdk-sample.apk
效果图:文档介绍:http://cube-sdk.liaohuqiu.net/
- fresco
一款强大的图片缓存工具,由 Facebook开发
项目地址:https://github.com/facebook/fresco
特点:(1) 两个内存缓存加上磁盘缓存构成了三级缓存
(2) 支持流式,可以类似网页上模糊渐进式显示图片
(3) 对多帧动画图片支持更好,如 Gif、WebP
(4) 更多样的显示,如圆角、进度条、点击重试、自定义对焦点
(5) 更多样的加载,如支持 EXIF、全面支持 WebP
(6) 支持 Android 2.3+
三、网络相关
- Asynchronous Http Client for Android
Android异步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
- android-query
异步加载,更少代码完成Android加载
项目地址:https://github.com/androidquery/androidquery 或
https://code.google.com/p/android-query/Demo地址:https://play.google.com/store/apps/details?id=com.androidquery
- Async Http Client
Java异步Http请求
- Ion
支持图片、json、http post等异步请求
- HttpCache
Http缓存
项目地址:https://github.com/Trinea/AndroidCommon
Demo地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo
文档介绍:http://www.trinea.cn/android/android-http-cache
特点是:(1) 根据cache-control、expires缓存http请求
(2) 支持同步、异步Http请求
(3) 在匿名回调中处理请求结果
(4) 在UI线程外进行http请求
(5) 默认gzip压缩
- Http Request
- okhttp
square开源的http工具类
项目地址:https://github.com/square/okhttp
文档介绍:http://square.github.io/okhttp/
特点:(1) 支持SPDY( http://zh.wikipedia.org/wiki/SPDY )协议。SPDY协议是Google开发的基于传输控制协议的应用层协议,通过压缩,多路复用(一个TCP链接传送网页和图片等资源)和优先级来缩短加载时间。
(2) 如果SPDY不可用,利用连接池减少请求延迟
(3) Gzip压缩
(4) Response缓存减少不必要的请求
- Retrofit
RESTFUL API设计
- RoboSpice
Android异步网络请求工具,支持缓存、REST等等
项目地址:https://github.com/stephanenicolas/robospice
Demo地址:https://github.com/stephanenicolas/RoboDemo/downloads
- Droppy
支持多种样式的下拉菜单
四、数据库 orm工具包
orm的db工具类,简化建表、查询、更新、插入、事务、索引的操作
- greenDAO
Android Sqlite orm的db工具类
项目地址:https://github.com/greenrobot/greenDAO
文档介绍:http://greendao-orm.com/documentation/
特点:(1) 性能佳
(2) 简单易用的API
(3) 内存小好小
(4) 库大小小
- ActiveAndroid
Android Sqlite orm的db工具类
- Sprinkles
Android Sqlite orm的db工具类,比较显著的特点就是配合 https://github.com/square/retrofit 能保存从服务器获取的数据
项目地址:https://github.com/emilsjolander/sprinkles
文档介绍:http://emilsjolander.github.io/blog/2013/12/18/android-with-sprinkles/
- Realm
移动端的数据库,适用于 Phone、Tablet、Wearable,支持 ORM,线程安全、支持连表及数据库加密,比 SQLite 性能更好
- ormlite-android
- Schematic
根据SQLite生成ContentProvider
- DBFlow
Android SQLite ORM工具库。综合了 Active Android, Schematic, Ollie,Sprinkles等库的优点;通过注解实现,性能好;能生成ContentProvider。
五、Android公共库
- Guava
Google的基于java1.6的类库集合的扩展项目,包括collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O等等. 这些高质量的API可以使你的JAVa代码更加优雅,更加简洁
项目地址:https://code.google.com/p/guava-libraries/
文档介绍:https://code.google.com/p/guava-libraries/wiki/GuavaExplained
- Volley
Google提供的网络通信库,使得网络请求更简单、更快速
项目地址:https://android.googlesource.com/platform/frameworks/volley
- AndroidCommon
Android公共库
项目地址:https://github.com/Trinea/AndroidCommon
Demo地址:https://play.google.com/store/apps/details?id=cn.trinea.android.demo
文档介绍:http://www.trinea.cn/android/android-common-lib/
包括:(1)缓存(图片缓存、预取缓存、网络缓存)
(2) 公共View(下拉及底部加载更多ListView、底部加载更多ScrollView、滑动一页Gallery)
(3) Android常用工具类(网络、下载、Android资源操作、shell、文件、Json、随机数、Collection等等)
- shipfaster
整合了Dagger Otto Retrofit Robolectric Picasso OkHttp,方便快速开发
- CleanAndroidCode
整合了Dagger Otto AndroidAnnotations,方便快速开发
- xUtils
基于Afinal,包含DbUtils、ViewUtils、HttpUtils、BitmapUtils四大模块,可用于快速开发
- Afinal
Afinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivity,我们可以通过注解的方式进行绑定ui和事件。通过finalBitmap,我们可以方便的加载bitmap图片,而无需考虑oom等问题。通过finalDB模块,我们一行代码就可以对android的sqlite数据库进行增删改查。通过FinalHttp模块,我们可以以ajax形式请求http数据
- UltimateAndroid
UltimateAndroid是一个快速开发Android应用的框架,框架目前主要包含的功能有View Injection,ORM,异步网络请求和图片加载,自动化脚本测试,磁盘LRU等功能.同时提供了类似于TripleDes、Webview快速设置、Md5处理、String处理,Https处理等常用工具类,还有超过100多种UI控件效果。
- SAF
SAF(Simple Android Framework)是一个简单的android框架,它为开发Android app提供了基础性组件。
项目地址:https://github.com/fengzhizi715/SAF
包括:(1)Event Bus(事件总线)
(2) Rest Client(http的框架)
(3) Image Cache(图片缓存)
(4) Dependency Injection(依赖注入)
(5) Sqlite ORM(sqlite的orm)
(6) Router(Activity、Fragment的Router)
(7) Utils(各种常用的工具类)
- Barber
Custom View 神器。通过简单的注解帮助你大大减少 Custom View 中的代码量。由于和 ButterKnife 一样使用了 Annotation Proccessor ,所以对程序性能没有影响。
- device-year-class
A library that analyzes an Android device‘s specifications and calculates which year the device would be considered "high end”.(facebook开发的检测手机主流配置工具)
版权声明:本文为博主原创文章,未经博主允许不得转载。