作为一名Android程序猿,想要在平常工作中越来越顺,一定要在开发中使用一些比较高效流行的框架,下面是个人对开发中常用的框架进行整理成果。
响应式编程
RxJava
https://github.com/ReactiveX/RxJava
RxAndroid
Android上的响应式扩展,在RxJava基础上添加了Android线程调度 https://github.com/ReactiveX/RxAndroid
RxJavaJoins
为RxJava提供Joins操作
https://github.com/ReactiveX/RxJavaJoins
RxBinding
提供用RxJava绑定Android UI的API
https://github.com/JakeWharton/RxBinding
Agera
Android上的响应式编程
https://github.com/google/agera
消息通信
EventBus
组件间的消息通信
https://github.com/greenrobot/EventBus
Otto
一个基于Guava的增强的事件总线
https://github.com/square/otto
注解框架
butterknife
View注解框架
https://github.com/JakeWharton/butterknife
dagger
Android和Java的依赖注入框架
https://github.com/google/dagger
AndroidAnotations
快速安卓开发。易于维护
https://github.com/androidannotations/androidannotations
RoboGuice
Android平台的Google Guice
https://github.com/roboguice/roboguice
数据解析
Gson
https://github.com/google/gson
fastjson
Java上一个快速的JSON解析器/生成器
https://github.com/alibaba/fastjson
Jackson
Jackson可以轻松地将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象
https://github.com/codehaus/jackson
HtmlPaser
一种用来解析单个独立html或嵌套html的方式
https://sourceforge.net/projects/htmlparser/
Jsoup
一个以最好的DOM,CSS和jQuery解析html的库
https://github.com/jhy/jsoup
数据库
Realm
移动数据库SQLite&ORM替代者
https://github.com/realm/realm-java
ActiveAndroid
无需写sql语句
https://github.com/pardom/ActiveAndroid
greenDAO
轻量级、快速ORM解决方案
https://github.com/greenrobot/greenDAO
OrmLite
JDBC和Android的轻量级ORM java包
https://sourceforge.net/projects/ormlite/files/releases/com/j256/ormlite/
Sugar
用超级简单的方法处理Android数据库
https://github.com/chennaione/sugar
SQLBrite
SQLiteOpenHelper 和ContentResolver的轻量级包装
https://github.com/square/sqlbrite
网络请求
OkHttp
良心组织square开源项目
https://github.com/square/okhttp
AndroidAsyncHttp
异步请求http库
https://github.com/loopj/android-async-http
AndroidAsync
异步Socket,HTTP(客户端+服务器),WebSocket,和socket.io库。基于NIO而不是线程。
https://github.com/koush/AndroidAsync
retrofit
又是square出品的精品,该http请求库与dagger、rxjava为越来越多人使用的三剑客
https://github.com/square/retrofit
Volley
Google推出的Android异步网络请求框架和图片加载框架
项目地址https://github.com/smanikandan14/Volley-demo
后台处理
Tape
一个轻快的,事务性的,基于文件的FIFO的库
https://github.com/square/tape
Android Priority Job Queue
一个专门为Android轻松调度任务的工作队列
https://github.com/yigit/android-priority-jobqueue
图片加载
Android-Universal-Image-Loader
非常流行图片加载库
https://github.com/nostra13/Android-Universal-Image-Loader
Glide
https://github.com/bumptech/glide
fresco
facebook出品,必属精品
https://github.com/facebook/fresco
picasso
https://github.com/square/picasso
图片处理
Picasso-transformations
一个为Picasso提供多种图片变换的库
https://github.com/wasabeef/picasso-transformations
Glide-transformations
一个为Glide提供多种图片变换的库
https://github.com/wasabeef/glide-transformation
Android-gpuimage
基于OpenGL的Android过滤器
https://github.com/CyberAgent/android-gpuimage
多媒体操作
android-multipicker-library
图片、视频、文件、音乐、通讯录选择器
https://github.com/coomar2841/android-multipicker-library
Android-Image-Cropper
图片裁剪库
https://github.com/ArthurHub/Android-Image-Cropper
uCrop
https://github.com/Yalantis/uCrop
android-UniversalMusicPlayer
google的跨平台音乐播放器,支持手机、平板、手表和TV,是学习多平台的最好实例
https://github.com/googlesamples/android-UniversalMusicPlayer
PhotoView
图片手势操作放大缩小库
https://github.com/chrisbanes/PhotoView
ijkplayer
bilibili的开源项目 基于ffplay的播放器https://github.com/Bilibili/ijkplayer
图表
WilliamChart
创建图表的Android库
https://github.com/diogobernardino/WilliamChart
HelloCharts
兼容到API8的Android图表库
https://github.com/lecho/hellocharts-android
MPAndroidChart
一个强大的Android图表视图/图形库
https://github.com/PhilJay/MPAndroidChart
设备相关
zxing
Java实现的条形码、二维码扫描开源库
https://github.com/zxing/zxing
zbar
C实现的条形码、二维码扫描库
https://github.com/ZBar/ZBar
barcodescanner
封装了zxing和zbar,更加简单的使用
https://github.com/dm77/barcodescanner
MVP相关
Android-CleanArchitecture
mvp架构学习实例
https://github.com/android10/Android-CleanArchitecture
android-architecture
google推荐的学习mvp架构的模版
https://github.com/googlesamples/android-architecture
缓存
DiskLruCache
Java实现基于LRU的磁盘缓存
https://github.com/JakeWharton/DiskLruCache
ASimpleCache
简单缓存
https://github.com/yangfuhai/ASimpleCache
Log框架
Logger
简单,漂亮,强大的Android日志工具
https://github.com/square/leakcanary
Hugo
在调试版本上注解的触发方法进行日志记录
https://github.com/JakeWharton/hugo
Timber
一个小的,可扩展的日志工具
https://github.com/JakeWharton/timber
测试框架
Mockito
Java编写的Mocking单元测试框架
https://github.com/mockito/mockito
Robotium
Android UI 测试
https://github.com/RobotiumTech/robotium
Robolectric
Android单元测试框架
https://github.com/xtremelabs/robolectric
Android自带很多测试工具:
JUnit,Monkeyrunner,UiAutomator,Espresso等
调试框架
Stetho
调试Android应用的桥梁,使得可以利用Chrome开发者工具进行调试
https://github.com/facebook/stetho
性能优化
LeakCanary
内存泄漏检测工具,简单、漂亮的日志打印工具
https://github.com/square/leakcanary
ACRA
Android应用程序崩溃报告
https://github.com/ACRA/acra
动画
NineOldAndroids
https://github.com/JakeWharton/NineOldAndroids
UI
MaterialDesign
https://github.com/Templarian/MaterialDesign