Apress Access

Pro Android 3

3rd Edition

By Satya Komatineni , Dave MacLean , Sayed Hashimi

  • eBook Price: $34.99
Buy eBook Buy Print Book
Pro Android 3 shows you how to build real-world and fun mobile applications using the third iteration of Android's software development kit. This book covers everything from the fundamentals of building applications for embedded devices to advanced concepts such as custom 3D components.

Full Description

  • Add to Wishlist
  • ISBN13: 978-1-4302-3222-3
  • 1200 Pages
  • User Level: Intermediate to Advanced
  • Publication Date: April 20, 2011
  • Available eBook Formats: EPUB, MOBI, PDF

Related Titles

  • Android Recipes, Fifth Edition
  • Go Recipes
  • Beginning Hibernate, 4th Edition
  • Appium Recipes
Full Description

Pro Android 3 starts with the basics, giving you a firm foundation in Android development. It then builds on this foundation to teach you how to build real-world and fun mobile applications using the new Android 3.0 SDK. This book covers advanced concepts in detail including maps, geocoding, services, live folders, drag and drop, touchscreens, and the new Android 3.0 features: fragments and ActionBar. Pro Android 3 is uniquely comprehensive: it covers sensors, text to speech, OpenGL, live widgets, search, and the audio and video APIs.

Using the code-heavy tutorials and expert advice, you’ll quickly be able to build cool mobile apps and run them on dozens of Android-based smartphones. You’ll explore and use the Android APIs, including those for media, sensors, and long-running services. And you’ll check out what’s new with Android 3.0, including the improved UI across all Android platforms, drag and drop, fragment dialogs, and more, giving you the knowledge to create stunning, cutting-edge apps, while keeping you agile enough to respond to changes in the future.

What you’ll learn

  • How to use Android to build Java-based mobile applications for Google phones with a touch screen or keyboard
  • How to design and implement irresistible user interfaces for touch screens with Views and layouts
  • How to populate your application with data from data sources, using Content Providers
  • How Android works on the inside, so you better understand how to design great mobile apps
  • How to create 3D graphics with OpenGL and custom components
  • How to build multimedia apps using Android’s Media APIs
  • How to use Android’s location-based services, network-based services, and security
  • How to use new Android 3.0 features, such as fragments and the ActionBar

Who this book is for

This book is for professional software engineers/programmers looking to move their ideas and applications into the mobile space with Android. It assumes a passable understanding of Java, including how to write classes and handle basic inheritance structures.

Table of Contents

Table of Contents

  1. Introducing the Android Computing Platform
  2. Setting up your Development Environment
  3. Understanding Resources
  4. Understanding Content Providers
  5. Understanding Intents
  6. Building User Interfaces and Using Controls
  7. Adding Menus
  8. Implementing Dialogs
  9. Working with Preferences and Saving State
  10. Security and Permissions
  11. Working with Services
  12. Exploring Packages, Processes, and Library Projects
  13. Exploring Processes, Components, Threads, and Handlers
  14. Exploring Broadcast Receivers and Long Running Services
  15. Exploring the Alarm Manager
  16. Unveiling 2D Animation
  17. Exploring Maps and Location Services
  18. Using the Telephony APIs
  19. Understanding the Media Frameworks
  20. Programming 3D Graphics with OpenGL
  21. Exploring Live Folders
  22. Home Screen Widgets and Live Wallpaper
  23. Android Search
  24. Exploring Text to Speech and the Google Translate API
  25. Touchscreens
  26. Using Sensors
  27. Understanding the Contact API
  28. Deploying your Application: Android Market and Beyond
  29. Fragments
  30. Action Bar
  31. Selected Topics in Android 3.0
Source Code/Downloads

Downloads are available to accompany this book.

Your operating system can likely extract zipped downloads automatically, but you may require software such as WinZip for PC, or StuffIt on a Mac.


If you think that you've found an error in this book, please let us know by emailing to editorial@apress.com . You will find any confirmed erratum below, so you can check if your concern has already been addressed.

On page 49:

In listing 2-4, the closing bracket after extends SQLiteOpenHelper should be left out.

extends SQLiteOpenHelper {}
extends SQLiteOpenHelper {

On page 89:
It isn't made clear in the ContentProviders section that you only actually need to use them if you plan to share data between applications. When I read the ContentProviders javadoc it made it clear that if you want to store data just for a single application you can use SQLite directly.

On page 102:

Reference is made to the package android.providers.Contacts. This is actually a class not a package unless I am not understanding something correctly.

On page 104:

Listing 4-4 makes use of a queryBuilder object that is not defined in the listing. A note is given on page 105 about this. I'd recommend the note is before the listing otherwise for the uninitiated things get very confusing.

On page 105:
managedQuery signature shown on page does not match the one it refers to in listing 4-4 on page 104, there is an extra parameter.

On page 106:
Worth noting you should never use a direct string definition for columns when putting data in a ContentValues object. This may cause issues in future if the provider changes the name of columns.

On page 120:
Its would be a good idea on the Add A book section that some explanation is given and not just the listing. For example as this is teaching about providers I would have thought it should atleast state that the line

cr.insert(url, cv);

causes the resolver to resolve the uri to the resolver that has just been explained.

On page 128:

the showMapAtLatLong method causes a crash when it attempts startActivity(intent)

On page 139:
8th paragraph

Reads: MIME type that points to an Android content cursor.

Should be: MIME type that points to an Android content provider.


    1. Unboxing Android USB


      View Book

    2. Beginning AngularJS


      View Book

    3. Beginning Ruby


      View Book

    4. Pro Arduino


      View Book