Android经典著名的百大框架源码解析(retrofit、Okhttp、Glide、Zxing、dagger等等)
2023/7/6 9:00:00 【70次浏览】 本站
我们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
一句话介绍:强力的图片下载、缓存框架
其他
手机扫码查看当前文章: