查看原文
其他

    前言

        如果你也学习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理论知识,我认为主要包括:

        具体介绍如下

    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名

    参与方式:点击文章右下角”在看“ -> 回复截图到公众号 即可,我将从中随机抽取!




    欢迎关注微信公众号






    你的”好看“,是我写文章最大的动力哦

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存