You are on page 1of 7

Introducing the Android

Computing Platform
(0 votes)

Personal computing continues to become more personal in that computers are


becoming

increasingly

accessible

anytime,

anywhere.

At

the

forefront

of

this

advancement are handheld devices that are transforming into computing platforms.
Mobile phones are no longer just for talkingthey have been capable of carrying data
and video for some time. More signifi-cantly, the mobile device is now becoming so
capable of general-purpose computing that its destined to become the next PC. It is
also anticipated that a number of manufacturers such as ASUS, HP, and Dell will be
producing netbooks based on the Android OS. So the battle lines of operating systems,
computing platforms, programming languages, and development frame-works are being
shifted and reapplied to mobile devices.

We are also expecting a surge in mobile programming in the IT industry as more and
more IT applications start to offer mobile counterparts. To help you profit from this
trend, wellshow you how to use Java to write programs for devices that run on Googles
Android Platform (http://code.google.com/android/), an open source platform for
mobile development. We are excited about Android because it is an advanced platform
that introduces a number of new paradigms in framework design. In this chapter, well
provide an overview of Android and itsSDK, show you how to take advantage of Android
source code, and highlight the benefits of programming for the Android Platform.
The fact that hitherto dedicated devices such as mobile phones can now count themselves among other venerable general-computing platforms is great news for
programmers(see Figure 1-1). This new trend makes mobile devices accessible through
general-purpose com-puting languages and therefore increases the range and market
share

for

mobile

applications.

The Android Platform fully embraces this idea of general-purpose computing for handheld devices. It is indeed a comprehensive platform that features a Linux-based
operating system stack for managing devices, memory, and processes. Androids
libraries cover tele-phony, video, graphics, UI programming, and every other aspect of
the

physical

device.

The Android Platform, although built for mobile devices, exhibits the characteristics of a
full-featured desktop framework. Google makes this framework available to Java
programmers through a software development kit called the Android SDK. When you
are working with the Android SDK, you rarely feel that you are writing to a mobile
device because you have access to most of the class libraries that you use on a desktop
or

serverincluding

relational

database.

The Android SDK supports most of Java Platform, Standard Edition (Java SE) except for
the Abstract Window Toolkit (AWT) and Swing. In place of the AWT and Swing, the
Android SDK has its own extensive modern UI framework. Because youre programming
your applications in Java, you might expect to need a Java Virtual Machine (JVM) that is
responsible for interpreting the runtime Java bytecode. A JVM typically provides
necessary optimization to help Java reach performance levels comparable to compiled
languages such as C and C++. Android offers its own optimized JVM to run the
compiled Java class files in order to counter the handheld device limitations such as
memory, processor speed, and power. This virtual machine is called the Dalvik VM,
which well explore in the section Delving Into the Dalvik VM.

History of Android
Android was born on November 5, 2007. Since then, its grown up to be one of the most
dominant operating systems in the world. But that didnt just happen overnight. Like all of us,
Android went through some awkward years and learned some hard lessons before becoming the
OS it is today.

Cupcake (Android 1.5)


Android had some alphas and betas for T-Mobiles G1 before this release, but cupcake
was its first confectionary-named operating system. We got lots of fun stuff in this

update, including support for third-party virtual keyboards (oh yeah, no more hardware
keys!) and the ability to upload videos and photos to YouTube and Picasa. Oh, and it
also got widgets!
Cupcake made the T-Mobiles G1 something to behold (at least for 2009), but this was
just a humble beginning. Android had tons of work to do.
Donut (Android 1.6)

Android Donut was the OS that started making others forsake their Palm Pres and start
taking Android more seriously. This update brought along universal search, text-tospeech superpowers and CDMA compatibility (hello, Verizon).
The update began pushing out to all possible handsets on October 1, 2009.
Eclair (Android 2.0)
For Eclair, the camera got a little TLC with some much needed flash support, digital zoom, and
white balance features to name a few, and how about them live wallpapers! Google also put
some thought into a smarter keyboard that could select contact names as suggestions. Not the
biggest update in Androids history, but perhaps one the more deliciously named.
Froyo (Android 2.2)
The design was still a little clunky compared to the more streamlined and elegant competition,
but simple things like adding a bottom dock for quick access to the dialer and app drawer
started showing how Android was making a slow crawl toward user friendliness.
Gingerbread (Android 2.3)

Where the last few updates had been all about function, Google finally took a moment to
look at form in late 2010. The user interface was overhauled with a darker theme that
also continued Androids speed uptick. But that didnt mean new features completely
disappeared. Android added support for NFC, the super useful download manager, and
even simple things like improved copy and paste.

Unfortunately, this was when software skinning was in full swing and stock Android
began to recede into the background. Only a handful of handsets, like the Google Nexus
S, the Nexus One, and the T-Mobile G2, even saw these changes as designed above.
Honeycomb (Android 3.0)
Honeycomb primarily focused on one thing and one thing onlytablets. The iPad released only
months earlier in the fall of 2010, and Android needed an OS that could compete in a bigger
form factor not fit for your pocket. This included what Google called a Holographic interface
and a more intuitive keyboard for bigger devices.
Ice Cream Sandwich (Android 4.0)

ICS reoriented toward the mobile phone with an updated interface and the complete
dissolution of hardware buttons. This means we finally got the actions bar and the everimportant recent apps button (how did we ever live without it?!). The design was really a
merger of Androids tablet OS (Honeycomb) and the mobile OS (Gingerbread, Froyo, et
al). Apps were more powerful, multitasking was now front and center, and you could
start to really see the computer-class power that were being packed inside smartphones.
In fact, we were so impressed that we called it Androids most significant upgrade to
date.
The modern Android was coming together.
Jelly Bean (Android 4.1)

GOOGLE NOW! Seriously, its my favorite feature of Android and was the release where
I started looking at my iPhone 3GS with disdain. Jellybean had a super-improved voice
assistant when searching and notifications finally didnt suck, offering much more
context from the drop-down menu.
The homescreen also got revamped because now widgets could be resized and placed
anywhere. Android was more customizable and powerful than ever.
KitKat (Android 4.4)

It would be more than a year until Android moved on to its next big release (though
Jellybean was continuously upgraded up until the summer of 2013) and launched its
KitKat update with the Nexus 5 on Halloween in 2013. Google Now was now better than
ever with some prescient abilities that tried to guess what users wanted before they even
asked, and Hangouts was upgraded with some much-needed SMS capabilities.
Most importantly, KitKat slimmed down the OSs footprint, meaning devices with only
512MB of RAM could run the OS smoothly. This came in handy for Androids push into
cheaper phone markets with its Android One program.
Lollipop (Android 5.0)

Hello Lollipop and hello modern Android. Lollipops biggest claim to fame was its
dramatic reimagining of the Android operating system that started all the way back with
Ice Cream Sandwich. Icons, animations, and the multitasking menu were completely
redone with Googles Material Design approach, and the Android lockscreen became
much more useful with better notification integration. Google continued opening up
Google Now to third-party developers and thankfully added silent mode back in for
notifications.
This was the the design future for Android, and one that Google continues today.
Marshmallow (Android 6.0)
And now we finally arrive at Android Marshmallow, which is all about maintenance and not so
much a makeover. But it does come with some awesome additions, including a new way of
handling app permissions, a new and improved Google Now, and official fingerprint sensor
support. Googles also improved battery life with Doze and bundling in the Android Sensor Hub
in its latest Nexus smartphones, meaning you should be able to survive the day without needing
to pull out a charging cable.

Android Architecure
android architecture or Android software stack is categorized into five parts:

1. linux kernel
2. native libraries (middleware),
3. Android Runtime
4. Application Framework
5. Applications

1) Linux kernel
It is the heart of android architecture that exists at the root of android architecture. Linux
kernel is responsible for device drivers, power management, memory management, device
management and resource access.

2) Native Libraries
On the top of linux kernel, their are Native libraries such as WebKit, OpenGL, FreeType,
SQLite, Media, C runtime library (libc) etc.
The WebKit library is responsible for browser support, SQLite is for database, FreeType for
font support, Media for playing and recording audio and video formats.

3) Android Runtime
In android runtime, there are core libraries and DVM (Dalvik Virtual Machine) which is
responsible to run android application. DVM is like JVM but it is optimized for mobile
devices. It consumes less memory and provides fast performance.

4) Android Framework
On the top of Native libraries and android runtime, there is android framework. Android
framework includes Android API'ssuch as UI (User Interface), telephony, resources,
locations, Content Providers (data) and package managers. It provides a lot of classes and
interfaces for android application development.

5) Applications
On the top of android framework, there are applications. All applications such as home,
contact, settings, games, browsers are using android framework that uses android runtime
and libraries. Android runtime and native libraries are using linux kernal.

You might also like