安卓开发江苏|动力IT教育|安卓培训
动力IT教育官网:www.puiedu.com
招生热线:18912252689
什么是Android?
Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备。Android操作系统最初主要支持手机。05年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。Android的主要竞争对手是苹果公司的iOS以及RIM的Blackberry OS。2011年,Android在全球的市场份额**超过塞班系统,跃居全球首位。 2012年2月数据,Android占据全球智能手机操作系统市场59%的份额,中国市场占有率为68.4%。
Android架构:
Android的系统架构和其它操作系统一样,采用了分层的架构。Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。
Android是以Linux为核心的手机操作平台,作为一款开放式的操作系统,随着Android的快速发展,如今已允许***使用多种编程语言来开发Android应用程序,而不再是以前只能使用Java开发Android应用程序的单一局面,因而受到众多***的欢迎,成为真正意义上的开放式操作系统。
在Android中,***可以使用Java作为编程语言来开发应用程序,也可以通过NDK使用C/C++作为编程语言来开发应用程序,也可使用SL4A来使用其他各种脚本语言进行编程(如:python、lua、tcl、php等等),还有其他诸如:Qt(qt for android)、Mono(mono for android)等一些**编程框架也开始支持Android编程,甚至通过MonoDroid,***还可以使用C#作为编程语言来开发应用程序。另外,谷歌还在2009年特别发布了针对初学者的Android Simple语言,该语言类似Basic语言。而在网页编程语言方面,JavaScript,ajax,HTML5,jquery、sencha、dojo、mobl、PhoneGap等等都已经支持Android开发。
而在Android系统底层方面,使用C/C++作为开发语言。
应用程序:
早期的Android应用程序开发,通常通过Android SDK(Android软件开发包)下使用Java作为编程语言来开发应用程序,但通过不同的软件开发包,则使用的编程语言也不同。
开发人员可以使用和核心应用程序使用的完全相同的API框架。应用程序架构的设计的目的是为了简化组件的重用;任何应用程序都可以发布它的功能,其他的应用程序可能会利用到这些功能(需遵守框架提供的安全约束)。依靠同样的机制,组件可以被用户所取代。
库
Android包括了一套C/C++库,这套库被Android系统的各个组件使用。这些能力通过Android应用框架展示给应用开发人员。一些核心库如下:
系统C库 - 一个针对于标准C系统库(libc)的BSD派生的实现,针对于嵌入式Linux设备进行了调整
媒体库 - 基于PacketVideo的的OpenCore;该库支持回放和录制许多流行的音频和视频格式,以及静态图像文件,包括MPEG4,H.264,MP3,AAC,AMR,JPG和PNG格式
Surface管理器 - 管理访问显示子系统和从多个程序中无缝合成二维和三维图形层
LibWebCore - 一个流行的Web浏览器引擎,它对Android浏览器和嵌入式Web视图具有良好的支持
SGL - 底层的2D图形引擎
3D库 - 基于OpenGL ES 1.0 API的一个实现;该库使用硬件3D加速(如果可用)或包含高度优化的3D软件光栅扫描器
FreeType – 用于位图和矢量字体渲染
SQLite - 一个提供给所有的应用程序使用的强大的,并且轻量级的关系型数据库引擎
Android 的运行
每个Android应用都运行在它自己的进程里,并依附一个单独的Dalvik虚拟机实例。一个设备可以**地运行多个Dalvik虚拟机。 Dalvik虚拟机执行Dalvik可执行文件的格式,此格式做了最小的内存占用优化。Dalvik虚拟机是基于寄存器的,并运行由dx工具将Java语言编译器编译完的class文件转换为的dex格式文件。
Dalvik虚拟机的底层功能依赖Linux内核。
Linux内核
Android的核心系统服务,比如安全,内存管理,进程管理,网络协议栈和驱动模块都是依赖于Linux 2.6。内核也作为在硬件和软件栈之间的抽象层。 |