Step 1 of Android development: Understanding Android

Source: Internet
Author: User

What is Android?

Android is a software package for mobile devices. It includes an operating system, middleware, and key applications. The Android SDK provides required tools and APIs and is developed based on the java language.

Features
  • Application FrameworkComponent Reuse and customization
  • Dalvik Virtual MachineOptimized for mobile devices
  • Integrated BrowserOpen-source webkit-Based Kernel
  • Graph OptimizationProvides a custom 2D graphics library, which is optional based on OpenGL hardware acceleration)
  • SQLiteStructured Data Storage
  • Multimedia supportProvides general support for audio, video, and image
  • GSM technologyDepends on hardware)
  • Bluetooth, EDGE network, 3G and WiFiDepends on hardware)
  • Cameras, GPS, direction and speed sensorsDepends on hardware)
Android Structure

Built-in applications

Android contains a set of core applications, such as email clients, SMS programs, calendars, maps, browsers, address books, and others. All programs are written in java.

Application Framework

On the Android platform, developers can create gorgeous and innovative applications. Hardware capabilities are available, including geographic location information, background services, warnings, and program bar notifications, and more.

Developers and core applications have the same permissions on APIs. The application structure is designed to simplify Component Reuse. An application can enable its functions to be called by other programs within the framework's security restrictions. This mechanism also allows users to customize components.

The following services and systems have a high priority:

  • A series of viewsViews), including lists, grids, text boxes, buttons, and even embedded browsers.
  • Content ProvidersContent Providers), allowing programs to connect to other programs or share data.
  • Resource ManagerResource Manager) to provide connections to non-code resources, such as local character strings, images, and layout files.
  • Notification ManagerNotification Manager), so that the program can display custom notifications.
  • Activity ManagerActivity Manager) to manage the life cycle of a program and provide general navigation back stack.

For more details, see Notepad Tutorial.

Class Library

Android includes a series of C/C ++ libraries, which are used by many Android system components and can also be called by programs through the framework.

  • System C language libraryThe standard C language system library derived from BSD is adjusted for Linux-based devices.
  • Multi-media libraryOpenCORE framework based on PacketVideo. Supports playback, recording, and other multimedia functions.
  • Appearance ManagerSurface Manager) Manages access display subsystems and seamlessly integrates 2D and 3D graphics from multi-module applications
  • LibWebCoreModern browser engines Support browsers and embedded views
  • SGLHigh-priority 2D graphics engine
  • 3D class libraryAn extension of OpenGL es api, supporting hardware acceleration and software optimization Acceleration
  • FreeTypeBitmap and vector font rendering
  • SQLiteA lightweight Relational Database
Android Runtime

Android includes a simplified core class library of Java, which can implement most java functions.

Each Android Application has its own process and virtual machine. The device can run multiple Dalvik virtual machines at the same time. The execution Suffix of the Dalvik virtual machine is. dex files, which are optimized for minimum memory usage. This virtual machine is register-based and runs as compiled by the dx tool. dex File class.

Dalvik relies on the Linux core to ensure some high-priority features, such as thread processing and low-level memory management.

Linux core

Android depends on Linux 2.6 to provide core system services, such as security, memory management, process management, network stack, and driver models. This core also provides an abstraction layer between hardware and other programs.

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.