android学习课程的知识结构
每一个从事Android开发的工程师都知道,Android系统是基于Linux的,而国内从事Android开发的人员基本上是分3个层次:
第一个层次:底层系统开发,主要是Linux内核驱动开发维护以及Android本地框架中的硬件抽象层开发。
从事这个层次的开发需要掌握C语言以及掌握Linux内核驱动编程框架,Linux系统调用接口开发。虽说驱动开发比较难,但由于Linux绝大部分的内核驱动源代码都是现成的,所以这个层次的开发远不像人们想象的那么难,绝大部分的工作是修改现有的驱动以适配新的环境(驱动移植),以及编写部分简单的驱动模块。至于硬件抽象层的开发只要会基本的Linux编程就可以完成该工作。
第二个层次:Android中间件开发,该层承上启下,向下连接操作系统向上为应用程序提供经过层层封装的Java类,可以说是连接系统跟应用程序的桥梁,而该层次的开发也涉及到Android软件系统的各个层次。
从事这个层次开发的人员一方面需要掌握基本的C++和Java语言编程能力,熟悉Linux应用编程,熟悉Android源码流程,可以熟练的在Android系统上修改或者添加某些功能。这个层次的开发对程序员的自身修养和能力有较高的要求,特别需要精通Linux系统编程能力,因为不管Android怎么封装都绕不开Linux的系统调用。
第三个层次:Android应用开发,目前主要是基于Android SDK的开发,在PC上使用IDE环境进行开发。
目前这个层次的开发几乎完全都是在PC上模拟器实现的,几乎都是采用Java语言开发,开发者需要有基本的Java语言编程能力,另外需要懂得Android应用程序框架以及熟悉Android系统的应用API,从事过多年Java工作的人进行这个层次的开发只需要了解Android应用程序框架和基本的API就完全可以从事Android开发了。 以上分析的这三个层次并不是完全孤立的,无论从事哪个层次的开发,对其他层次更多的了解对你编写高质量的代码都是有极大帮助的,如果可以从事Android多层次的开发,那么你的自身的价值也肯定高很多。