Android系统架构及应用程序开发探索

2018-12-24 15:06王勇苏州大学计算机科学与技术学院
数码世界 2018年7期
关键词:程序开发内核开发者

王勇 苏州大学计算机科学与技术学院

1 Android系统的发展概况

Android由2007年发布至今约11年了。2007年,在IOS发布后,Google紧随其后与众多移动技术和无线应用领域公司合作,向世界公布了开源手机操作系统Android。其开源的特性,让众多开发者蜂拥而至,纷纷加入开发Android应用程序的队伍中来。Android平台借助本身良好的系统开放性和易用性,几年内就迅速占领了手机行业,在移动领域得到了广泛应用,如今已一度成为智能手机系统平台的标准配备。在Android系统如此火热的趋势下,我们可以深入研究力求发现其更高的价值,从Android系统架构与应用开发的方向,争取不断取得新的进展。

2 分析Android系统架构设计

2.1 内核

概念化的系统内核,可以说是介于系统软件和硬件两者的一种的抽象层。系统内核一方面的功能是建立在硬件之上,隐藏系统硬件细节,提供用户与硬件交互的接口;另一方面,内核也始终在给系统上层结构提供统一的服务。其特点就是能够实现本体层与下层差异的屏蔽,也就是说,如果本身发生变化也不会对上层的运行产生影响。

但是深入分析其内核设计,我们要意识到内核层不是类GUN/Linux的系统,使用YAFFS2文件系统且不会生产虚拟内存文件[2]。Android的内核层比起Linux系统有多处扩展,设置了丰富的系统初始化接口与系统库、程序接口等。Android本质上是以Linux2.6底层基础开发的系统,于是其内核层还可以实现许多Linux核心系统服务,继承了Linux优秀的网络堆栈、硬件驱动程序、系统安全机制和内存管理功能。

2.2 函数库

Android系统架构中一项重要的部分就是系统函数库。Android的函数库中包含了C/C++原生库,自身也具备了开放源码的函数库。由于Android系统的开源的应用程序框架,开发者可以充分利用函数库实现各类功能,例如OpenSSL、C函数库Libc等。软件系统运行时,网页函数库负责网页浏览器类应用的构建、OpenSSL提供媒体库的运行支持。在这些函数库的支持下,开发者能够方便地实现音频和视频格式的播放和录制、管理静态图像文件。

运行界面方面,Android含有的二维和三维图形使子系统能够快速显示管理和并且与多个应用程序的无缝组合。系统运行工程中。库与函数库是处于迸发运行状态下,Android的函数库与Java函数库时刻处理运行码的转换。Android的另一优势就是Java语言的广泛利用,在JAVA条件下,Dalvik虚拟机也可以支持编写Android应用程序,并且兼顾多个应用程序的迸发运行。因为Dalvik虚拟机也是基于Linux内核开发的,能够执行.dex格式的文件.在处理器速度和内存有限的系统中使用十分便利。

2.3 应用软件架构

分析Android的应用软件架构,我们可以发现架构是系统重点应用程序的总集合,架构可以帮助程序开发者能够在设计应用时更加便利搭建应用程序。常见的应用程序中会提供包括消息方块、内嵌式浏览器和按钮的用户交互功能,且提供了分享信息和访问信息等消息提供功能,另外重要的是使系统支持了资源管理器功能和消息提示功能等丰富的基础功能。总的来说,应用软件架构就是以一组系统和服务构成了体系,开发者利用体系可以轻松地进行应用程序的开发,系统本身就内嵌了视图结合和网络浏览器,支持应用程序的访问动作。另外一点。应用的软件架构也能够在系统状态栏中报告程序的请,并管理程序的生命周期。

2.4 系统应用程序

Android系统的系统级应用程序或者说是上层应用程序,例如,即时通信工具、通讯本、GoogleMaps等,都是使用Java语言进行开发的。

3 探索Android应用设计思想

3.1 应用组成结构

Android的多个组件一同构成了Android应用程序。应用程序中包含的主要有以下几种组件:Activity、Service、ContentProvider、BroadcastReceiver和Intent组件。

Activity组件负责应用程序的表示层,在应用程序的需要进行屏幕显示时调用。同时Activity组件有丰富的图形化界面组件,开发者合理地配置可以给用户实现GUI,借助GUI达到程序交互的效果。

Service组件控制程序的后台运行,在应用程序长期在后台运行时提供服务。

BroadcastReceiver组件的功能是接收用户的广播通知,例如电量不足、用户系统设置更改和短信息等状态信息和通知提示,相当于一个容器给不同的内容,所以说针对不同的信息都要对其设置对应的BroadcastReceiver组件。

ContentProvider则为系统内容提供储存空间,也可以把系统应用程序的数据传送到其他程序中,提供给用户数据读写和存储的功能。

最后,Intent组件属于运行绑定机制。使用Intent组件必须向系统表达请求或意愿,系统才能够参考其请求进行组件的分配。

3.2 环境构建

Android应用程序开发分为应用程序开发和开发环境两个部分。

以Windows系统环境下为例,Android应用程序开发普遍使用Eclipse+ADT作为开发工具。在下载JDK包后进行安装,然后进行系统环境变量的添加与修改就完成了JAVA开发环境的搭建。另外,开发者还要下载AndroidSDK就可以进行模拟器的安装,便于今后Android应用程序的调试。

4 结束语

总的来说,Android系统是一个基于Linux开发的,优秀的智能手机操作系统。其优秀而开源的系统加上丰富的系统组件,能够给众多开发人员在应用程序的开发得到更加流畅的体验。今后,势必会有更多的程序开发人员加入Android开发的队伍,我们也将更加深入的发掘系统的价值,实现更加深度的智能化。

猜你喜欢
程序开发内核开发者
多内核操作系统综述①
强化『高新』内核 打造农业『硅谷』
浅析大学生在兼职小程序开发中遇到的问题
活化非遗文化 承启设计内核
APP应用程序开发模式探究
微软发布新Edge浏览器预览版下载换装Chrome内核
“85后”高学历男性成为APP开发新生主力军
利用OpenGL技术实现网格波动效果界面
16%游戏开发者看好VR