Android - What is Android? 的繁體中文翻譯
試著將其翻譯成中文, 並對照英文文一起來看, 如果翻的不恰當的地方, 還請大家指正.
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 應用程式開發框架使用這些函式,並且裡面核心的函式庫主要有下面幾項:
.多媒體函式庫:架構於 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 - 一個強大且輕量級的關連式資料庫引擎,可以提供給所有的應用程式進行存取使用
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) 也可以作為硬體層和軟體層之間的一個抽象存在的程式服務層來看待。
Our specialty. Both native & hybrid mobile apps, mobile games, augmented reality, enterprise mobility, & more. For iOS, Android & Windows App Development.
For more Details click here : https://viiontech.com/
Our specialty. Both native & hybrid mobile apps, mobile games, augmented reality, enterprise mobility, & more. For iOS, Android & Windows <a href="https://viiontech.com/"> App Development </a>.
Thanks for sharing YoWhatsApp WAGBPro.com https://wagbpro.com/yowhatsapp