9、数据库
=========
| 框架名称 | 功能描述 |
| :-- | :-- |
| OrmLite | JDBC和Android的轻量级ORM java包 |
| Sugar | 用超级简单的方法处理Android数据库 |
| GreenDAO | 一种轻快地将对象映射到SQLite数据库的ORM解决方案,使用的App有:薄荷,京东 |
| ActiveAndroid | 以活动记录方式为Android SQLite提供持久化 |
| SQLBrite | SQLiteOpenHelper 和ContentResolver的轻量级包装 |
| android-database-sqlcipher | 数据库加密 |
| storio | Beautiful API for SQLiteDatabase and ContentResolver |
| realm-java | 移动数据库,高性能数据库:一个SQLite和ORM的替换品 |
| ObjectBox | 相信不少人都用过GreenDao和EventBus,这两库都是greenrobot公司出品。ObjectBox也是该公司出品。GreenDao号称是最快的与SQLite的对象关系映射(ORM)。但是自从2011年以来,公司声称发现了许多的缺陷,有很多问题影响了性能。所以开发出另外一套性能最好且易用的NoSQL数据库,优于其他数据库5-15倍的性能。 |
10、依赖注入
===========
| 框架名称 | 功能描述 |
| :-- | :-- |
| ButterKnife | 将Android视图和回调方法绑定到字段和方法上 |
| Dagger2 | 一个Android和java快速依赖注射器 |
| AndroidAnotations | 快速安卓开发。易于维护 |
| RoboGuice | Android平台的Google Guice 已退役 |
| guice | Google开发的依赖注入框架 |
11、图表Chart
==============
| 框架名称 | 功能描述 |
| :-- | :-- |
| WilliamChart | 创建图表的Android库 |
| HelloCharts | 兼容到API8的Android图表库,使用的App有:薄荷 |
| MPAndroidChart | 一个强大的Android图表视图/图形库,使用的App有:春雨医生 |
12、后台处理
===========
| 框架名称 | 功能描述 |
| :-- | :-- |
| Tape | 一个轻快的,事务性的,基于文件的FIFO的库 |
| Android Priority Job Queue | 一个专门为Android轻松调度任务的工作队列 |
13、事件总线
===========
| 框架名称 | 功能描述 |
| :-- | :-- |
| EventBus | 安卓优化的事件总线,简化了活动、片段、线程、服务等的通信,使用的App有:薄荷 |
| Otto | 一个基于Guava的增强的事件总线 |
| HermesEventBus | 一个基于EventBus的、能在进程间发送和接收event的库,在IPC或者插件开发中非常有用 |
14、响应式编程
============
| 框架名称 | 功能描述 |
| :-- | :-- |
| RxJava | JVM上的响应式扩展 |
| RxJavaJoins | 为RxJava提供Joins操作 |
| RxAndroid | Android上的响应式扩展,在RxJava基础上添加了Android线程调度 |
| RxBinding | 提供用RxJava绑定Android UI的API |
| Agera | Android上的响应式编程 |
| RxLifecycle | Lifecycle handling APIs for Android apps using RxJava |
15、Log框架
============
| 框架名称 | 功能描述 |
| :-- | :-- |
| Logger | 简单,漂亮,强大的Android日志工具 |
| Hugo | 在调试版本上注解的触发方法进行日志记录 |
| Timber | 一个小的,可扩展的日志工具 |
16、测试框架
===========
| 框架名称 | 功能描述 |
| :-- | :-- |
| Mockito | Java编写的Mocking单元测试框架 |
| Robotium | Android UI 测试 |
| Robolectric | Android单元测试框架 |
Android自带很多测试工具:JUnit,Monkeyrunner,UiAutomator,Espresso等
17、调试框架
===========
| 框架名称 | 功能描述 |
| :-- | :-- |
| Stetho | 调试Android应用的桥梁,使得可以利用Chrome开发者工具进行调试 |
18、性能优化
===========
| 框架名称 | 功能描述 |
| :-- | :-- |
| LeakCanary | 内存泄漏检测工具 |
| BlockCanary | 轻松找出Android App界面卡顿元凶 |
| ACRA | Android应用程序崩溃报告 |
| Google Guava | Guava工程包含了若干被Google的 Java项目广泛依赖 的核心库,例如:集合 [collections] 、缓存 [caching] 、原生类型支持 [primitives support] 、并发库 [concurrency libraries] 、通用注解 [common annotations] 、字符串处理 [string processing] 、I/O 等等。 所有这些工具每天都在被Google的工程师应用在产品服务中。 |
| google protobuf | 由google开发,并且在google内部使用。Protobuf的作用和xml、json是一回事,但他是二进制格式,性能好、效率高。ProtoBuf开发者指南 |
19、热修复
==========
| 框架名称 | 功能描述 |
| :-- | :-- |
| tinker | 腾讯开源的一个热修复框架 |
| AndFix | alibaba热修复框架 |
| dexposed | alibaba热修复框架 |
20、二维码
==========
| 框架名称 | 功能描述 |
| :-- | :-- |
| Zxing | 一个二维码开源框架 |
| barcodescanner | 使用的App有:薄荷 |
| BGAQRCode-Android | 扫描二维码、扫描条形码、相册获取图片后识别、生成带 Logo 二维码、支持微博微信 QQ 二维码扫描样式 |
| zxing-android-embedded | 使用的App有:春雨医生,芒果TV |
21、多媒体
==========
| 框架名称 | 功能描述 |
| :-- | :-- |
| ijkplayer | Bilibili开源的视频播放器 |
| DanmakuFlameMaster | Android开源弹幕引擎·烈焰弹幕使,使用的App有:网易新闻 |
| Vitamio | 一款全能多媒体开发框架,全面支持硬件解码与 GPU 渲染 |
| FFmpeg | 一个基于C语言的多媒体开源框架 |
| 百度媒体云 | 基于百度视频处理、人脸识别、语音等技术媒体相关的整体解决方案 |
| ExoPlayer | Google开源的视频播放器 |
22、汉语转拼音
============
| 框架名称 | 功能描述 |
| :-- | :-- |
| pinyin4j | https://github.com/belerweb/pinyin4j |
| TinyPinyin | 适用于Java和Android的快速、低内存占用的汉字转拼音库。 |
| PinyinSearchLibrary | The library of PinyinSearch,a Java Library which provide data parsing methods, data matching method and so on for T9 search and Qwerty search.PinyinSearch = T9Search + QwertySearch |
| com.pinyin4android | 唯品会使用 |
23、下载
=========
| 框架名称 | 功能描述 |
| :-- | :-- |
| MultiThreadDownload | 使用的App有:薄荷 |
| FileDownloader | Android 文件下载引擎,稳定、高效、灵活、简单易用 |
| RxDownload | 基于RxJava和Retrofit打造的下载工具, 支持多线程下载和断点续传, 智能判断是否支持断点续传等功能 |
| file-downloader | 安卓上轻量级Http/Https文件下载框架,我的目标是让安卓文件下载越简单越好,尽可能以最简洁明了的方式完成复杂需求。 |
24、动画
=========
| 框架名称 | 功能描述 |
| :-- | :-- |
| facebook:rebound | A Java library that models spring dynamics and adds real world physics to your app |
| ViewAnimator | A fluent Android animation library |
| Material-Animations | Android Transition animations explanation with examples |
| AndroidViewAnimations | Cute view animation collection. |
| ListViewAnimations | An Android library which allows developers to easily add animations to ListView items |
| recyclerview-animators | An Android Animation library which easily add itemanimator to RecyclerView items. |
| RecyclerViewItemAnimators | An Android library which provides simple Item animations to RecyclerView items |
| AnimationEasingFunctions | Android Animation Easing Functions. Let’s make animation more real! |
| BaseAnimation | BaseAnimation收集网络Android相关动画集合,自定义控件等,近200多种源码 |
| FragmentAnimations | 3D animations for support-v4 Fragment transition. |
| AnimatedEditText | Androids EditText that animates the typed text. EditText is extended to create AnimatedEditText and a PinEntryEditText. |
| ViewPagerTransforms | Library containing common animations needed for transforming ViewPager scrolling for Android v13+ |
| lottie-android | Render After Effects animations natively on Android and iOS |
最后
为了方便有学习需要的朋友,我把资料都整理成了视频教程(实际上比预期多花了不少精力)
当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。
- 无论你现在水平怎么样一定要 持续学习 没有鸡汤,别人看起来的毫不费力,其实费了很大力,这四个字就是我的建议!!
- 我希望每一个努力生活的IT工程师,都会得到自己想要的,因为我们很辛苦,我们应得的。
当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。
无论你现在水平怎么样一定要 持续学习 没有鸡汤,别人看起来的毫不费力,其实费了很大力,没有人能随随便便成功。
加油,共勉。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!