Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1532576
  • 博文数量: 114
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 1357
  • 用 户 组: 普通用户
  • 注册时间: 2006-11-19 18:13
文章分类
文章存档

2010年(8)

2009年(9)

2008年(27)

2007年(62)

2006年(8)

我的朋友

分类: Java

2007-11-15 14:23:42

What is Android?
Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This early look at the Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
 
什么是Android ?
Android是便携设备的软件协议栈,它包括操作系统、中间件、核心应用三大部分。早期的Android SDK提供了必要的工具和API来方便开发者使用Java语言为Android平台开发应用软件。
 
Features
Application framework enabling reuse and replacement of components
Dalvik virtual machine optimized for mobile devices
Integrated browser based on the open source WebKit engine
Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional)
SQLite for structured data storage
Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
GSM Telephony (hardware dependent)
Bluetooth, EDGE, 3G, and WiFi (hardware dependent)
Camera, GPS, compass, and accelerometer (hardware dependent)
Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE
 
Android平台的特点:
(1)应用程序框架允许重用或替换Dalvik虚拟机组件,这些组件的代码已经专门为移动设备优化过。
(2)集成了采用开源的WebKit引擎开发的浏览器。
(3)集成了经过优化的2D图形库;3D图形库完全基于OpenGL ES1.0标准完成,并且开发者可以选择是否使用硬件加速。
(4)支持SQLite进行结构化存储
(5)支持多种多媒体编码格式:普通的音频、视频和静态图像格式
(例如:mpeg4,h.264,mp3,aac,amr,jpg,png,gif)
(6)支持GSM电话功能(依赖于硬件——废话)
(7)支持蓝牙、EDGE、3G和WiFi无线互联网(依赖于硬件)
(8)支持拍照、GPS定位、指南针、加速度计(依赖于硬件)
(9)提供了大量的开发支持,包括模拟器、调试工具、内存和运行效率测试工具、Eclipse IDE的插件等。
 
Android Architecture
The following diagram shows the major components of the Android operating system. Each section is described in more detail below.
 
Android体系结构简介:
下面的图显示的Android操作系统的主要组件。每个组件都将在本帮助文档中有更加详细的描述。
Applications
Android will ship with a set of core applications including an email client, SMS program, calendar, maps, browser, contacts, and others. All applications are written using the Java programming language.
 
应用程序层:
Android平台将预置一些核心应用程序,包括email客户端、短消息程序、日历、地图、浏览器、通讯录等等。所有的这些程序都是用Java开发的。

Application Framework
Developers have full access to the same framework APIs used by the core applications. The application architecture is designed to simplify the reuse of components; any application can publish its capabilities and any other application may then make use of those capabilities (subject to security constraints enforced by the framework). This same mechanism allows components to be replaced by the user.
 
应用程序框架层:
开发者开发的程序可以与核心应用程序一样,平等地使用框架的API(就这一点来说,google开放的心态要远远强于Symbian 3rd、UIQ、Mobilinux这种故步自封的做法)。应用程序框架被设计成易于重用的组件;任何应用程序都可以发布它的库或包(我感觉是类似dll的东西),并且其它的应用也可以使用其发布的库或包(安全问题由框架来强制保证)。同样的机制允许用户替换Android的组件。
 
Underlying all applications is a set of services and systems, including:
A rich and extensible set of Views that can be used to build an application, including lists, grids, text boxes, buttons, and even an embeddable web browser
Content Providers that enable applications to access data from other applications (such as Contacts), or to share their own data
 
下层的所有应用是一系列的的服务和系统层,包括:
一系列功能丰富且可扩展的视图(Views),这些视图可用来构建上层应用程序,它们包括:
列表视图、表格视图、文本框、按钮、甚至一个可嵌入的浏览器、内容提供器可以允许应用程序存取其它应用程序的数据(例如电话本),或者可以共享应用程序的数据。
 
A Resource Manager, providing access to non-code resources such as localized strings, graphics, and layout files
一个资源管理器,用来存取非代码的资源,例如本地化字符串、图片、层文件等。

A Notification Manager that enables all applications to display custom alerts in the status bar
一个通知管理器,允许所有的应用在状态栏中显示报警信息。
 
An Activity Manager that manages the lifecycle of applications and provides a common navigation backstack
一个活动管理器,它管理者所有应用的生命周期,并且提供了一个通用的后台切换。
 
For more details and a walkthrough of an application, see Writing an Android Application.
更多的描述和应用程序运行的整个过程请参照“如何编写Android应用”一节。

Libraries
Android includes a set of C/C++ libraries used by various components of the Android system. These capabilities are exposed to developers through the Android application framework. Some of the core libraries are listed below:
系统库层:
Android通过Android系统,以组件的方式包含了一系列的c/c++库。这些库通过Android应用程序框架暴露给开发者使用。下面列出一些核心库:
 
System C library - a BSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devices
系统C库-从BSD派生出来的标准c系统库的实现(libc),可以保证Android在嵌入式linux为基础系统的设备上运行。
 
Media Libraries - based on PacketVideo's OpenCORE; the libraries support playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
多媒体库-基于PacketVideo的OpenCORE库开发,该库可以支持播放、录制多种常规的音频和视频格式,也可以支持静态图像文件格式,例如:mpeg4,h.264,mp3,aac,amr,jpg,png

Surface Manager - manages access to the display subsystem and seamlessly composites 2D and 3D graphic layers from multiple applications
界面管理器-管理显示子系统和在多个应用切换时,无缝地切换2D、3D图形层
 
LibWebCore - a modern web browser engine which powers both the Android browser and an embeddable web view
Web核心库-相当先进的web浏览器引擎,Android浏览器和嵌入式的web视图就是利用该引擎实现的。
 
SGL - the underlying 2D graphics engine
SGL库-下层的2D图形引擎
 
3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use either hardware 3D acceleration (where available) or the included, highly optimized 3D software rasterizer
3D库-基于OpenGL ES 1.0 API的3D绘图库,可以选择在任何可能的地方都加入硬件3D图形加速的模式,或者使用高度优化的3D软光栅的模式。
 
FreeType - bitmap and vector font rendering
FreeType库-位图字体和向量字体显示库

SQLite - a powerful and lightweight relational database engine available to all applications
SQLite库-强大的轻量级,关联数据库引擎。

Android Runtime
Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language.
Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included "dx" tool.
The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management.
Android运行时库
Android包含了一系列的核心库,在Java语言中提供了绝大多数核心库的功能。每个Android应用都由其自己的进程,有其自己的在Dalvik虚拟机上的实例。Dalvik已经被设计成为可以再同一个设备上高效地运行多个VM。Dalvik虚拟机执行Dalvik可执行格式的文件(.dex),该格式已经被优化成最小的内存使用了。虚拟机是基于注册的模式的,所有经由Java编译器编译过的并通过"dx"工具转换过的类都可以载入并运行。
 
Linux Kernel
Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack.
 
Linux内核层
Android依赖于linux内核版本2.6的核心系统服务,例如安全、内存管理、进程管理、网络栈、驱动模块。内核做为一个抽象层,存在于软件栈层和硬件层之间。
 
©2007 Google - Code Home - Site Terms of Service - Privacy Policy - Site Directory
 
最后,我在linux环境下体验了一把,真是挺爽的啊!!:
 .
现在google宣称要在2008年1月至3月举行开发大赛,感兴趣的朋友们一定不要错过啦!!
阅读(1888) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~