Android 开源项目及其学习
这是我之前在知乎的回答,放在这里来一发。虽然也可以罗列几十个项目然后给你些高大上的动态图,但那对你没用,希望这篇全面的梳理分享能帮到更多人。
下面的介绍包括几个部分:
- GitHub 上有哪些 Android 开源项目
- 哪些项目适合新手学习
- 如何获取最新的 Android 开源项目
- 开源项目怎么学习
- 开源项目源码解析
1. GitHub 上有哪些 Android 开源项目
目前收藏 Android 开源库比较多的有 Android 开源项目汇总及中英文搜索,Android Arsenal,Android Libraries and Resources
另有 Libraries for developers,DevAppsDirect 等 App 集合了很多开源库。
更多介绍可以参考我之前的整理:Android 开源库获取途径整理。
其中的 Android Arsenal 国外人收集的最棒的开源集合。
Android 开源项目汇总及中英文搜索 是我在维护,包括 2000+ 开源项目,每一个都有中文介绍及大家喜欢的酷炫示例图。
2. 哪些项目适合新人围观
这个问题我没法给你列几个项目,具体原因我在下面介绍。
从上面的图中也可以看出来了,开源项目巨多,分类很细。如果你是 Android 新手建议从简单的自定义 View 开始,如自定义 ImageView、TextView;
然后到复杂的自定义 View,如功能很全的自定义 ListView;
最后是大型的公共库,如 Volley、UIL、Dagger。另说下 Volley 是建议每个中高级开发者学习的库,因为他真的很棒。但如果是新手,你还真不一定看得懂。
最后你要针对自己的需要来看:
- 有紧迫和压力感更快
- 开源库太多你根本不可能完全学过来,就跟少林七二绝技有生之年你学会一二就已经差不多了
- 很多库原理类似可举一反三。
如果你想学习某个项目源码可以先看我们组织的 Android 开源项目源码分析,每篇都是精品,我就不解释了。
3. 授人以渔-如何获取最新的 Android 开源项目
- 每天看 Android 开源项目汇总及中英文搜索,及时自动收录最新开源项目。
- Follow Android Dev Com Android Dev Cn 上那些开发者的 Github 帐号,每天从自己的 News Feed 中看他们的动态。你也可以直接 Follow 我 Trinea's following 的人。
- 看 Trending repositories on GitHub 养成每天逛 GitHub 的习惯是个优秀的习惯。
4. 进阶篇-开源项目怎么学习
如果只是简单的学习的话可以根据 API 逐步 Debug 进去,不断深入和反复即可。
全面而系统的学习的话,请移步查看我在如何针对 Github 上某个 Android 开源项目进行学习的回答,这也是 Android 开源项目源码解析第一期的规范文档。
5. 开源项目源码解析
这是我们组织的 Android 开源项目源码分析 项目,我们相信应该知其然知其所以然。为了更好的了解并掌握优秀开源库原理,从简介、总体设计、流程图、详细设计全方面分析开源库源码。目前第一期完成,包括 10 个开源库及 5 个公共技术点的全面介绍。
最后不管你需要什么别忘记了 Google,只要你要,它肯定有。