Android经典著名的百大框架源码解析(retrofit、Okhttp、Glide、Zxing、dagger等等)

140 阅读3分钟

我们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-dialogsUI
17.droid-async-http网络
18.androidannotations注解
19.fastjsonjson
20.Material-Animations动画
21.tinker热修复
22.ViewPagerIndicatorUI
23.Android-CleanArchitecture架构
24.Android-PullToRefresh刷新
25.flexbox-layoutUI
26.AndroidSwipeLayoutUI
27.realm-java数据库
28.greenDAO数据
29.stetho调试
30.BaseRecyclerViewAdapterHelperUI
31.AndroidViewAnimations动画
32.MaterialDrawer菜单
33.Android-ObservableScrollViewUI
34.CircleImageView图片
35.logger调试
36.agera异步
37.BottmBar菜单
38.Calligraphy字体
39.AndroidSlidingUpPanelUI
40.AppIntroUI
41.recyclerview-animators动画
42.dagger依赖注入
43.Android-BootstarpUI
44.RxBinding响应式
45.ListViewAnimations动画
46.UItimateRecyclerViewUI
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-drawableGIF
58.Apktool反编译
59.dynamic-load-apk插件化
60.atlas插件化
61.volley网络
62.androidmvp用例
63.SwipeBackLayout手势
64.FlycoTabLayoutUI
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.mosbyMVP
79.AndResGuard    混淆
80.StatusBarUtil状态栏
81.robolectric测试
82.Fragmentation嵌套
83.Small插件化
84.JsBridgehybrid
85.richeditor-androidUI
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增强框架)。

部分框架介绍:

由于篇幅有限,下面只讲解部分框架,更全面的讲解可VX关注公众号:Android老皮

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

一句话介绍:强力的图片下载、缓存框架 在这里插入图片描述

其他