Android开发需要哪些技术

如题所述

安卓开发需要学:

一、应用程序

Android以Java为编程语言,使接口到功能,都有层出不穷的变化,其中Activity等同于J2ME的MIDlet,一个Activity类负责创建视窗,一个活动中的Activity就是在foreground(前景)模式,背景运行的程序叫做Service。

二、中介软件

操作系统与应用程序的沟通桥梁,并用分为两层:函数层(Library)和虚拟机(VirtualMachine)。Bionic是Android改良libc的版本。

Android同时包含了Webkit,所谓的Webkit就是AppleSafari浏览器背后的引擎。Surfaceflinger是就2D或3D的内容显示到屏幕上。Android使用工具链(Toolchain)为Google自制的BionicLibc。

三、硬件抽像层

Android的HAL(硬件抽像层)是能以封闭源码形式提供硬件驱动模块。HAL

的目的是为了把Androidframework与Linuxkernel隔开。

让Android不至过度依赖Linux

kernel,以达成kernelindependent的概念,也让Androidframework

的开发能在不考量驱动程序实现的前提下进行发展。

四、编程语言

Android是运行于Linuxkernel之上,但并不是GNU/Linux。因为在一般GNU/Linux里支持的功能,Android大都没有支持。

包括Cairo、X11、Alsa、FFmpeg、GTK、Pango及Glibc等都被移除掉了。Android又以bionic取代Glibc、以Skia取代Cairo、再以opencore取代FFmpeg等等。

五、安全控制

目前Android的Linuxkernel控制包括安全(Security),存储器管理(MemoryManagemeat),程序管理(ProcessManagement),网络堆栈(NetworkStack),驱动程序模型等。

下载Android源码之前,先要安装其构建工具Repo来初始化源码。Repo是Android用来辅助Git工作的一个工具。

温馨提示:答案为网友推荐,仅供参考