前言
如果你也学习Android,那么你大概率会看过我的文章。
经常有读者给我留言:“该怎么学习Android?”、“日常学习Android的方法是什么”、”如何实践应用Android“等。
所以,今天,我将献上一份《全面 & 详细的Android学习指南》,以自身的经验 & 所见所闻,旨在告诉大家,针对Android,需要学习什么知识、怎么学习 & 怎么应用到实际项目中,希望你们会喜欢。
注:文末有由本人亲自撰写 & 整理的Android学习方法资料送出!
核心分析内容
对于怎么学习Android,主要解决的是3个问题:学什么、怎么学 & 怎么用。具体如下:
a. 学什么?
即 要学习的Android理论知识有哪些?
b. 怎么学?
此处我将上述问题拆解为三个部分:
1. 学习路径:如何循序渐进、阶段性的学习Android的理论知识?
2. 获取途径:有哪些高效的方式获取Android理论知识?
3. 学习方式:用什么方式记录?怎么样去记录?
c. 怎么用?
即 如何理论结合实践,将Android知识应用到实际项目中?
下面,我将带着上述几个问题,详细讲解自身学习Android的方法和Android学习路径;最后,还会结合前面内容,给出综合的具体执行学习Android的建议。
1. 怎么学
面向Android初、中级开发者,对于要学习的Android理论知识,我认为主要包括:
Android基础 & 常用
Android进阶
与时俱进、热门技术
编程语言
计算机基础
具体介绍如下
1.1 Android基础 & 常用
针对Android基础&常用知识,按照优先级最主要的知识点主要包括:四大组件、布局使用、多线程 & 动画,具体介绍如下:
1.2 Android进阶
针对Android进阶知识,按照优先级最主要的知识点主要包括:自定义View、性能优化,具体介绍如下:
1.3 与时俱进、热门技术
除了基础日常使用的Android知识,我们还需时刻关注行业动态,与时俱进的学习新技术,如近些年来较为热门的Android新技术包括:Flutter、热修复、插件化等。
同时,了解 & 学习常用的开源库也十分重要,常用的开源库主要包括图片加载、网络请求、异步处理等,具体类型如下:
1.4 编程语言:Java与Java虚拟机
Android是基于Java的,所以学习Java和Java虚拟机(JVM)十分重要。
对于学习Java,我们移动端开发学习Java不需要后端那么深入,我认为作为Android开发者,学习的内容包括:语言特性、基础使用、集合类&机制。具体介绍如下:
注:近年来新兴的Kotlin大家也可了解一下,但我认为短时间内是不会完全取代Java的。
对于Java虚拟机,属于底层&原理性的内容,具体需学习的内容包括:
1.5 计算机基础
除了学习Android特定技术外,对于程序员来说,计算机基础素养也是十分重要,即所有从事技术行业的程序员都该具备的基础知识。
计算机基础主要包括:数据结构、算法 & 计算机网络,具体介绍如下:
1.6 额外
当你学习完上述知识后,你应该已经能称得算是一个中级Android开发工程师了,可以尝试向高级Android开发工程师进阶。
此时,我认为有3个方向可以尝试:技术专家、架构师 & 管理层,具体介绍如下:
1.7 总结
至此,关于该如何学习Android知识介绍完毕,下面作一个简单总结:
2. 怎么学?
在本文中,将主要讲解如何去学习Android知识,此处分为3个子问题:
1. 学习路径:如何循序渐进、阶段性的学习Android的理论知识?
2. 获取途径:有哪些高效的方式获取Android理论知识?
3. 学习方式:用什么方式记录?怎么样去记录?
下面将从上面3个方向详细介绍。
2.1 学习路径:如何循序渐进、阶段性的学习Android的理论知识?
既然已经知道要学习哪些内容了,下面,该解决的是:学习路径,即什么阶段该学习什么内容。
对于Android知识学习阶段,我认为是和Android开发水平相结合的,即只要掌握了哪部分知识,就代表你处于Android开发的哪个阶段。
我将Android开发水平分为:初、中、高 & 高级以上,具体对应的知识内容如下:
a. 初级
b. 中级
c. 高级
d. 高级以上
针对高级以上的Android开发者,我认为主要是有3个方向:技术专家、架构师 & 管理层,具体介绍如下:
总结
如果此处简单总结一下Android各阶段的特点:
所以,针对上面讲解的Android知识,按初->中->高级学习Android理论知识,并针对未来的发展方向进行深造,逐步提高自己的开发水平吧!
2.2 获取途径:有哪些高效的方式获取Android理论知识?
既然已经知道要学习哪些内容了,下面,我将列举一些学习Android理论知识的有效途径。
对于获取Android知识,我认为最有效的途径是:书籍 > 视频 > 技术博客 > 公众号,具体介绍如下:
a. 书籍
b. 视频
c. 技术博客
d. 公众号
关于通过公众号的学习,本人的微信公众号:carson带你解析Android,希望能让大家通过碎片化时间系统、高效地学习上述说的Android理论知识,感兴趣可以扫描下方二维码关注哦!
总结
此处总结一下获取Android知识的途径:
2.3 学习方式:用什么方式记录?
很多人看完书籍看完博客后当时很理解,但过一段时间就十分容易忘记
所谓”好记性不如烂笔头“,我认为,最好的记录方式就是将学习到的知识记录下来,我强烈推荐记录的方式是:撰写技术博客
对于技术博客的介绍如下:
撰写技术博客好处多多,主要包括:
a. 提高开发效率
复杂使用的流程化:记录下繁杂的使用流程,下次再次使用时 按部就班直接复用 即可。常见的有:开源库的使用、某类需求的具体实现过程。
Bug的快速解决:记录下问题发生的场景 & 解决方案,不仅能避免重复踩坑,就算踩坑了也能快速解决。
b. 保证真正地掌握知识
只有做到以下3步我才认为是真正掌握了知识:敲代码实现、清晰表达 & 让别人听懂。
但大部分开发者都停留在第1步(敲代码实现),你得清楚明白:敲代码实现& 用语言表达出来是两码事,所以 在整个过程中是非常能锻炼自己的思维能力 & 表达能力
c. 加深对知识的认知
在写作过程中,你会不断思考知识的各方各面。为什么?因为若思考得广度 & 深度不够,文章是没法继续写下去的。
这大概也是很多人没法坚持下来的原因:因为 牵一发而动全身,知识总是从1个点扩散到整个面的,最终需完成的文章内容远远超出你的想象。
d. 保证知识的正确性
自己的认知能力有限,所以对知识的理解总有偏差。当分享出来博客后,良好的Android技术社区氛围能及时纠正你错误的理解,保证你的认知是正确的。
当然,写博客还有其他的好处,如:
总结
此处简单总结写博客的好处:
晚些时候,我会专门推出一篇关于如何撰写博客的文章:<<手把手教大家如何产出一篇优质的技术博客>>,敬请期待。
2.4 总结
至此,关于怎么学习Android知识讲解完毕。此处作简单的总结:
3. 怎么用
理论结合实践、学以致用才能更好地获取知识,对于深入理解Android,最好的实践是:将理论知识运用到Android项目中。所以,此处可以转化成2个问题:
1. 如何寻找合适项目?
2. 如何将理论知识运用到项目中 & 提高项目的质量?
本节中,将详细回答上面2个问题。
3.1 如何寻找合适的项目?
要将理论知识应用到合适的Android项目中,才能加深强化&具备实践经验。对于寻找项目,此处给出3个方向:
1. 学校:课程设计、社团组织
2. 公司:实习、正职、创业
3. 技术社区:开源项目
下面,我将详细介绍。
1.1 学校
a. 课程设计
请认真对待大学专业对于你职业相关课程的大作业,即课程设计(如Java、Android、数据结构等),因为它会是你入门Android的第一个项目,也会成为你在校期间一个不可多得的项目经验。
b. 社团组织
多参与校内官方组织 & 社团组织,注重寻找具备校内影响力较大的产品的所属组织,因为在那里你能找到一个具备落地实践的开发经历 & 一群靠谱、能在职场上给与你很多帮助的开发团队。
1.2 公司
a. 实习
如果你还是在校大学生,请安排好自己的大学上课时间,尝试出去公司参与拥有大量用户、真正的项目,特别是知名公司。
对于在校大学生来说,这部分项目经历是含金量最高的,也是为数不多能真正让你的产品落地的好机会。
b. 正职
如果你已经是正职员工,那么做好你手头上的项目则是你实践最好的方式。
c. 创业
这是能最大程度锻炼你全方面的能力,含:技术专业能力 & 基础能力;但这是一个可遇不可求的机会:找到靠谱的团队 & 有前景的方向,若有这样的机会,个人非常建议去尝试。
假设最后能拿到投资,含金量是非常非常高、最能锻炼人的。
1.3 开源项目
来源:自己的项目、当前技术热点/开源库、仿照主流的app
内容:完整App、某个功能模块、UI组件等
开源处:主流技术社区 = Github、CSDN、稀土掘金、简书
总结
根据不同的经历 & 场景,选择合适你的Android项目,理论结合实践,才能最大化的提高你的Android水平。
3.2 如何将理论知识运用到项目中 & 提高项目的质量
我认为,项目中的所有功能 & 业务实现都是基于前文描述的Android知识的,关键是在于:是否能选择对的知识点 & 组合实现思路。
提高项目质量,即 提高项目含金量、增加技术含量 & 亮点,下面主要是从 项目本身的意义、实现方式、性能优化 & 影响力 4个方面,具体如下:
至此,关于如何应用Android知识到实践活动中讲解完毕。
额外:具体执行建议
看完全文,你可能会有个疑问:
“好多知识内容需要学、好多项目需要做、还要花时间写技术博客记录,哪来那么多时间呢?”
个人认为最高效的执行方式是:以做项目为主、知识体系学习为辅,将技术博客作为一种学习的方式
具体理解的是:
总结
至此,关于对Android学习内容、方向&实践方式讲解到这里,此处作个简单总结:
凭借这样的学习方式,有幸获得腾讯、阿里巴巴、今日头条等Android客户端offer。所以,我将自己的一套Android学习方式总结出来分享给大家,希望各位也能获得心仪的offer!
本公众号,会逐步将上述讲解的Android理论知识推送给大家,希望大家能在碎片化时间系统、高效地学习到Android知识,感兴趣的同学可以长按扫描下方二维码关注哦!
学习资料赠送
福利:由本人亲自撰写 & 整理的Android学习方法资料(内容如下图)
数量:10名
参与方式:点击文章右下角”在看“ -> 回复截图到公众号 即可,我将从中随机抽取!
欢迎关注微信公众号