【翻译】(1)何为Android?(2012-06-30废弃)
?
see
http://developer.android.com/guide/basics/what-is-android.html
?
原文见
http://developer.android.com/guide/basics/what-is-android.html
?
-----------------------------------
?
What is Android?
?
何为Android?
?
Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
?
Android是一个用于移动设备的软件栈(注:这里应该是协议栈往软件的引申),包含操作系统、中间件(注:一般是指运行在服务器上的程序,这里引申了)以及关键应用程序。Android SDK提供在Android平台上使用Java编程语言开始开发应用程序所需要的工具和API。(注:一般认为Android就是一种基于Linux内核的操作系统)
?
Features
?
特性
?
* Application framework enabling reuse and replacement of components
?
* 应用程序框架:使组件可重用和可替换
?
* Dalvik virtual machine optimized for mobile devices
?
* Dalvik虚拟机:优化移动设备(注:用于Java的运行时)
?
* Integrated browser based on the open source WebKit engine
?
* 集成浏览器:基于开源的WebKit引擎(注:网页浏览器引擎)
?
* Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional)
?
* 优化的图形:通过定制的2D图形库来完成;基于OpenGL ES 1.0规范的3D图形(硬件加速可选)
?
* SQLite for structured data storage
?
* SQLite:用于结构化数据存储(注:一种开源的跨平台嵌入式数据库)
?
* Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
?
* 媒体支持:用于普通音频、视频、以及静态图片格式(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
?
* GSM Telephony (hardware dependent)
?
* GSM电话:(依赖硬件)(注:GSM是全球移动通信系统的缩写,相当于移动设备的2G标准)
?
* Bluetooth, EDGE, 3G, and WiFi (hardware dependent)
?
* 蓝牙,EDGE,3G,以及WiFi:(依赖硬件)(注:蓝牙是爱立信提出的一种无线个人局域网,EDGE是GSM增强数据率演进的缩写,即2.75G,3G是3代的缩写,WiFi是无线保真的缩写,指支持IEEE 802.11标准的设备)
?
* Camera, GPS, compass, and accelerometer (hardware dependent)
?
* 照相机,GPS(注:全球定位系统的缩写),陀螺仪(注:用于重力感应)和重力加速度传感器(注:用于感应重力方向):(硬件依赖)
?
* Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE
?
* 富开发环境:包含设备模拟器,调试工具,内存和性能剖析,以及Eclipse IDE插件。
?
Android Architecture
?
Android架构
?
The following diagram shows the major components of the Android operating system. Each section is described in more detail below.
?
以下示意图展示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搭载一系列核心应用程序,包括电子邮件客户端,SMS(注:短信服务的缩写)程序,日历,地图,浏览器,电话薄,等等。所有应用程序用Java编程语言书写。
?
Application Framework
?
应用程序框架
?
By providing an open development platform, Android offers developers the ability to build extremely rich and innovative applications. Developers are free to take advantage of the device hardware, access location information, run background services, set alarms, add notifications to the status bar, and much, much more.
?
Android通过提供一个开发的开发平台,向开发者提供构建极其丰富和创新的应用程序的能力。开发者免费利用设备硬件,访问位置信息,运行后台服务,设置闹钟,添加通知到状态栏,以及非常非常多的东西。
?
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。设计应用程序框架是为了简化组件的可重用;任意应用程序可以公开它的功能,而其它任意程序可以使用那些功能(取决于框架实施的安全约束)。相同的机制还允许组件被用户替换。
?
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
?
* 内容提供者,使应用程序可以访问来自其它应用程序(诸如电话簿)的数据,或共享它们自己的数据。
?
* 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 the Notepad Tutorial.
?
更多应用程序细节和攻略请参考记事本教程。
?
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包含一组C/C++库,供Android系统的不同组件使用。这些功能通过Android应用程序框架暴露给开发者。一些核心库列举如下:
?
* System C library - a BSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devices
?
* 系统C库——一个标准C系统库(libc)的BSD衍生实现,兼容基于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
?
* LibWebCore——一个现代网页浏览器引擎,加强Android浏览器和可嵌入网页视图。
?
* 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软件光栅器
?
* FreeType - bitmap and vector font rendering
?
* FreeType——位图和矢量字体渲染
?
* SQLite - a powerful and lightweight relational database engine available to all applications
?
* SQLite——一个可用于所有应用程序的强大和轻量级关系型数据库引擎
?
Android Runtime
?
Android运行时
?
Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language.
?
Android包含一套核心库,它们以Java编程语言的核心库的形式提供大部分功能。
?
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.
?
每个Android应用程序运行于它自己的进程,使用它自己的Dalvik虚拟机实例。Dalvik被设计为可以在一个设备上有效地运行多个虚拟机。Dalvik虚拟机运行Dalvik可执行文件(.dex)格式的文件,它们针对最小内存占用进行优化。虚拟机是基于寄存器的,运行由Java语言编译器编译的,然后用内置的dx工具转换为.dex格式的类。
?
The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management.
?
Dalvik虚拟机依赖于Linux内核提供的底层功能,诸如线程和低层次内存管理。
?
Linux Kernel
?
Linux内核
?
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.
?
Android依赖于Linux版本2.6,用于核心系统服务诸如安全,内存管理,进程管理,网络栈,以及驱动模型。内核还扮演硬件和软件栈其它部分之间抽象层的角色。
?
Except as noted, this content is licensed under Apache 2.0. For details and restrictions, see the Content License.
?
除特别说明外,本文在Apache 2.0下许可。细节和限制请参考内容许可证。
?
Android 3.2 r1 - 03 Oct 2011 18:28
?
-------------------------------
?
1. 此页废弃
Android 4.1 r1 - 30 Jun 2012 0:55
内容被移除
?
-------------------------------
?
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.
?
(此页部分内容基于Android开源项目,以及使用根据创作公共2.5来源许可证中描述的条款进行修改)