原文自 What is Android ? - http://code.google.com/android/what-is-android.html
著其翻成中文, 照英文文一起看, 如果翻的不恰的地方, 大家指正.
1. What is Android?
Android is a software stack for mobile devices that includes an operating system, middleware and key applications. This beta version of 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 是一手置上的「集」 (套件合) , 它面包含了 作系、程式(middleware) 和 一些的用程式。 在初期(beta) 版本中的 Android SDK 提供了行需要的工具和多 API ,可以在 Android 作系平台上使用 Java 程式言行工作。
2. 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
2 .Android 平台的特
.用程式的 Framework 提供了可重覆使用和取代的元件
(:表示 Framework 的性). Dalvik 器在行置上行最佳化
.放式原始中的 WebKit engine 整合到 Android 平台上
.介由客化的 2D 形函式及使用 OpenGL ES 1.0 的 3D 形理方面的加(硬加速)
.以 SQLite 做化料放的
(:SQLite 是一可以直接以程式呼叫 API 就可以使用的料系).於多媒上有支援常的 MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF 格式
.支援 GSM 的通技方法相的 (於硬的)
.支援 芽 (Bluetooth), EDGE, 3G, and WiFi (於硬的)
.支援 Camera(控制), GPS(定位系), compass(指南), and accelerometer(加速器) (些都是於硬的)
.富完整的境:有行置模器、除工具、行和效率的作判工具 和 Eclipse IDE 上的外
Android Architecture
The following diagram shows the major components of the Android operating system. Each section is described in more detail below.
Andorid 系架
下面的形可以到成 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 面已有一些已以 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.
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 life cycle of applications and provides a common navigation backstack
For more details and a walkthrough of an application, see Writing an Android Application.
二、用程式的框架
人可以使用到核心用程式相同的 API 元件行,用程式框架的是了化元件可以很容易的被重用(reused) 而作; 任何的程式可以功能且被其他的程式所使用(有在框架的安全控制下是被限制的)。使用者也可以基於的制置取代在 Android Framework 上行的元件。
一框架是由Service(系服) 和系所成,面包含了:
.相富且可延伸的外元件( Views Gallery ) 可以用成一程式,元件有 lists、grids 、text 、boxes、buttons 些元件之外,甚至可以放入一嵌入式的 Browser (器功能)元件
(:不要害怕看到 lists、grids ...些西,是 Android 元件中的套件名..)
.Content Providers 的制使程式可以其他的程式取得料 (如:手中的人清)或 或分享料
.Resource Manager :提供存取非程式的源,如本地端定、 片和外控制的案
.Notification Manager :使所有的用程式都可以在列自自己的警示文字
.Activity Manager :用管理程式作期且提供一泛用的後台切控管理
更多相的, 可以考 Android Application 的指篇
三、Libraries
Android includes a set of C/C++ libraries used by various components ofthe Android system. These capabilities are exposed to developersthrough the Android application framework. Some of the core librariesare listed below:
.System C library - a BSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devices
.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
.Surface Manager - manages access to the display subsystem and seamlessly composites 2D and 3D graphic layers from multiple applications
.LibWebCore - a modern web browser engine which powers both the Android browser and an embeddable web view
.SGL - the underlying 2D graphics engine
.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
.FreeType - bitmap and vector font rendering
.SQLite - a powerful and lightweight relational database engine available to all applications
三、函式 (:然是 人程式用的函式.....)
Android 有一 Android 系函式由多元件合而成的 C/C++ 函式 。者可以介透 Android 用程式框架使用些函式,且面核心的函式主要有下面:
.系的 C 函式:嵌入式的 Linux 系置,引用 BSD 式的 C 言系函式 (又 libc) 行整的函式集
.多媒函式:架於 PacketVideo's OpenCORE 上的函式集,些函式支援多常用的音效和影像格式的播放和,不只是的影像格式理、也包含了常的 MPEG4, H.264, MP3, AAC, AMR,JPG, and PNG 等格式
.Surface Manager - 管理示控制的系部分和多程式由 2D and 3D 形成的介面控制(:可以翻成 外管理的函式,好像可以接受)
.
.LibWebCore - 一先而且大的 Android 器以利行嵌入式系上,看 Web 面的器引擎核心
.SGL 函式 - 用在 2D 形理的底核心引擎
.3D 函式- 由 OpenGL ES 1.0 作的函式 API ; 函式不止可以用在硬上行 3D 加速 (硬加速是可行的候) ,也可以使用高度最佳化整由上行 3D 理
(:就是硬、也用加速,行 3D 案的理)
.FreeType 函式- 型和向量字型的提供理函式
.SQLite - 一大且量的式料引擎,可以提供所有的用程式行存取使用
四、Android Runtime
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 的 VM 一起行。Dalvik VM 是一在一置上同可以行多程序的能力 VM。 Dalvik VM行 Dalvik 可以行副名 .dex 格式的行,行已最佳化可以在行的,在系源中用最小的行程式。Dalvik VM 是一 register-based 的 VM ,且它借由 Dalvik 中的 dx 工具 Java 後的案 .dex 格式。
(:以技面考量使用 Register-based VM 有很大的好,那就是於有主流的硬系架容易行整合和最佳化,跟 Stack-base 比所需要的作源也相少)
五、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 版的核心作。系核心 (kernel) 也可以作硬和之的一抽象存在的程式服看待。
文章定位: