Android Development Notes
Android Development Notes
Android is an operating system. That is, it’s software that connects hardware to
software and provides general services. But more than that, it’s a mobile specific
operating system: an OS designed to work on mobile (read: handheld, wearable,
carry-able) devices.
Note that the term “Android” also is used to refer to the “platform” (e.g., devices
that use the OS) as well as the ecosystem that surrounds it. This includes the
device manufacturers who use the platform, and the applications that can be built
and run on this platform. So “Android Development” technically means developing
applications that run on the specific OS, it also gets generalized to refer to
developing any kind of software that interacts with the platform.
1.1 Android History
If you’re going to develop systems for Android, it’s good to have some familiarity
with the platform and its history, if only to give you perspective on how and why
the framework is designed the way it is.
2003: The platform was originally founded by a start-up “Android Inc.” which aimed
to build a mobile OS operating system (similar to what Nokia’s Symbian was doing at
the time)
2005: Android was acquired by Google, who was looking to get into mobile
2007: Google announces the Open Handset Alliance, a group of tech companies working
together to develop “open standards” for mobile platforms. Members included phone
manufacturers like HTC, Samsung, and Sony; mobile carriers like T-Mobile, Sprint,
and NTT DoCoMo; hardware manufacturers like Broadcom and Nvidia; and others. The
Open Handset Alliance now (2017) includes 86 companies.
Note this is the same year the first iPhone came out!
2008: First Android device is released: the HTC Dream (a.k.a. T-Mobile G1)
Specs: 528Mhz ARM chip; 256MB memory; 320x480 resolution capacitive touch; slide-
out keyboard! Author’s opinion: a fun little device.
2010: First Nexus device is released: the Nexus One. These are Google-developed
“flagship” devices, intended to show off the capabilities of the platform.
Specs: 1Ghz Scorpion; 512MB memory; .37" at 480x800 AMOLED capacitive touch.
For comparison, the iPhone 7 Plus (2016) has: 2.34Ghz dual core A10 64bit Fusion;
3GB RAM; 5.5" at 1920x1080 display.
As of 2016, this program has been superceded by the Pixel range of devices.
In short, Google keeps pushing the platform wider so it includes more and more
capabilities.
In any of these analyses there are some questions about what exactly is counted…
but what we care about is that there are a lot of Android devices out there! And
more than that: there are a lot of different devices!
1.1.1 Android Versions
Android has gone through a large number of “versions” since it’s release:
You can check out an interactive version of the history through Marshmallow at
https://www.android.com/history/
For current usage breakdown, see https://developer.android.com/about/dashboards/
Additionally, Android is an “open source” project released through the “Android
Open Source Project”, or ASOP. You can find the latest version of the operating
system code at https://source.android.com/; it is very worthwhile to actually dig
around in the source code sometimes!
While new versions are released fairly often, this doesn’t mean that all or even
many devices update to the latest version. Instead, users get updated phones
historically by purchasing new devices (every 18m on average in US). Beyond that,
updates—including security updates—have to come through the mobile carriers,
meaning that most devices are never updated beyond the version that they are
purchases with.