Android经典著名的百大框架源码解析(retrofit、Okhttp、Glide、Zxing、dagger等等)
2023/7/6 9:00:00 【次浏览】 本站
我们Android程序员每天都要和源码打交道。经过数年的学习,大多数程序员可以“写”代码,或者至少是拷贝并修改代码。而且,我们教授编程的方式强调编写代码的艺术,而不是如何阅读代码。当我说“阅读代码”,我是指有意地专门阅读代码。
众所周知,编程和写作有诸多相同之处。唐纳德·克努特甚至引入了文学编程(literate programming) 编程范式。编程与写作有相同的理念:表达我们的想法 。还记得你在学校是怎么学习写作的吗?我们的写作能力来源于从小学开始直到现在的大量的文本阅读。多年以来,我们阅读了不同难度的伟大作家的作品,并练习了多种写作技巧。
“如果你没时间读,你就没时间(或工具)写,就这么简单。” —— 斯蒂芬·金,《写作这回事:创作生涯回忆录》
正如斯蒂芬·金所观察到的那样,一个作家必须广泛而频繁地阅读,才能形成自己的声音, 并学会写出促使读者拿起书并痴读的句式和故事结构。 和读书一样,有意地阅读代码可以帮助程序员加速成长,尤其是对中级(intermediate)程序员而言。
那应该读什么样的源码
有这么多优秀源码可供选择,我们该选择并阅读什么样的源码呢?你必须从选择目标开始。如果不在这个步骤上下点功夫,你从源码中学习的效果就会打折扣。
这里分享一下Android百大框架源码解析,全是Android领域经典著名的项目源码,相信会大幅度提升我们的编写代码能力。(完整文档可点击下方卡片获取!)
百大框架源码目录
快速索引
| 框架名称 | 上榜关键字 |
|---|---|
| 1.Retrofit | 网络 |
| 2.okhttp | 网络 |
| 3.Butter Knife | 代码模板 |
| 4.MPAndroidChart | 图表 |
| 5.glide | 图片 |
| 6.leakcanary | 内存 |
| 7.Android-Universal-Image-Loader | 图片 |
| 8.EventBus | 事件消息 |
| 9.zxing | 条码扫描 |
| 10.picasso | 图片 |
| 11.lottie-android | 动画 |
| 12.fresco | 图片 |
| 13.RxAndroid | 异步 |
| 14.SlidingMenu | 菜单 |
| 15.PhotoView | 图片 |
| 16.material-dialogs | UI |
| 17.droid-async-http | 网络 |
| 18.androidannotations | 注解 |
| 19.fastjson | json |
| 20.Material-Animations | 动画 |
| 21.tinker | 热修复 |
| 22.ViewPagerIndicator | UI |
| 23.Android-CleanArchitecture | 架构 |
| 24.Android-PullToRefresh | 刷新 |
| 25.flexbox-layout | UI |
| 26.AndroidSwipeLayout | UI |
| 27.realm-java | 数据库 |
| 28.greenDAO | 数据 |
| 29.stetho | 调试 |
| 30.BaseRecyclerViewAdapterHelper | UI |
| 31.AndroidViewAnimations | 动画 |
| 32.MaterialDrawer | 菜单 |
| 33.Android-ObservableScrollView | UI |
| 34.CircleImageView | 图片 |
| 35.logger | 调试 |
| 36.agera | 异步 |
| 37.BottmBar | 菜单 |
| 38.Calligraphy | 字体 |
| 39.AndroidSlidingUpPanel | UI |
| 40.AppIntro | UI |
| 41.recyclerview-animators | 动画 |
| 42.dagger | 依赖注入 |
| 43.Android-Bootstarp | UI |
| 44.RxBinding | 响应式 |
| 45.ListViewAnimations | 动画 |
| 46.UItimateRecyclerView | UI |
| 47.uCrop | 图片 |
| 48.RxJava-Android-Samples | 用例 |
| 49.AndroidAutoLayout | 适配 |
| 50.EffectiveAndroidUI | 性能 |
| 51.Luban | 图片 |
| 52.DroidPlugin | 插件化 |
| 53.otto | 响应式 |
| 54.u2020 | 用例 |
| 55.buck | 构建 |
| 56.PermissionsDispatcher | 权限 |
| 57.android-gif-drawable | GIF |
| 58.Apktool | 反编译 |
| 59.dynamic-load-apk | 插件化 |
| 60.atlas | 插件化 |
| 61.volley | 网络 |
| 62.androidmvp | 用例 |
| 63.SwipeBackLayout | 手势 |
| 64.FlycoTabLayout | UI |
| 65.android-testing | 测试 |
| 66.FileDownloader | 下载 |
| 67.JieCaoVideoPlayer | 多媒体 |
| 68.glide-transformations | 图片 |
| 69.android-gpuimage | 图片 |
| 70.RxPermissions | 权限 |
| 71.freeline | 编译 |
| 72.RxLifecycle | 生命周期 |
| 73.classyshark | 反编译 |
| 74.acra | 崩溃日志 |
| 75.DiskLruCache | 文件 |
| 76.dexposed | 热修复 |
| 77.Litho | 性能 |
| 78.mosby | MVP |
| 79.AndResGuard | 混淆 |
| 80.StatusBarUtil | 状态栏 |
| 81.robolectric | 测试 |
| 82.Fragmentation | 嵌套 |
| 83.Small | 插件化 |
| 84.JsBridge | hybrid |
| 85.richeditor-android | UI |
| 86.Transitions-Everywhere | 动画 |
| 87.android-viewbadger | 勋章 |
| 88.AndroidWiFiADB | 调试 |
| 89.emojicon | 表情包 |
| 90.packer-ng-plugin | 多渠道 |
| 91.android-priority-jobqueue | 多线程 |
| 92.Android-Debug-Database | 调试 |
| 93.conceal | 加密 |
| 94.ARouter | 页面路由 |
| 95.MagicaSakura | 多主题 |
| 96.CustomActivityOnCrash | 崩溃 |
| 97.XhsEmoticonsKeyboard | 键盘 |
注:榜单排序依据:
1.项目开源
2.github上该项目的star个数
3.开发团队、作者的实力
为了保证榜单内容的多样性,榜单上尽可能的不重复同类型框架(比如多款listview增强框架)需要的可以直接点击文末卡片卡片免费领取。
部分框架介绍:
由于篇幅有限,下面只讲解部分框架,更全面的讲解可点击文末卡片免费领取:
1. Retrofit
一句话介绍:Retrofit是一款类型安全的网络框架,基于HTTP协议,服务于Android和java语言

2.okhttp
一句话介绍:okhttp是一款基于HTTP和HTTP2.0协议的网络框架,服务于java和android客户端

3.Butter Knife
一句话介绍:Butter Knife所提供了一种能力——使用注解生成模板代码,将view与方法和参数绑定。

4.MPAndroidChart
一句话介绍:MPAndroidChart是一款图表框架

5.glide
一句话介绍:glide是一款专注于提供流畅划动能力的“图片加载和缓存框架”

6.leakcanary
一句话介绍:一款内存检测框架,服务于java和android客户端

7.Android-Universal-Image-Loader
一句话介绍:曾经的图片加载框架王者,android开发老手都用过它

8.EventBus
一句话介绍:EventBus是一款本地组件间通信框架

9.zxing
一句话介绍:条码图像处理库

10. Picasso
一句话介绍:强力的图片下载、缓存框架

其他

手机扫码查看当前文章:
