Andorid Software Stack
Andorid 主要的元件之一是Dalvik VM.它不同於Java ME(Java Mobile Edition). Android 使用自己客制化的VM,它被設計成確保多個VM能有效率的在單一個設備上執行. Dalvik VM可執行的檔案是被最佳化以確保最小的記憶體空間. 可被執行 *.dex 是被Java Complier所編譯所產生的.
Android Libraries
andorid.util: low level classes, String formatter and XML parsing utilities..
android.os: basic operatiing system services(message pass, interprocess communication, clock function and debugging)
android.graphics: The graphics API supplies the low-level graphics classes
android.text: The text processing tools for displaying and parsing text.
android.database: Supplies the low-level classes required for handling cursors when working with databases.
android.content: The content API is used to manage data access and publishing by providing service for dealing with resources, content providers and packages.
android.view: Views are the core user interface class. All user interface elements are constructed using a series of Vuews to provide the user interaction components.
android.widget: Built on the View package, the widget classes are the “here’s one we created
earlier” user-interface elements for you to use in your applications. They include lists, buttons,
and layouts.
com.google.andorid.maps: A high-level API that provides access to native map controls that
you can use within your application. Includes the MapView control as well as the Overlay and
MapController classes used to annotate and control your embedded maps.
android.app: A high-level package that provides access to the application model. The application
package includes the Activity and Service APIs that form the basis for all your Android
applications.
android.provider: To ease developer access to certain standard Content Providers (such as the
contacts database), the Provider package offers classes to provide access to standard databases
included in all Android distributions.
andorid.telephony: The telephony APIs give you the ability to directly interact with the device’s
phone stack, letting you make, receive, and monitor phone calls, phone status, and SMS messages.
android.wbkit: The WebKit package features APIs for working with Web-based content,
including a WebView control for embedding browsers in your activities and a cookie manager.
Advanced Andorid Libraries
android.location: The location-based services API gives your applications access to the
device’s current physical location. Location-based services provide generic access to location
information using whatever position-fi xing hardware or technology is available on the device.
android.media: The media APIs provide support for playback and recording of audio and
video media fi les, including streamed media.
android.opengl: Android offers a powerful 3D rendering engine using the OpenGL ES API
that you can use to create dynamic 3D user interfaces for your applications.
android.hardware: Where available, the hardware API exposes sensor hardware including the
camera, accelerometer, and compass sensors.
android.bluetooth,android.net.wify: Android also provides low-level access to the hardware platform, including Bluetooth, Wi-Fi
除了 Andorid APIs以外Andorid stack還提供下列的Libraries
OpenGL: The library used to support 3D graphics based on the Open GL ES 1.0 API
FreeType: Support for bitmap and vector font rendering
SGL: The core library used to provide a 2D graphics engine
libc: The standard C library optimized for Linux-based embedded devices
SQLite: The lightweight relation database engine used to store application data
SSL: Support for using the Secure Sockets Layer cryptographic protocol for secure Internet
communications
