2.1.2 Android的系统架构
Android是一个以Linux为核心的移动终端操作平台系统,可以在操作平台上安装多种移动终端。Android的整个系统架构如图2.1所示,并说明如后。
图2.1 Android系统架构图
如图所示,Android的系统架构为四层,分别如下:
1、应用程序层:Android平台是一个继承了很多基础系统应用的操作平台,系统应用基于java语言编写,开发人员可以在开发过程中替换掉系统应用,这点十分灵活。
2、应用程序框架层:该层是Android系统的开发基础层,这一层负责实现很多基础核心应用。
3、系统运行库层:该层可分为“系统库”和“Android运行时”这两个部分:
(a)系统库
系统库支撑程序架构,连接架构与内核。其主要分为如下几个:
Surface Manager:主要负责多个程序之间的操作互动以及图形绘制。
Media Framework:多媒体库,基于PacketVideo OpenCore;
SQLite:小型的关系型数据库引擎
OpenGL|ES:三文图形函数库
FreeType:提供点阵字与向量字的描绘与显示
WebKit:一套网页浏览器的软件引擎
SGL:底层的2D图形渲染引擎
SSL:在Andorid上通信过程中实现握手
Libc:从BSD继承来的标准C系统函数库,专门为基于embedded linux的设备定制
(b)Android运行时
Android应用程序时采用Java语言编写,程序在Android运行时中执行,其运行时分为核心库和Dalvik虚拟机两部分。
核心库:核心库提供了Java语言API中的大多数功能,同时也包含了Android的一些核心API,如android.os、android.net、android.media等等。
Dalvik虚拟机:在Android开发过程中要注意的是:每个Android应用程序都有专门的进程,并且这些进程每个都对于一个Dalivik虚拟机实例。Dalvik虚拟机是一种新型虚拟机,并不是传统的基于堆栈模式。Dalvik基于寄存器,并且采用Java语言开发,对内存资源的使用方面效率更高,并且具有良好的拓展性,可以支持多个虚拟机。Android程序在虚拟机中运行时,执行的是编译器由Java字节码转换而来的dex中间码。这一点与我们所知的J2EE略有不同。
4、Linux内核层
Linux内核是Android的系统的基础,是Android系统的核心系统,Android系统的大多重要系统服务都来源于此。Linux Kernel是一架连接了系统软硬件的桥梁,使得开发者能够在忽略硬件差异的情况下得到统一的来自上一层的服务支持。分层是为了使得层与层时间能够更好的承上启下,提高层内数据的内聚,降低层与层之间的耦合度,尽量的减少层与层之间的相互影响。每一层的任务不同,并不相互影响,每层有着单独的固定目标,也就是我们常说的高内聚,低耦合。Linux内核层在开发过程中并不涉及,只需要了解即可。
2.2 Eclipse介绍
Eclipse基于Java语言开发,整个软件开源,并且具有很强的扩展适应性 [13]。Eclipse只是一个架构和服务集成的软件,在开发过程中需要借助于各种插件来搭载搭建开发环境,但是,Eclipse提供了一个丰富的标准插件集,还涵盖了Java开发工具(Java Development Kit,JDK)。Eclipse目的深远,但是目前来多,大多数的软件开发者还是把它当成一个java的IDE(Integrated Development Environment,集成开发环境)来用。为了扩展自身的软件应用性,Eclipse还推出了插件开发环境(Plug-in Development Environment,PDE),用于让开发者更好的与Eclipse集成。由于Eclipse只是一个框架和一组服务,所有的功能实现都来源于多种多样的插件,所以对于开发人员来说,所有人的开发环境和发挥余地都是一体的,这种平等一致性体现在了软件的方方面面。而且,虽然Eclipse使用java开发的,却能够通过不同的插件,完成多各种编程语言的支持。Eclipse 框架功能多样,除了用于软件开发意外,还可以拿来作为其他软件的基础框架,比如内容管理系统[14]。 基于安卓的二手物品交易系统的设计(3):http://www.751com.cn/jisuanji/lunwen_22210.html