Chapter 3. Android Fundamentals
The first two chapters of this book were a whirlwind review of the Kotlin language. This chapter will review the environment in which we will use Kotlin: Android.
Android is an operating system, like Windows and MacOS. Unlike those two systems, Android is a Linux-based OS, like Ubuntu and Red Hat. Unlike Ubuntu and Red Hat, though, Android has been very heavily optimized for mobile devices—battery-powered mobile devices, in particular.
The most significant of these optimizations concerns what it means to be an application. In particular, as we will see, Android apps have much more in common with web applications than they do with familiar desktop applications.
But we’ll get to that in a moment. First, let’s look in a little more detail at the Android environment. We’ll look at the operating system as a stack—kind of a layer cake.
The Android Stack
Figure 3-1 shows one way of looking at Android: as a stack of components. Each layer in the stack has a specific task and provides specific services; each uses the features of the layers beneath it.
Walking up from the bottom, the layers are:
-
Hardware
-
Kernel
-
System services
-
Android Runtime Environment
-
Applications
Hardware
Beneath the Android stack, of course, is hardware: a piece of warm silicon. While the hardware is not part of the Android stack, it is important ...
Get Programming Android with Kotlin now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.