Android Dev Guide Series 1: What is Android?

Source: Internet
Author: User

Android is a software set for mobile devices. It includes an operating system, middleware, and some important applications.Program. Android SDK provides the necessary tools and APIs for the android development platform.Programming Language.

 

Features:

 

Application Framework: supports Component Reuse and replacement.

Dalvik Virtual Machine: Virtual Machine optimized for mobile devices.

Integrated Browser: Based on the open-source browser WebKit engine.

Optimized Image Processing: a custom 2D graphics library based on OpenGL es1.0 specifications provides optional hardware acceleration.

SQLite: structured data storage.

Media Support: supports audio and video from manufacturers such as MPEG4, H.264, MP3, AAC, Amr, JPG, PNG, and GIF.

GSM technology: hardware dependency.

Bluetooth, edge network, 3G, WiFi: hardware dependency.

Photo Taking, navigation, compass, and accelerometer: hardware dependency.

Rich Development Environment: includes a virtual machine, debugging tool, memory and performance analysis, and Eclipse plug-in.

 

 

Android system structure:

 

The following figure shows the main components of the Android operating system.

 

.

 

Applications

 

Android has some core applications, such as email clients, SMS programs, calculators, maps, browsers, and contacts. All applications are developed in Java.

 

Application Layer

 

By providing an open-source platform, Android allows developers to freely develop rich and innovative applications. Developers can use the hardware of devices for free to access local information, start background services, Set alarms, and add reminders to the status bar.

 

Developers can access the APIs of the same framework through core applications. (?) [Developers have the same permissions to access the framework APIs as the core program (downstairsWhyou: Thank you.)].The structured application framework is designed to improve the customer service availability of components. Any program can publish its functions for other programs to call (with the framework license ). The same mechanism allows users to replace some functions.

 

Services and systems related to all programs include:

 

Some rich extensible views: can be used to construct applications, including lists, tables, input boxes, buttons, and built-in browsers.

Content Delivery: allows programs to access data of other programs, such as the contact list, or share their own data.

Resource Manager: provides non-CodeSuch as localized strings, images, and layout files.

A prompt MANAGER: allows the program to display custom prompts in the status bar.

An activity MANAGER: manages the lifecycle of an activity and provides a common navigation function.

 

For more details, refer to noteoad tutorial.

 

 

Libraries:

 

Android contains C/C ++ libraries used by various parts of the system. These functions are open to developers through the Android Application Framework. Some core libraries are as follows:

 

System C Library:A standard C system library inherited from BSD, specifically for Embedded Linux.

Multi-Media Library:Based on the packetvideo's opencore library, it supports playing and recording some mainstream audio and video formats, such as static image files, including MPEG4 and H. 264, MP3, AAC, Amr, JPG, and PNG format.

Surface Manager(Graphics manager): manages the display subsystem and seamlessly integrates 2D and 3D layers in multiple applications.

Libwebcore: A popular web browser engine for Android browsers and built-in view.

SGL: An underlying 2D image engine.

3D Library:Based on OpenGL ES 1.0 3D image engine. Including hardware acceleration and optimized 3D software acceleration.

FreeType: Rendering of Bitmap and Vector Fonts (rendering ).

SQLite:A powerful lightweight database engine is available to all programs.

 

Android Runtime Library:

 

Android contains most of the core libraries of the Java language.

 

Each Android Application runs in its own thread and has its own Dalvik Virtual Machine instance. The Dalvik virtual machine is rewritten to support multiple virtual machines on a mobile device. The Dalvik virtual machine execution file (. Dex) is very small in memory occupied by optimization. VM is A. Dex file that is based on registers and is converted from class files through the Java language compiler. It uses the built-in DX tool.

 

The Dalvik Virtual Machine relies on the Linux core to manage threads and underlying memory management.

 

Linux Kernel:

 

Android relies on the linux2.6 kernel as the core system service, such as security, memory management, process management, network heap, and driver model. Kernel acts as an abstraction layer between software and hardware.

 

 

Code at the end:

finally, I translated an article, which is too obscure. lazybone cannot help readers.

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.