From 9066cfe9886ac131c34d59ed0e2d287b0e3c0087 Mon Sep 17 00:00:00 2001 From: The Android Open Source Project Date: Tue, 3 Mar 2009 19:31:44 -0800 Subject: auto import from //depot/cupcake/@135843 --- docs/html/guide/basics/what-is-android.jd | 135 ++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 docs/html/guide/basics/what-is-android.jd (limited to 'docs/html/guide/basics/what-is-android.jd') diff --git a/docs/html/guide/basics/what-is-android.jd b/docs/html/guide/basics/what-is-android.jd new file mode 100644 index 0000000..b75321b --- /dev/null +++ b/docs/html/guide/basics/what-is-android.jd @@ -0,0 +1,135 @@ +page.title=What is Android? +@jd:body + +

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.

+ +

Features

+ + + + +

Android Architecture

+ +

The following diagram shows the major components of the Android operating +system. Each section is described in more detail below.

+ +

Android System Architecture

+ + +

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.

+ + +

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: +

+ +

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 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.

+ + + +

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.

-- cgit v1.1