关注国内外最新的Web应用程序

2008年2月1日星期五

什么是ANDROID ?

From BraveHeart专栏

ANDROID是一个专用于移动设备的软件系统,它包括操作系统,中间件和关键应用,初略了解一下Android SDK提供必要的工具和API在Android平台上使用Java语言来开发应用程序。

特点:

·          应用程序框架  可重用和替换的组件

·          Dalvik 虚拟机[1] 优化虚拟机,专用于移动设备

·           集成浏览器    基于开源WebKit引擎

·           图像优化      功能强大的定制2D图像库,基于OpenGL ES 1.0 规范的3D图像(可以选择硬件加速)

·           SQLite        支持结构化数据存储

·           多媒体支持     支持通用的音频,视频格式,并且支持图像格式(MPEG4,H.264, MP3, AAC,AMR,JPG,PNG,GIF)

·           GSM 电话功能 依赖于硬件

·           Bluetooth, EDGE, 3G, and WiFi (依赖于硬件)

·           Camera, GPS, 指南针, 和加速计(依赖于硬件)

·           丰富的开发环境  包括设备仿真器,调试工具,跟踪内存使用和性能,并且可以嵌入Eclipse 集成开发环境

Google的Dalvik 虚拟机

Java开发者的一个标准开发过程是:Java 代码编译成.JAR 和 .CLASS文件。 Google 开发了一个定制的虚拟机去运行这些类型的程序;这个虚拟机叫做DALVIK(根据冰岛的一名工程师最喜爱的地方命名的)。DALVIK 虚拟机体别为Android 平台定制,可以运行在嵌入式系统,并且在低功耗的条件下工作良好,它还可以根据cpu的特性进行调整。DALVIK虚拟机创建了一种特殊的文件格式(.DEX),它通过构建时间后处理来创建,这种文件可以下载到移动设备中运行。
Android 架构

下面的框图显示了Android操作系统的主要组件,你可以在后面的描述中看到更多详细的细节:

应用程序

Android将会集成一套核心的应用,包括email客户端,sms程序,日历,地图,浏览器,通讯录和其它。所有的这些应用程序使用Java语言编程。
应用程序框架

开发者能够完全访问核心应用调用的框架API,应用程序结构设计用来简化组件的重用,所有核心应用都公开它的接口特性以便于其他应用调用(对于安全应用则带有强制性)。这种统一的机制可以允许其它用户替换组件。

Underlying all applications is a set of services and systems, including:

应用程序的底层就是一套服务和系统组件,包括:

·           一套丰富并且可扩展的控件,可以用来创建应用程序,包括lists,grids,text boxes,buttons,甚至包括一个可嵌入的网页浏览器

·           数据提供者允许一个应用程序访问其他应用程序(比如通信录)的数据,或者共享它自己的数据

·           一个资源管理器,提供访问非代码资源,如本地化字符串,图像,布局文件的能力。

·           一个通告管理器 允许所有应用程序显示特定的警告信息在状态条上

·           一个任务管理器 管理应用程序的活动周期,并且提供通用的导航支持(navigation backstack)

想了解更多的技术细节和应用程序演示,请访问编写一个Android 应用程序。

Android 包含一套C/C++库,可以被Android系统的各种组件使用,这些特性通过Android 应用程序框架开放给开发者,下面列出了核心库。

·           系统C函数库 从BSD标准c系统库继承的,基于嵌入式linux设备进行优化的版本。

·           多媒体库 -- 基于PacketVideo公司的OpenCORE库,该库支持录音回放,录制流行的声音和视频格式文件,以及静态图像文件,这些文件格式包括MPEG4,H.264,MP3,AAC,AMR,JPG,和PNG.

·           界面管理  管理对显示子系统的访问,并且无缝合成不同的应用程序中的2D和3D图像层

·           LibWebCord – 一个流行的网页浏览器引擎,增强Android浏览器和嵌入式网页浏览的能力

·           SGL – 底层的2D 图像引擎

·           3D 库 – 一个基于OpenGL ES 1.0 APIs的版本,这个库既可以使用硬件3D加速(硬件支持)或者内置的,高度优化的3D软件光栅

·           字体类型  位图或者矢量字体

·           SQLite – 一个强大的轻量级关系数据库引擎,允许所有的应用程序使用
Android 运行库

Android 包括一套核心库,提供大部分可用功能可以在Java语言核心库中使用。每一个Android应用程序运行在自己的进程中,带有自己的Dalvik虚拟机实例。Dalvik设计成一个设备能够方便地运行不同虚拟机。Dalvik虚拟机执行Dalvik可执行格式文件, .Dex文件被优化成使用内存很少的文件.虚拟机是基于类注册的,它运行Java编译器”dx”工具编译classes生成的.dex格式文件。Dalvik 虚拟机依赖于Linux内核功能,比如线程化和低级的内存管理。
Linux核

Android 依赖于linux内核2.6版本,需要linux提供的核心系统服务为安全,内存管理,进程管理,网络协议栈,驱动程序模型等,内核也作为硬件和其它软件层(不包括内核)的中间抽象层

Technorati 标签:

http://tb.blog.csdn.net/TrackBack.aspx?PostId=2068256

没有评论:

标签分类