Latest web development tutorials

Android Architecture

Android operating system is a software stack components in the architecture diagram which can be roughly divided into five parts and the four main layers.

Android Architecture


Linux kernel

Under most of all layers is Linux - including about 115 patch Linux 3.6. It provides basic system functions, such as process management, memory management, device management (such as camera, keyboard, monitor). Meanwhile, the Linux kernel handles all the good work, and a lot of equipment such as network drivers, in order to avoid a large number of peripheral hardware interface compatible inconvenience.


Library

In the upper layer of the Linux kernel is a set of libraries, including open-source Web browser engine Webkit, known libc library for data warehousing and application sharing SQLite database for playback, recording audio and video libraries, SSL libraries for network security.


Android library

This category includes specially developed for Android Java-based libraries. Examples of this category include library application framework libraries, such as user interface construction, graphing, and database access. Some Android developers Android core libraries available are summarized as follows:

  • android.app - provides access to the application model is the cornerstone of all Android applications.
  • android.content - between convenience applications, content access between application components, publishing, messaging.
  • android.database - used to access the data released by the content provider, including SQLite database management class.
  • android.opengl - OpenGL ES 3D image rendering API for Java interface.
  • android.os - marked ability to provide application access to operating system services, including inter-messaging, system services, and interprocess communication.
  • android.text - rendering and manipulation of text displayed on the device.
  • android.view - based application user interface building blocks.
  • android.widget - a rich set of preset user interface components, including buttons, labels, lists, layout managers, radio buttons, and so on.
  • android.webkit - a series of collection of classes that allows to provide built-in Web browsing capabilities to your application.

Read the Java-based Android core libraries running within a layer, it is time to look at the Android software stack library based on C / C ++ is.


Android Runtime

This is the third part of the architecture, the second layer bottom. This section provides the key component called Dalvik virtual machine, similar to the Java Virtual Machine, but designed and optimized specifically for Android.

Dalvik virtual machine makes it possible to use the Linux kernel features in Java, such as memory management and multi-threading. Dalvik virtual machine such that every Android application runs in its own separate virtual machine process.

Android offers a range of core libraries running at the same time to use standard Android application developers Java language to write Android applications.


Application Framework

Application framework layer in the form of Java classes provide many advanced services for the application. Application developers are allowed to use these services in the application.

  • Events Manager - Control application lifecycle activities and all aspects of the stack.
  • Content providers - allows publishing and sharing of data between applications.
  • Resource Manager - provides access to non-code embedded resources, such as strings, color settings and user interface layout.
  • Notification Manager - Allows the application displays a dialog box or a notification to the user.
  • Views System - a scalable set of views for creating application user interfaces.

application

The top layer has all the Android applications. You write applications will be installed in this layer. These applications include contacts, browser, games.