What is Android?

Source: Internet
Author: User
Tags vector font
What is Android?

Android is a mobile device software package, including the operating system, middleware, and key applications. You need to start developing Java programming language on the Android platform and check the tools and APIs provided by the android SDK.

Features
  • Application Framework(Application Framework)Reusable and replaceable Components
  • Dalvik Virtual Machine(Dalvik virtual machine)Optimized for mobile devices
  • Integrated Browser)Open-source-based WebKit Engine
  • Optimized graphics (Graphic optimization)Based on a custom 2D graphics library; OpenGL ES 1.0 3D graphics display (optional for hardware acceleration)
  • SQLite (lightweight SQL)Used for structured data storage
  • Media Support(Multimedia support) supports the most common audio, video, and static image formats (MPEG4, H.264, MP3, AAC, Amr, JPG, PNG, GIF)
  • GSM telephony(GSM calls) (dependent on Hardware Support)
  • Bluetooth, edge, 3G, and WiFi(Bluetooth, edge, 3G, and WiFi) (depends on Hardware Support)
  • Camera, GPS, compass, and accelerometer(Camera, global positioning, compass, acceleration) (dependent on Hardware Support)
  • Rich Development Environment (rich Development Environment)Including device simulators, debugging tools, memory and performance simulation, and an integrated development environment based on Eclipse plug-ins
Android Architecture

The following figure shows the main components of the Android operating system. For more details, see each section below.

Application

Android will contain a set of core applications, including an email client, SMS program, calendar, maps, browsers, contacts, and others. All applications are written in Java programming language.

Application Framework

Developers have full opportunities to obtain the same API architecture as core applications. Reuse components to simplify the application architecture design. Any application can publish functions that may be used by any other application, and then use these functions (which must be implemented within the security constraints imposed by the Framework ). This mechanism allows users to replace components.

All basic applications constitute a set of services and systems, including:

  • A rich and scalable set of visual objects that can be used to build applications, including lists, tables, text boxes, buttons, and even an embedded Web Browser
  • You can access other applications to obtain required information (such as through protocols) or share your own data.
  • A resource manager to obtain non-code resources, such as internal strings, graphics, and layout files
  • One message Manager allows all applications to display alarm information in the status bar.
  • A runtime program manager is responsible for managing the application lifecycle and providing a universal regression stack navigator.

For an overview of an application and more details, see develop an Android Application.

Library

The Android platform contains the complete C/C ++ library used by the Android system. These functions are provided to developers through the Android Application Framework. The list of some core databases is as follows:

  • System C library-The Standard C system library (libc) derived from BSD is especially suitable for Embedded Linux devices.
  • Multi-media library media libraries-Open Core Based on portable videos: This Library supports playback and recording of many popular audio and video formats and static image files, including MPEG4 and H. 264, MP3, AAC, Amr, JPG, and PNG format
  • Appearance Manager-Manage multiple applications to seamlessly generate 2D and 3D images displayed through the display subsystem
  • Network core library libwebcore-A stylish Web browser engine consisting of an android browser and an embedded Web Browser
  • SGL-Background 2D graphics engine
  • 3D graphics library-An implementation based on OpenGL ES 1.0 API; hardware 3D acceleration (when available) or 3D graphics generated by highly optimized Software
  • Free font-Bitmap and vector font rendering
  • SQLite-A powerful lightweight relational database for all applications

Android Runtime Environment

The Android platform includes a core library that contains most of the functions and a core library written in Java.

Each Android Application runs in the Dalvik virtual machine process with its own instance. In this way, Dalvik doubles the efficiency of virtual machines by running multiple processes at the same time. The Dalvik execution file is ideal for the minimum memory usage in the Dalvik executable (. Dex) format. The Virtual Machine is register-based and compiled from the class format to the. Dex format through a Java language compiler containing the "dx" tool.

The Dalvik virtual machine depends on the basic Linux kernel functions such as multithreading and low-level memory management.

Linux Kernel

Android depends on core services of Linux 2.6, such as security, memory management, process management, network stack and driver model. This kernel also serves as an abstraction layer between hardware and other software applications.

Address: http://code.google.com/android/what-is-android.html

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.