Android developer Guide (8) -- What is Android?

Source: Internet
Author: User
Tags vector font

Preface

This chapter describes the developer Guide/Android Basics/What is Android ?, The version is Android3.0 r1, which is translated and reproduced from: "gansc23". Thanks again "gansc23 "! We look forward to your participation in translation of Android related information, contact me over140@gmail.com.

 

Statement

This document is reproduced and organized from: What is Android ).

For more information, see: Android basics: What is Android? (Computer teacher)

Android Chinese translation group: http://goo.gl/6vJQl

 

Original

Http://developer.android.com/guide/basics/what-is-android.html

AndroidWhat is it?(What is Android ?)

Android is a software stack for mobile devices. It includes operating systems, middleware, and key applications. The Android SDK provides necessary tools and APIs for developing applications using the Java programming language on the Android platform.

 

Features(Features)

*Application framework)Reusable and replaceable Components

*DalvikVirtual machine (Dalvik virtual machine)Optimized for mobile devices

*Integrated browser)Open-source WebKit Engine

*Optimized graphics processing (Optimized graphics)Based on the custom 2D graphics library and 3D graphics based on OpenGLES 1.0 specifications (optional hardware acceleration)

*SQLiteStructured Data Storage

*Media support)General audio and video formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, and GIF)

*GSMGSM Telephony)(Depends on hardware)

*Bluetooth, EDGE, 3G, and WiFi(Depends on hardware)

*Camera, GPS, Compass, acceleration sensor (Camera, GPS, compass, and accelerometer)(Depends on hardware)

*Rich development environment)Includes device simulators, debugging tools, memory and performance analysis tools, and plug-ins for Eclipse IDE

 

AndroidArchitecture (Android Architecture)

Shows the main components of the Android operating system. Each component is described in more detail below.

 

Applications(Applications)

Android will be equipped with a series of core applications, including email clients, SMS programs, calendars, maps, browsers, address books, etc. All applications use the Java programming language.

 

Application Framework(Application Framework)

By providing an open development platform, Android provides developers with the ability to build extremely rich and innovative applications. Developers can freely enjoy the advantages of hardware devices, access local information, run background services, set alerts, and add notifications to the status bar.

Developers can use the same API framework as core applications. The application architecture is designed to simplify Component Reuse. Any application can publish its functions, other applications may exploit these features (which must comply with the security constraints provided by the Framework ). With the same mechanism, components can be replaced by users.

All applications at the underlying layer are a set of services and subsystems, including:

* A group of rich and scalable views that can be used to build an application, including lists, tables, text boxes, buttons, and even embedded Web browsers.

* A set of Content Providers allows applications to access data (such as Address Book) of other applications or share their own data.

* A Resource Manager provides access to non-code resources, such as localized strings, images, and layout files.

* One notification management (Notification Manager), So that all applications can display custom notifications in the status bar.

* One Activity management (Activity Manager), It manages the lifecycle of the application and provides a general background switch stack.

For more information about an application, see Notepad Tutorial ).

 

Library(Libraries)

Android includes a set of C/C ++ libraries, which are used by various components of the Android system. These functions are open to developers through the Android Application Framework. Some of the core libraries are as follows:

*System CLibrary (System C library)-A standard C system implementation (libc) inherited from BSD is adjusted to a linux-based embedded device.

*Media Libraries)-Open Core Based on PacketVideo. This Library supports 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 formats.

*SurfaceSurface Manager)-Manage the display subsystem and seamlessly combine 2D and 3D image layers of multiple applications.

*LibWebCore-A popular Web browser engine that supports Android browsers and embedded Web views.

*SGL-The underlying 2D graphics engine.

*FreeType-Bitmap and vector font rendering.

*SQLite-All applications use a powerful and lightweight relational database engine.

 

Runtime(Android Runtime)

Android includes a collection of core libraries, which provide the vast majority of functions in the core library of the Java programming language.

Every Android application runs in her own process, which also belongs to an instance of a Dalvik virtual machine. Dalvik is designed to allow devices to run multiple virtual machines efficiently. The Dalvik virtual machine executes the Dalvik Executable File Format ending with. dex, Which is optimized to the minimum memory usage. Virtual machines are register-based and run classes compiled by Java programming languages. These classes are converted to. dex format by built-in dx tools.

The Dalvik Virtual Machine relies on the Linux kernel to provide underlying functions, such as thread and low-level memory management.

 

LinuxKernel(Linux Kernel)

Android relies on Linux 2.6 to provide core system services, such as security, storage management, process management, network stack, and driver models. The kernel also acts as an abstraction layer between the rest of the hardware and software stacks.

 

 

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.