Android系统架构研究与应用
2016-07-10黄吉华
黄吉华
近年来,Android系统在智能手机领域得到了广泛的应用。而Android系统之所以能够获得大多程序开发者的欢迎,与其具有开放、平等和无界限的系统架构有着直接的关系。基于这种认识,本文对Android系统架构与应用问题展开了研究,从而为关注这一话题的人们提供参考。
【关键词】Android 系统架构 应用
2007年,Google联合多家移动技术和无线应用领域企业宣布了Android这一开源手机操作系统名称。而由于具有良好的开放性和易用性,Android系统在短短几年的时间里获得了广阔的应用前景,成为了很多企业的应用平台。因此,有必要对Android系统架构与应用问题展开研究,从而更好的进行该系统的应用。
1 Android系统架构研究
从系统架构上来讲,Android系统是自底向上的结构,主要由内核层、函数库与运行时库、应用软件架构和应用程序构成。
1.1 系统内核层分析
系统内核层其实是系统软件和硬件之间的抽象层,其能够进行系统硬件细节的隐藏,并且能够为系统上层结构提供统一服务。同时,其能够较好的进行本层与下层差异的屏蔽,所以即便本身发生变化也不会对上层的运行产生影响。需要注意的是,内核层并非类GUN/Linux,其不含有虚拟内存文件,并且使用了YAFFS2文件系统。与Linux系统相比,Android的内核层有不同的系统初始化接口、系统库和程序接口。而基于Linux2.6,Android内核层可以提供核心系统服务,并拥有网络堆栈、硬件驱动程序、系统安全机制和内存管理等多种功能。
1.2 系统函数库与运行时库分析
系统函数库中含有C/C++库的集合,本身由开放源代码的函数库组成。利用系统的应用程序框架,函数库的功能可以向开发者展示,比如OpenSSL、C函数库Libc等。在系统运行的过程中,网页浏览器的运用由网页函数库负责,OpenSSL则负责媒体库的运行。利用这些函数库,可以为音频和视频格式的播放和录制提供支持,并且进行静态图像文件的显示。在界面管理方面,则将含有二维和三维图形层,能够进行访问显示子系统的管理和多个应用程序的无缝组合。而系统运行时库与函数库并行运行,可以进行Android特有的Java内涵函数库的提供,并且完成运行码的转换。利用Java语言,Android的Dalvik虚拟机也能够进行Android应用程序的编写,并且同时进行多个应用程序的运行。需要注意的是,Dalvik虚拟机的运行需要依赖Linux内核功能,可以进行.dex文件格式的执行。而该格式是压缩格式,可以在处理器速度和内存有限的系统中使用。
1.3 系统应用软件架构分析
系统应用软件架构是系统重点应用程序的总集合,利用该架构程序开发者能够在设计架构时方便的进行应用程序的使用。而在这些常见的应用程序中,包含有消息方块、内嵌式浏览器和按钮等现实功能,并且包含分享信息和访问信息等消息提供功能,同时也包含资源管理功能和提示消息功能等多个其它功能。从根本上来讲,应用软件架构就是一组系统和服务,能够进行应用程序的构建,并且拥有丰富的视图结合和内嵌的网络浏览器,可以使应用程序进行其他应用程序的访问。此外,应用软件架构也能够在系统状态栏中进行所有应用程序的显示,并且完成应用程序的生命周期的管理。
1.4 系统应用程序分析
在Android系统中,上层应用程序需要利用Java语言开发。例如,即时通信工具、通讯本、Google Maps等应用程序,就是利用Java语言开发的程序。
2 Android的应用研究
2.1 Android应用程序的基本组成
在Android应用中,应用程序往往是由多个组件构成。在Android系统中,含有Activity、Service、ContentProvider、BroadcastReceiver和Intent组件。其中,Activity组件是应用程序表示层,可以为应用程序的每个屏幕显示提供支持。利用视图类的Activity组件,用户则可以实现GUI,并且通过GUI和应用程序交互。而Service组件是后台运行程序,可以为应用程序长期在后台运行提供支持。BroadcastReceiver是用户进行广播通知接收的组件,比如电量不足、用户系统设置更改和短信息等通知,都需要与不同的BroadcastReceiver组件相对应。ContentProvider则为系统内容提供器,能够将系统应用程序的特定数据提供给其他程序,以便用户进行数据的读写和存储。此外,Intent组件是运行绑定机制,可以向系统表达请求或意愿,系统可以根据其内容进行适当组件请求。
2.2 Android应用的环境构建
在应用Android的过程中,需要进行系统应用程序开发环境的构建。以Windows系统为例,Android应用程序开发环境构建可以使用Eclipse+ADT方法。首先,可以从网站进行JDK5的下载和安装,然后通过运行该程序进行系统环境变量的添加。其次,需要从网站进行Android SDK的下载,然后将其在Windows系统目录下解压,并且在系统环境中加入该文件夹下的tools文件夹路径。最后,则可以进行Eclipse安装包的下载,并且将其解压使用。就目前来看,Android平台可以为Windows、Linux和Mac OS系统的开发提供支持。
3 结论
总而言之,Android系统拥有着较为完整的系统架构,可以为开发人员进行应用程序的开发提供较好的开发环境。所以,随着相关技术的发展,越来越多的程序开发人员开始进行Android应用程序的开发。
参考文献
[1]宋小倩,周东升.基于Android平台的应用开发研究[J].软件导刊,2011,02:104-106.
[2]曾健平,邵艳洁.Android系统架构及应用程序开发研究[J].微计算机信息,2011,09:1-3.
[3]白文江.基于Android平台的移动应用开发研究[J].太原大学学报,2011,03:117-120.
[4]王柯,马宏斌,王一圣.基于Android平台的软件开发若干关键技术研究[J].测绘与空间地理信息,2014,09:14-16+24.
作者单位
贵州大学 贵州省贵阳市 550025