作为一名Android程序猿,想要在平常工作中越来越顺,一定要在开发中使用一些比较高效流行的框架,下面是个人对开发中常用的框架进行整理成果。
1、响应式编程
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
2、消息通信
EventBus
组件间的消息通信
https://github.com/greenrobot/EventBus
Otto
一个基于Guava的增强的事件总线
https://github.com/square/otto
3、注解框架
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
4、数据解析
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
5、数据库
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
6、网络请求
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
7、后台处理
Tape
一个轻快的,事务性的,基于文件的FIFO的库
https://github.com/square/tape
Android Priority Job Queue
一个专门为Android轻松调度任务的工作队列
https://github.com/yigit/android-priority-jobqueue
8、图片加载
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
9、图片处理
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
10、多媒体操作
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
11、图表
WilliamChart
创建图表的Android库
https://github.com/diogobernardino/WilliamChart
HelloCharts
兼容到API8的Android图表库
https://github.com/lecho/hellocharts-android
MPAndroidChart
一个强大的Android图表视图/图形库
https://github.com/PhilJay/MPAndroidChart
12、设备相关
zxing
Java实现的条形码、二维码扫描开源库
https://github.com/zxing/zxing
zbar
C实现的条形码、二维码扫描库
https://github.com/ZBar/ZBar
barcodescanner
封装了zxing和zbar,更加简单的使用
https://github.com/dm77/barcodescanner
13、MVP相关
Android-CleanArchitecture
mvp架构学习实例
https://github.com/android10/Android-CleanArchitecture
android-architecture
google推荐的学习mvp架构的模版
https://github.com/googlesamples/android-architecture
14、缓存
DiskLruCache
Java实现基于LRU的磁盘缓存
https://github.com/JakeWharton/DiskLruCache
ASimpleCache
简单缓存
https://github.com/yangfuhai/ASimpleCache
15、Log框架
Logger
简单,漂亮,强大的Android日志工具
https://github.com/square/leakcanary
Hugo
在调试版本上注解的触发方法进行日志记录
https://github.com/JakeWharton/hugo
Timber
一个小的,可扩展的日志工具
https://github.com/JakeWharton/timber
16、测试框架
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等
17、调试框架
Stetho
调试Android应用的桥梁,使得可以利用Chrome开发者工具进行调试
https://github.com/facebook/stetho
18、性能优化
LeakCanary
内存泄漏检测工具,简单、漂亮的日志打印工具
https://github.com/square/leakcanary
ACRA
Android应用程序崩溃报告
https://github.com/ACRA/acra
19、动画
NineOldAndroids
https://github.com/JakeWharton/NineOldAndroids
SwitchLayout -
国内开发者, Android的Activity切换动画特效库SwitchLayout,视图切换动画库,媲美IOS。
ActivityOptionsICS
一个低版本activity动画兼容库——ActivityOptionsICS,可以很好的实现MD的动画效果。
SwipeBack
一个可以通过手势返回到上一个Activity的开源库,支持上下左右四个方向返回,支持多个View为Child。
XhsWelcomeAnim
国内开发者, 华丽酷炫欢迎引导界面 动画没有之一。
Material-Animations
Material风格动画,可以定义两个Activity之间的动画。
更多动画框架见:
https://github.com/Tim9Liu9/TimLiu-Android#%E5%8A%A8%E7%94%BB
20、UI
MaterialDesign
https://github.com/Templarian/MaterialDesign
awesome-android-ui
ui库,非常多的ui及特效。
ChipsLibrary
在Android EditText中实现打Tag功能。
bitmapMesh
拉窗帘效果。