Android Application
android application anatomy in details ...
Last updated
android application anatomy in details ...
Last updated
Android is an operating system and programming platform developed by Google for mobile phones and other mobile devices, such as tablets. It can run on many different devices from many different manufacturers. Android includes a software development kit (SDK) that helps you write original code and assemble software modules to create apps for Android users. Android also provides a marketplace to distribute apps. All together, Android represents an ecosystem for mobile apps.
Android provides a rich development architecture. You don't need to know much about the components of this architecture, but it is useful to know what is available in the system for your app to use. The following diagram shows the major components of the Android stack—the operating system and development architecture.
In the figure above:
Apps: Your apps live at this level, along with core system apps for email, SMS messaging, calendars, internet browsing, and contacts.
Java API framework: All features for Android development, such as UI components, resource management, and lifecycle management, are available through application programming interfaces (APIs). You don't need to know the details of how the APIs work. You only need to learn how to use them.
Libraries and Android runtime: Each app runs in its own process, with its own instance of the Android runtime. Android includes a set of core runtime libraries that provide most of the functionality of the Java programming language. Many core Android system components and services are built from native code that require native libraries written in C and C++. These native libraries are available to apps through the Java API framework.
Hardware abstraction layer (HAL): This layer provides standard interfaces that expose device hardware capabilities to the higher-level Java API framework. The HAL consists of multiple library modules, each of which implements an interface for a specific type of hardware component, such as the camera or Bluetooth module.
Linux kernel: The foundation of the Android platform is the Linux kernel. The layers above the Linux kernel rely on the Linux kernel for threading, low-level memory management, and other underlying functionality. Using a Linux kernel enables Android to take advantage of Linux-based security features and allows device manufacturers to develop hardware drivers for a well-known kernel.