总结个人 Android 开发过程中常用的(经典的)第三方库。 方便技术选型,记忆回顾。持续更新中……
-
PermissionsDispatcher 基于简单注释的 API,用于处理 Android 运行时权限
-
RxPermissions 能配合 RxJava 与新的 Android M 权限模型一起使用,用于处理 Android 运行时权限
-
SettingsCompat 特殊权限( Special Permissions )兼容库,悬浮窗权限( SYSTEM_ALERT_WINDOW )与系统设置修改权限( WRITE_SETTINGS )。
- ButterKnife 将Android视图和回调绑定到字段和方法,省去findviewbyid
- Dagger 适用于Android和Java的快速依赖注入器,Ioc,依赖解耦,控制反转,建议MVP架构搭配适用
- Volley google开源HTTP库,它使Android应用程序的网络更容易,最重要的是,更快
- AndroidAsync 一个底层网络协议库,更多解锁功能可以结合Ion 使用。
- OkHttp square出品,适用于Android和Java应用程序的HTTP + HTTP / 2客户端。
- Retrofit square出品,适用于Android和Java的类型安全的HTTP客户端。
- paho.mqtt.android 适用于MQTT
- ksoap2-android 适用于Android平台的轻量级高效SOAP库。
- nanohttpd 适用于Android-Java中的小巧,易于嵌入的HTTP服务器
除以上开源第三方库外,Android 还自带以下网络请求模块
- HttpUrlConnection 适用于Android 2.3及以上版本,api简单,易扩展升级
- HttpClient 可兼容Android 2.3一下版本,api数量多,不易扩展
- AsyncTask Android封装好的轻量级异步类,使用时需实现子类
- Android-Universal-Image-Loader老牌图片加载,显示,缓存库
- Glide google推荐的图片加载,显示,缓存库
- Picasso 适用于Android的强大图像下载和缓存库
- Fresco facebook出品,用于管理图像及其使用内存的Android库
-
Gson/Json google出品,一个Java序列化/反序列化库,用于将Java对象转换为JSON并返回
-
JackSon/Json 用于处理JSON和XML格式化的类库
-
FastJson/Json alibaba出品,用于Java的快速JSON解析器/生成器
-
Jsoup/Html 用于Java解析HTML
-
dom4j 用于Xml解析
除此之外,Android还自带XMl解析,主要分三类
- SAX(Simple API for XML)
- DOM
- POll (XmlPull)
-
LitePal 郭林大神开源的一款基于ORM模式的SQLite数据库框架
-
GreenDao 一款轻松快速的Android ORM解决方案,可将对象映射到SQLite数据库
-
Object-BoxObjectBox是一个用于对象的超快速轻量级数据库
-
SQLBrite 对 Android 系统的
SQLiteOpenHelper
和ContentResolver
的轻量级封装,配合Rxjava使用 -
Realm 是一个移动数据库:SQLite和ORM的替代品
除此之外,Android Jetpack架构组件中自带的Room组件,也是基于ORM的SQlite数据库框架
- RxJava JVM 的 Reactive Extensions - 一个使用Java VM的可观察序列组成异步和基于事件的程序的库
- RxAndroid 适用于Android的RxJava绑定
- RxBinding 用于Android UI小部件的RxJava绑定API。
- Agera Android的反应式编程,Agera是一组类和接口,用于帮助编写Android的功能,异步和响应式应用程序
- EventBus 适用于Android和Java的事件总线,可简化活动,碎片,线程,服务等之间的通信。减少代码,提高质量。
- Otto 基于Guava的事件总线的Android支持库,组件化通讯,减低耦合性
-
[CircleImageView] (https://github.com/hdodenhof/CircleImageView) 提供Android圆角图片库
-
PhotoView 通过各种触摸手势实现支持缩放的Android Image View
-
Fragmentation 一个功能强大的库用于管理Android-Fragment!
-
MaterialDrawer 适用于Android项目的灵活,易用,一体化抽屉库
-
material-dialogs 适用于Kotlin和Android的漂亮流畅的对话框API
-
BaseRecyclerViewAdapterHelper 功能强大且灵活的RecyclerAdapter
-
FastAdapter 快速且易用的适配器库
-
zxing ZXing(“Zebra Crossing”)用于Java,Android的条形码扫描库
-
Lottie 在Android和iOS,Web和React Native上渲染After Effects动画库
-
AgentWeb AgentWeb是一个基于Android WebView的强大库
-
Crosswalk 采用了
Chromenium
内核,是一款开源的web
引擎 -
X5 X5内核是腾讯基于优秀开源Webkit [1] 深度优化的浏览器渲染引擎
-
AndroidChromium google开源的Android版本的Chormium浏览器源码
- DiskLruCache基于磁盘的LRU缓存的Java实现,专门针对Android兼容性
- Logger 一款简易,精致,功能强大的Android日志库
- timber 一款小型可扩展API的日志类,可在Android的普通Log类之上提供实用程序,易集成扩展
- AboutLibraries 显示第三方库信息的库,一般在开源项目类引用。
- Android 开源项目及库汇总
- Awesome-Third-Library-Source-Analysis
- Android Store
以上总结 Android 常用框架,不要求全部掌握,但至少保证如下几点:
- 不必重复造梯子,善用google,github等,以便技术选型。
- 对照着官网,能会使用,跟进实际项目需求能对比选择合适的第三方库。
- 经典的,使用频率比较高的开源框架,需理解其设计思想。