© Ted Hagos 2020
T. HagosLearn Android Studio 4https://doi.org/10.1007/978-1-4842-5937-5_1

1. Android Overview

Ted Hagos1 
(1)
Manila, National Capital Region, Philippines
 
What the chapter covers:
  • Brief history of Android

  • The Android operating system

It’s been quite a while since the little green robot made waves and disrupted the mobile computing world. It started as an operating system for phones, but it has, since, made its way into all sorts of places like TVs, car systems, watches, e-readers, netbooks, and game consoles, among other things.

Android, to many people, may seem like an OS only, which for the most part it is; but apart from the OS, Android also includes a software development kit, libraries, application frameworks, and reference design.

History

2003. Andy Rubin founded Android Inc.; Google backed the company but didn’t own yet.

2005. Google bought Android Inc

2007. Android was officially given to open source; Google turned over the ownership to the Open Handset Alliance (OHA).

2008. Android v1.0 was released. The Google Play Store was called by a different name then; it was called the “Market.”

2009. Versions 1.1, 1.5 (Cupcake), 1.6 (Donut), and 2.0 (Eclair) were released. Cupcake was the first version to get the sugary treats naming scheme. This was a significant release because it featured an on-screen keyboard. Donut is remembered as the first version to include the “search box.” Eclair is remembered as the first to include Google maps, which started the death of built-in car navigation, because Google offered Maps for free.

2010. Versions 2.2 (Froyo) and 2.3 through 2.3.7 (Gingerbread) were released. Froyo improved the Android experience; it featured five home screens instead of three during the previous versions. Gingerbread coincided with the release of Nexus S (the one from Samsung). Gingerbread may also be remembered as the version that introduced support for a front-facing camera; and the selfie avalanche began.

2011. Versions 3.0 (Honeycomb) and 4.0 through 4.0.4 (Ice Cream Sandwich) were released. The previous versions of Android were all (exclusively) for the phones; Android 3.0 changed that because Honeycomb was meant for tablets. It hinted at design cues for future versions of Android. It removed physical buttons; the home, back, and menu buttons were part of the software. Google and Samsung partnered once again for the release of Galaxy Nexus (successor for the Nexus S), which used Ice Cream Sandwich as the OS.

2012. Versions 4.1 through 4.3.1 (Jelly Bean) were released. Jelly Bean introduced “Google Now” which could be accessed via a quick swipe from the home screen; this allowed access to Calendar, Events, Emails, and weather reports all in a single screen. It was an early version of Google Assistant. It was also with this version where Project Butter was implemented which allowed for a smoother Android experience.

2013. Versions 4.4 through 4.4.4 (KitKat) were released. KitKat was a big aesthetic upgrade; the blue accents of the previous versions were replaced with a more refined white accent, and many stock apps were redesigned with lighter color schemes. This version also brought us the “Ok Google” search command

2014. Versions 5.0–5.1/5.1.1 (Lollipop) were released; Android became 64-bit. Lollipop featured the first use of Google’s material design philosophy. The changes were not just cosmetics; under the hood, Android 5 moved away from the Dalvik VM and used the Android Runtime (ART) instead. Android TV was also released during this time.

2015. Versions 6.0 and 6.01 (Marshmallow) were released. The app menu changed dramatically, and Google added search bar so users can find apps quickly. The memory managers were introduced in this version so users can check the memory usage of apps. The permission system was revamped as well; apps can no longer request for permissions on a wholesale basis; permissions were requested (and granted) on a per-permission basis and as they were required.

2016. Versions 7.0–7.1.2 (Nougat) were released. “Google Now” was replaced with “Google Assistant.” The improved multitasking system allowed for split-screen mode.

2017. Versions 8.0 and 8.1 (Oreo) were released; and with it were more multitasking features. Picture-in-picture and native split-screen was introduced with this version.

2018. Android 9.0 (Pie) was released—exactly 10 years after v1.0. This release brought with it quite a number of visual changes which made it the most significant update in recent years. The three-button setup was replaced with a single-pill shaped button and gestures to control things like multitasking.

2019. Android 10 was released; this is a shift for Google in terms of naming the versions. Google did away with the dessert names and simply named the version according to its number. The green robot is being rebranded. This version also marks the end of the Android navigation buttons. While Android 9 kept the “back” button, v10 has completely removed it and will use gestures instead.

The Operating System

The most visible part of Android, at least for developers, is its operating system. Android OS may appear complex, but its purpose is simple; it stands between the user and the hardware. That may be an oversimplification, but it will suffice for our purposes. By “user,” I don’t literally mean an end user or a person; by “user” I mean an application, a piece of code that a programmer creates, like a word processor or an email client.

Take the email app, for example; as you type each character, the app needs to communicate to the hardware for the message to make its way to your screen and hard drive and eventually send it to the cloud via your network. It’s a more involved process than I describe it here, but that is the basic idea. At its simplest, an OS does three things:
  • Manages hardware on behalf of applications.

  • Provides services to applications like networking, security, memory management, and so forth.

  • Manages execution of applications; this is the part that allows us to run multiple applications (seemingly) almost at the same time.

Figure 1-1 shows a logical diagram of Android’s system architecture; it is far from complete, since it doesn’t show all the apps, components, and libraries in the Android platform, but it should give you an idea on how things are organized.
../images/457413_2_En_1_Chapter/457413_2_En_1_Fig1_HTML.jpg
Figure 1-1

Platform architecture

The lowest level in the diagram is the one responsible for interfacing with the hardware, various services like memory management, and executions of processes. This part of the Android OS is Linux. Linux is a very stable OS and is quite ubiquitous itself. You can find it in many places like server hardware on data centers, appliances, medical devices, and so forth. Android uses Linux which handles hardware interfacing and some other kernel functions.

On top of the Linux kernel are low-level libraries like SQLite, OpenGL, and so on. These are not part of the Linux kernel but are still low level and as such are written mostly in C/C++. On the same level, you will find the Android Runtime which is where Android applications are run.

Next up is the application framework layer. It sits on top of both the low-level libraries and the Android Runtime because it needs both. This is the layer that we will interact with as an application developer because it contains all the libraries we need to write apps.

Finally, on top is the application layer. This is where all our apps reside, both the ones we write and the ones that come prebuilt with the OS. It should be pointed out that prebuilt applications which come with the device do not have any special privileges over the ones we will write. If you don’t like the email app of the phone, you can write your own and replace it. Android is democratic like that.

Summary

  • Android has gone a long way, from the clunky Cupcake version to Android 10, which is very advanced and provides a buttery smooth user experience. Android’s release cadence was frenetic during the early years, but it has since subsided and settled on a more uniform 12-month cycle.

  • Android isn’t just an OS, it also includes an application framework, software development kit, prebuilt applications, and a reference design.

  • Android uses the Linux OS for interfacing with hardware, memory management, and executions of processes.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.191.228.88