Android学习从入门到放弃(文末有福利)

移动开发早就不是最热门的程序员职业了,而且移动开发也并不是一个能够在短时间内轻松掌握的领域,需要我们有足够的耐心和毅力

作为一个在Android开发领域积累了不少经验的开发者,自己也看了不少书,也和不少前辈交流过,在这里分享一些对于学习Android开发的书籍、知识和方法,希望能对那些希望进入这个行业的人有所帮助。

首先,我要强调的是,移动开发早就不是最热门的程序员职业了,而且移动开发并不是一个能够在短时间内轻松掌握的领域。如果你只准备投入两三个月的时间,可能很难在这个行业中获得一席之地。因此,我建议那些真正想要成为优秀Android开发者的人需要有足够的耐心和毅力

下面提到的一些书籍可以通过 juejin.cn/post/724192... 下载

基础知识

这里主要是指开发语言、Android以及计算机基础 开发语言

  • Java:基础语法、面向对象思想、然后就是相关编程技巧如 泛型、并发等
  1. 《Java核心编程》、《Think in Java》、《编写高质量代码:改善Java程序的151个建议》、《重构_改善既有代码的设计》
  • kotlin:对应上面java,并且有着自己的新特性,包括 函数式编程、协程等
  1. 《Kotlin核心编程》
  2. 官网 www.kotlincn.net
  3. 《函数式编程思维》
  • Android系统基础:基础主要是四大组件、画UI、View等
  1. 官网是最好的资料developer.android.com/?hl=zh-cn
  2. 入门资料《第一行代码》、《Android艺术探索》
  • 计算基础

网络和操作系统

  1. 《图解 TCP_IP》
  2. 《现代操作系统》

工程能力

这部分需要多年的实践积累

  • 设计模式

首先需要有些设计模式的基础,这会让我们更加容易的理清项目代码的脉络,写出更加容易维护的代码

  1. 《Head First 设计模式》
  2. 《图解设计模式》
  3. 《代码整洁之道》
  • 组件化

这个前几年比较多,配合路由框架,以及SPI来解耦模块

  • 工程构建

主要是Android gradle的高级玩法,这块非常值得深挖,这块资料不是很多,都是网上一些碎片

  1. 《Android-Gradle权威指南》
  2. 《实战Gradle》
  3. 《Gradle for Android》
  • 「工程安全」

逆向与安全,这个是个全新的领域了,搞应用的稍微了解一下就可以,因为这块深不见底的,可以了解下xposed、脱壳、反编译

  1. 《Android安全攻防权威指南》
  2. 《Android安全技术揭秘与防范》
  • 大前端技术

早些年的jsBridge/Hybrid,现在的Flutter等,然后各家都在搞自己的跨端方案比如字节的Lynex等

  • 稳定性

这个几乎都要遇到,主要是卡顿、包大小、crash(java层以及native层)、电量、流量这些优化

  • 「音视频、多媒体技术」

这个也是个单独的深耕领域,需要配合了解c/c++、OpenGL等

  • 编程技巧
  1. 反射与注解 + APT(AMS/JavaAssit/Javapoet)
  2. AOP切面
  3. 动态代理
  4. 并发编程

Android系统

  • 「Framework」

这个是个专业的领域,但是应用层又经常需要了解,主要在渲染系统,Binder、一些常见的核心服务端,比如AMS、WMS等。不过应用层的插件化这块还是需要了解一些framework知识,这样会帮助我们更加深刻的理解

  1. 《深入理解Android内核设计思想上册》、《深入理解Android内核设计思想下册》
  2. 《Android的设计与实现 卷1》
  3. 《Android内核剖析(带完整书签)》
  4. 《Android Framework 开发揭秘》
  5. 《深入探索android热修复原理》
  • Runtime
  1. 《Java虚拟机》

最后附上一张大图

欢迎关注 「Android茶话会」更多精彩等你来探索

  1. 「学习之路」 取Android技术路线经典电子书
  2. 「童年游戏」 取60+童年游戏合集一份
  3. 「技术简历」 取精选简历模板一份

欢迎 点赞、评论、转发

相关推荐
哈里谢顿2 小时前
1000台裸金属并发创建中的重难点问题分析
面试
哈里谢顿2 小时前
20260303面试总结(全栈)
面试
火柴就是我5 小时前
让我们实现一个更好看的内部阴影按钮
android·flutter
over6977 小时前
从 LLM 到全栈 Agent:MCP 协议 × RAG 技术如何重构 AI 的“做事能力”
面试·llm·mcp
SuperEugene8 小时前
Vue状态管理扫盲篇:如何设计一个合理的全局状态树 | 用户、权限、字典、布局配置
前端·vue.js·面试
Sailing10 小时前
🚀 别再乱写 16px 了!CSS 单位体系已经进入“计算时代”,真正的响应式布局
前端·css·面试
砖厂小工12 小时前
用 GLM + OpenClaw 打造你的 AI PR Review Agent — 让龙虾帮你审代码
android·github
张拭心13 小时前
春节后,有些公司明确要求 AI 经验了
android·前端·人工智能
SuperEugene13 小时前
Vue状态管理扫盲篇:Vuex 到 Pinia | 为什么大家都在迁移?核心用法对比
前端·vue.js·面试
张拭心13 小时前
Android 17 来了!新特性介绍与适配建议
android·前端