current state. You will learn about the features of Android devices, as well as some of the popular
devices on the market. You will also learn how to download and install all the required tools to
develop Android applications and then test them on the Android emulator.
Chapter 2: Activities, Fragments, and Intents gets you acquainted with these three fundamental
concepts in Android programming. Activities and fragments are the building blocks of an Android
application. You will learn how to link activities together to form a complete Android application
using intents, one of the unique characteristics of the Android OS.
Chapter 3: Getting to Know the Android User Interface covers the various components that make
up the UI of an Android application. You will learn about the various layouts you can use to build
the UI of your application, and the numerous events that are associated with the UI when users
interact with the application.
Chapter 4: Designing Your User Interface with Views walks you through the various basic views
you can use to build your Android UI. You will learn three main groups of views: basic views,
picker views, and list views. You will also learn about the specialized fragments available in
Android 3.0 and 4.0.
Chapter 5: Displaying Pictures and Menus with Views continues the exploration of views. Here,
you will learn how to display images using the various image views, as well as display options and
context menus in your application. This chapter ends with some additional cool views that you can
use to spice up your application.
Chapter 6: Data Persistence shows you how to save, or store, data in your Android application.
In addition to learning the various techniques to store user data, you will also learn fi le manipulation
and how to save fi les onto internal and external storage (SD card). In addition, you will learn how to
create and use a SQLite database in your Android application.
Chapter 7: Content Providers discusses how data can be shared among different applications on an
Android device. You will learn how to use a content provider and then build one yourself.
Chapter 8: Messaging explores two of the most interesting topics in mobile programming —
sending SMS messages and e-mail. You will learn how to programmatically send and receive SMS
and e-mail messages, and how to intercept incoming SMS messages so that the built-in Messaging
application will not be able to receive any messages.
Chapter 9: Location-Based Services demonstrates how to build a location-based service application
using Google Maps. You will also learn how to obtain geographical location data and then display
the location on the map.
Chapter 10: Networking explores how to connect to web servers to download data. You will see
how XML and JSON web services can be consumed in an Android application. This chapter also
explains sockets programming, and you will learn how to build a chat client in Android.
Chapter 11: Developing Android Services demonstrates how you can write applications using
services. Services are background applications that run without a UI. You will learn how to run
your services asynchronously on a separate thread, and how your activities can communicate
Chapter 12: Publishing Android Applications discusses the various ways you can publish your
Android applications when you are ready. You will also learn about the necessary steps to
publishing and selling your applications on the Android Market.
Appendix A: Using Eclipse for Android Development provides a brief overview of the many features
Appendix B: Using the Android Emulator provides some tips and tricks on using the Android
emulator for testing your applications.
Appendix C: Answers to Exercises contains the solutions to the end-of-chapter exercises found in