自从谷歌推出的Android手机软件平台后,使手机软件的标准化、低价化等议题受到比过往更高的关注,到底Android是否有能力打破多年以来的手机软件门户之见,仅供大家学习思考。
Google发表名为Android的软件平台,破除发表前的臆测,认为Google会以gPhone之名发表自有手机,同时所有信息、网络产业者都高度关注,Android发表后将会对手机市场兴起新的波澜。
有关Android手机软件的用意及策略已有太多人观察与分析,Android期望手机软件架构能标准化、低价化,如此有助于推行Google的软件及网络服务。所以,本文就不再对策略及影响等做讨论,完全就技术本质的角度来了解Android。
严格来说,Android属于信息技术(Information Technology;IT)领域,而且是IT领域中的软件技术、软件工程,与电子工程(EE)有段距离,不过手机在硬件设计之外也无法回避软件方面的设计,因此仍有必要对其进行研究、探析。
Android本身是一套软件堆叠(Software Stack),或称为「软件叠层架构」,叠层主要分成三层:操作系统、中介软件(Middleware,中国内地方面称为:中间件)、应用程序。若更进一步了解,操作系统用的是嵌入式Linux,应用程序方面则只提供主要常用的几种应用程序,不可能各形各色的应用程序都以Android之名进行开发。
否则就失去「以开放性的软件平台吸引广大软件业者、程序设计师开发出支持Android平台的应用程序」的用意。而想开发可在Android平台执行的应用程序,也必须用Java程序语言撰写才行。
接着是中介Android手机软件,凡是介于操作系统与应用程序间的,多概称为中介软件,Android的中介软件可再细分出两层,底层为函式库(Library)及虚拟机器(Virtual Machine;VM),上层为应用程序框架(Application Framework)。
特点:
架构是骨,而展现出来的功效特点则为血肉,Android虽然才刚起步,但已经具有如下的功效特点,未来随着发展则会增入更多的特点:
◆应用程序框架-框架内已经具备多种基础软件组件,应用程序可直接呼用这些组件的功效服务,节省应用程序的开发心力及时间,同时程序的再用性、移植性也较高。
◆Dalvik虚拟机器-Android内不是使用标准的Java虚拟机器(Java Virtual Machine;JVM),而是使用独特的Dalvik虚拟机器,关于此以下将再进行深入的说明。
◆整合(网页)浏览器-网页浏览器就是所谓的「主要、常用的应用程序」,Android内建的浏览器是用WebKit的浏览引擎为基础所开发成的,WebKit是一个开放原码专案,许多浏览器也都是用WebKit引擎所开发成,如Apple的Safari、Nokia S60手机内的浏览器(Web Browser for S60)等。
◆最佳化的绘图能力-绘图分为2D与3D,2D方面Android是用一套特有的函式库,而3D则是使用OpenGL ES 1.0(OpenGL for Embedded Systems)规范的函式库。
◆SQLite资料库-SQLite是一套开放原码的关连式资料库,其特点在于轻量性(仅500KB左右的容量),适合手持式装置运用,此外桌上型运算的应用程序也有使用,如OpenOffice.org 2.0版之后就有内建SQLite。
◆媒体支持能力-Android支持多种音讯、静态视讯、动态视讯格式,如MPEG-4、H.264、MP3、AAC、AMR、JPG、PNG、GIF等。
◆GSM通话能力-GSM手机的通话能力其实必须在硬件电路层次实现,软件层次无法实现,只是Android平台要求必须要有GSM通话能力,此项功效特点与其说是特点,不如说是订立出最低的硬件要求规范。
◆蓝牙(Bluetooth)、EDGE、3G、以及Wi-Fi-这些通讯能力一样属于硬件层次的功效要求。
◆摄影机(Camera)、GPS定位、罗盘、加速度传感器-这些同样属于硬件层次的功效,Android主要是在软件层面提供支持,如硬件抽象层、应用程序界面等。
◆丰富的开发环境-Android平台强调已备有完善的程序开发环境,其开发环境包括装置模拟器(Emulator)、除错工具、程序执行所耗用存储器、效能等评估功能,另还有一个可用于Eclipse IDE的外挂程序(Plug-in)。
【编辑推荐】