Android高手的秘密:如何利用开源项目加速提升你的开发能力
By LongLuo
牛顿有句耳熟能详的名言:“如果我比别人看得远些,那是因为站在巨人肩上的缘故。” 对于每个程序员来说,都希望自己成为一名高手,升职加薪,迎娶白富美,出任CEO,走上人生巅峰。《劝学》里也说“君子生非异也,善假于物也”,告诫我们君子的本性和其他人没有什么不同,只不过是善于利用和借助客观工具, 善于借助外部系统的能量。大神也是从小白过来的,每个小白只要掌握正确的方法,坚持努力,也可以成为大神。
开源项目就是那个巨人,我们可以通过学习开源项目的源码,了解其设计思想,将其应用于我们自己的项目中,吃透其代码,不知不觉中我们的能力也会有大幅度提高。
个人收集了一些很好的Android开源项目,认真学习并掌握,可以大大提升我们的能力。
Android
Google Android开发者官方网站
不用说,Android开发官方权威网站,网站提供的示例和文档值得认真学习和阅读。
https://developer.android.google.cn/
Android Samples
Android官方提供的各种示例和实践,值得认真学习。
https://github.com/android
Android Source Code
在线阅读Android系统源码,提供Android源码的交叉索引,可以快速的搜索符合特定条件的Android源代码,后台是基于OpenGrok引擎,OpenGrok是一个快速,便于使用的源码搜索引擎与对照引擎,它能够帮助我们快速的搜索、定位、对照代码树。
http://androidxref.com/
Github Android Topics
Github 的Android Topics,可以查询到一些Android知名开源项目:
https://github.com/topics/android
Android开源项目汇总
Trinea收集的Android开源项目,内容非常丰富,大家可以各取所需,不过绝大部分偏重于App开发。
https://github.com/Trinea/android-open-project
大前端 跨平台开发
Flutter
官网:https://flutter.dev/
架构
architecture-samples
https://github.com/android/architecture-samples
安全
cSploit
官网:http://www.csploit.org/
https://github.com/cSploit/android
android-security-awesome
https://github.com/ashishb/android-security-awesome
AndroidSecurityStudy
https://github.com/r0ysue/AndroidSecurityStudy
security-samples
https://github.com/android/security-samples
UI
awesome-android-ui
Android UI库
https://github.com/wasabeef/awesome-android-ui
lottie-android
https://github.com/airbnb/lottie-android
音视频
VLC Android
https://github.com/videolan/vlc-android
ijkplayer
https://github.com/bilibili/ijkplayer
地图 Map
Mapbox
https://github.com/mapbox/mapbox-gl-native
https://github.com/mapbox/mapbox-maps-android
AirMapView
https://github.com/airbnb/AirMapView