一个程序员学习Android软件开发应当具备的知识体系

[复制链接]
哈飞路宝 发表于 2019-5-17 04:59:00 | 显示全部楼层 |阅读模式
来源:https://www.jianshu.com/p/db999db8e1e5
若内容不全,可点击上述链接查看来源网页,在网页中点击红色双层向下的箭头阅读全文


随着移动手机的普遍使用,各种各样的移动App层出不穷,Android软件开发也成为越来越多的程序员或者即将从事程序员工作的群体热衷和追捧的学习方向。关于Android知识的学习,个人认为除了学习Android的基础知识,以便能够掌握Android开发的基本技能之外,还应当加强Java基础知识、Web基础知识、Android高级开发、Android前沿技术等方面的学习,才能形成自己全面的Android知识体系,从而有利于程序员快速、高效地投入Android项目实践工作。本文将重点介绍一个程序员学习Android软件开发应当具备的知识体系,如下图所示:

Android知识体系

Java基础知识

Android开发的语言主要是Java语言,因此,Java基础知识非常重要。对于一个Android程序员首先必须掌握Java的基本语法、面向对象编程、异常处理、网络编程等Java基础知识。只有这样才能具备学习Android开发的资格,否则学习Android开发无从谈起。

Web基础知识

近几年,Andoid移动App开发使用越来越多的混合编程模式,即在Android应用程序中,嵌入HTML网页或者远程调用HTML网页实现某些功能。这就要求Android开发程序员必须了解一些像JavaScript、jQuery、Ajax等等Web编程方面的基础知识,才能开发诸如在Android中调用JS,或者JS调用Android等软件功能。

Android基础知识

Android基础知识包罗万象,概括起来包含几个方面:Android界面编程(主要是指布局以及组件)、事件机制(主要是对象的时间和组件的时间)、通信(主要是组件之间通信和应用之间通信)、异步开发、后台服务、网络通信以及数据存储。另外,值得强调的是:工欲善其事必先利其器。Android基础知识学习还应当掌握软件开发工具选型、软件开发环境的搭建,以及开发工具相关的插件选择。Eclipse是老牌的Android软件开发工具,当笔者不推荐使用,随着AndroidStudio的逐渐完善和程序,推荐大家都使用AndroidStudio开发。AndroidStudio提供很多便捷的插件辅助软件编码工作,诸如GsonFormat、CommonCode等,感兴趣的程序员可以研究一下。

Android高级开发

Android高级开发主要包含JNI/NDK编程、Android与JS互调、自定义控件等。尤其是JNI编程和Android与JS互调技术,是当下流行且常用的开发技术手段之一。

Android前沿技术

Android前沿技术是前辈们宝贵知识经验总结,学习Android前沿技术,并付诸于项目实践中,能够达到事半功倍的效果,不仅仅有利于加快软件开发进度,还从一定程度上减少了软件开发的复杂度和难度。目前,像OKHttp、JSON解析等前沿技术,在很多程序员的项目中被采纳和推广使用。

总结:在Android知识的学习过程中,形成全面的知识体系是必要的,建议以某个项目为主线,沿着Android知识体系的框架,边学习边开发。这样既能够掌握了Android知识体系,同时也通过项目的方式进行了亲身实践,加深了对知识的掌握程度。