What is Android?

Source: Internet
Author: User

what is Android?

Android is a software stack on a mobile device that includes the underlying operating system, middleware, and some key applications. Android SDK (Soft Development Kit) Android Software Development Kit provides tools and the necessary APIs to start developing applications on the Android platform using the Java programming language.

Features:
.Applicationframework应用框架:可重用或替换的组件集合。.Dalvik virtual machine Dalvik虚拟机:在移动设备上已被优化的虚拟机。.Integratedbrowser 集成浏览器:基于开源的webKit引擎。.Optimizedgraphics 优化过的图形处理:采用自定义的2D图形库;基于OpenGL ES 1.0的3D图形库 (硬件加速可选).SQLite 支持结构化数据存储.Mediasupport 媒体支持:支持常见的音频,视频,静止的图像格式 (MPEG4, H.264, MP3, AAC, AMR,JPG, PNG, GIF).GSMTelephony (依赖于硬件).Bluetooth,EDGE, 3G, and WiFi (依赖于硬件).Camera,GPS, compass, and accelerometer 照相机,全球定位系统,指南针和加速器(依赖于硬件).Richdevelopment environment 丰富的开发环境:包括设备模拟器,调试工具,内存和性能分析工具, 还有Eclipse IDE的插件。
Android's Architecture

Shows the main components of the Android system. Each section will be described in detail below.

Application Section

The Android system integrates a number of core programs, including email clients, SMS programs, calendars, maps, browsers, contacts and others. All of these applications are written in the Java language.

Application Framework

By providing an open development platform, Android offers developers the ability to create rich and innovative applications. Developers can freely use the advantages of hardware devices to do a lot of things, such as access to location information, run background services, set up alerts, add notifications to the status bar, etc., and there are many, many things to do.

Developers have complete access to the framework APIs used by these core applications. The design of the application framework is designed to simplify the reuse of components. Any application can advertise its functionality and other programs can use these advertised features (within the framework's security constraint mechanism). This mechanism allows the component to be replaced by the user.

Below the application is a series of services and systems, including:

.一系列丰富可扩展的可视化控件可以被使用来构建应用程序,包括list,grids,boxes,buttons,甚至是一个可以嵌入到应用程序中的浏览器。 .Content Providers可以让应用程序访问从其他应用程序(如联系人)来的数据,或者共享它们自己的数据。    .一个Resource Manager,提供访问不用代码编写的资源如本地字符串,图片和一些layout布局文件。  .一个Notification Manager,能够让应用程序在状态栏上显示给用户看的通知。  .一个Activity Manager,它负责管理应用程序的生命周期,并提供一个公共的导航回栈(什么是导航回栈?我不理解,估计翻译也不正确)。

If you want more details and want to learn more about the application, see Notepad Tutorial.

Library

Android includes a collection of libraries written in C or C + + that are used by various components of the Android system (components). These features are exposed to developers through the Android application framework. Some core libraries are listed below:

.SystemC library 一个属于标准C系统库的BSD派生的实现,为嵌入式基于linux的设备而调整的。.MediaLibraries 基于PacketVideo的OpenCORE库;它支持播放和录制许多流行的音频和视频格式,以及静态图像文件,包括MPEG4,H.264,MP3,AAC,AMR,JPG,和PNG。.SurfaceManager可以控制显示子系统和多个应用软件间2D与3D图层之间完美的联合。.LibWebCore一个很酷的web浏览器引擎,掌控着安卓的浏览器和可嵌入的web视图。.SGL一个基本的二维图形引擎。.3DLibraries 一个基于OpenGL ES1.0 APIs的实现。这个库也使用硬件3D加速(如果可以使用)或所包含的,高度已被优化过的3D软件光栅。.FreeType 位图和矢量字体渲染.SQLite一个可以被应用程序使用的强大又轻量的关系型数据库引擎。
Android Runtime

Android offers a range of core libraries that provide many of the features you can use in the core library of the Java language.

Every Android app runs in its own process, and belongs to its own Dalvik virtual machine instance. Dalvik is designed to enable the device to run multiple virtual machines more efficiently. The Dalvik virtual machine executes the Dalvik executable (. dex) file. It is optimized to occupy less memory and the virtual machine is a register-based, running. dex file, which is a file that was compiled by the Java compiler and then converted to the DX tool.

The Dalvik virtual machine relies on the Linux kernel, which provides basic functionality, such as threading and low-level memory management. )

Linux Kernel

Android relies on the linux2.6 version of core system services such as security, memory management, process management, network protocol stacks, and drive models. The kernel also acts as an abstraction layer between the hardware and software stack layers.

What is Android?

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.