velopment environment and building several simple applications of the well-known
"Hello World" type pioneered by Brian Kernighan.
Chapter 2, Designing a successful Application, covers some of the differences in mobile
computing that will hit developers coming from desktop and enterprise software en-
vironments, and talks about how mobile design (in particular Android design) differs
from those other environments.
Testing is often an afterthought for some developers, so we put this early on, in Chap-
ter 3, Testing. Not so you'll skip it, but so you'll read and heed. We talk about unit
testing individual components as well as testing out your entire application in a well-
In Chapter 4, Content Providers, we show you how to make an application that can be
used by other applications through something as simple but ubiquitous (in Android)
as the URL.
Chapter 5, Graphics, covers a range of topics related to graphics, including use of the
graphical drawing and compositing facilities in Android as well as using desktop tools
to develop graphical images, textures, icons, and so on that will be incorporated into
your finished application.
Every mobile app needs a GUI, so Chapter 6, Graphical User Interface, covers all the
ins and outs of GUI development for Android. Examples are given both in XML and
in hard-coded GUI development.
Chapter 7, GUI: ListView, focuses on one of the most important Graphical User Inter-
faces in Android, the ListView.
Android is rich in multimedia capabilities. Chapter 8, Multimedia, shows how.
Chapter 9, Data Persistence, shows how to save data into files, databases and so on.
And how to retreive it later, of course.
Android started out as an operating system for mobile telephones. Chapter 10, Tele-
phone Applications, shows how to control and react to the telephone device that is in
most mobile devices nowadays.
Mobile devices are, for the most part, always-on and always-connected. This has a
major impact on how people use them and think about them. Chapter 11, Networked
Applications, shows the coding for traditional networked applications. This is followed
by Chapter 12, Gaming and Animation, and Chapter 13, Social Networking.
The now-ubiquitous Global Positioning System has also had major implications on
how mobile applications work. Chapter 14, Location and Map Applications, discusses
how to find your location, how to get map data from Google and OpenStreetMap, and
how applications can be location-aware in ways that are just now being explored.
Chapter 15, Accellerometer, talks about the sensors built into most Android devices
and how to use them.
There may be a Chapter 16, Bluetooth, if there's enough to say about it, going way
beyond connecting your Bluetooth(TM) headset to your phone. This is followed by
Chapter 17, System and Device Control.
In Chapter 18, Other Programming Languages, we explore the use of other program-
ming languages to write all or part of your Android application. Examples include C,
Perl, Python, Lisp, and other languages.
While this book is in English, and English remains the #1 language worldwide, it is far
from the only one. And most end users would much rather have an application that
has its text in their language and its icons in a form that is culturally correct for them.
Chapter 19, Internationalization, goes over the issues of language and culture and how
it relates to Android.
Most Android developers hope that their applications will be used by other people. But
this won't happen unless users can find your application. Chapter 20, Packaging, de-
ploying and selling, shows how to prepare your application for distribution via the An-
droid Market, and to use that as well as other markets to get your application out to
the people that will use it.