Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • DownloadDownload
  • PrintPrint
Share this Page URL
Help

Chapter 1. Introducing Android > The layers of Android

1.3. The layers of Android

The Android stack includes an impressive array of features for mobile applications. In fact, looking at the architecture alone, without the context of Android being a platform designed for mobile environments, it would be easy to confuse Android with a general computing environment. All the major components of a computing platform are there. Here’s a quick rundown of prominent components of the Android stack:

  • A Linux kernel that provides a foundational hardware abstraction layer, as well as core services such as process, memory, and filesystem management. The kernel is where hardware-specific drivers are implemented—capabilities such as Wi-Fi and Bluetooth are here. The Android stack is designed to be flexible, with many optional components that largely rely on the availability of specific hardware on a given device. These components include features such as touch screens, cameras, GPS receivers, and accelerometers.

  • Prominent code libraries, including the following:

    • Browser technology from WebKit, the same open source engine powering Mac’s Safari and the iPhone’s Mobile Safari browser. WebKit has become the de facto standard for most mobile platforms.

    • Database support via SQLite, an easy-to-use SQL database.

    • Advanced graphics support, including 2D, 3D, animation from Scalable Games Language (SGL), and OpenGL ES.

    • Audio and video media support from PacketVideo’s OpenCORE, and Google’s own Stagefright media framework.

    • Secure Sockets Layer (SSL) capabilities from the Apache project.

  • An array of managers that provide services for

    • Activities and views

    • Windows

    • Location-based services

    • Telephony

    • Resources

  • The Android runtime, which provides

    • Core Java packages for a nearly full-featured Java programming environment. Note that this isn’t a Java ME environment.

    • The Dalvik VM, which employs services of the Linux-based kernel to provide an environment to host Android applications.


  

You are currently reading a PREVIEW of this book.

                                                                                        

Get instant access to over
$1 million worth of books and videos.

  

Start a Free Trial


  
  • Safari Books Online
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • DownloadDownload
  • PrintPrint