Related Titles
- 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, youll quickly be able to build cool mobile apps and run them on dozens of Android-based smartphones. Youll explore and use the Android APIs, including those for media, sensors, and long-running services. And youll check out whats 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 youll 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 Androids Media APIs
- How to use Androids 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
- Introducing the Android Computing Platform
- Setting up your Development Environment
- Understanding Resources
- Understanding Content Providers
- Understanding Intents
- Building User Interfaces and Using Controls
- Adding Menus
- Implementing Dialogs
- Working with Preferences and Saving State
- Security and Permissions
- Working with Services
- Exploring Packages, Processes, and Library Projects
- Exploring Processes, Components, Threads, and Handlers
- Exploring Broadcast Receivers and Long Running Services
- Exploring the Alarm Manager
- Unveiling 2D Animation
- Exploring Maps and Location Services
- Using the Telephony APIs
- Understanding the Media Frameworks
- Programming 3D Graphics with OpenGL
- Exploring Live Folders
- Home Screen Widgets and Live Wallpaper
- Android Search
- Exploring Text to Speech and the Google Translate API
- Touchscreens
- Using Sensors
- Understanding the Contact API
- Deploying your Application: Android Market and Beyond
- Fragments
- Action Bar
- Selected Topics in Android 3.0
- Source Code/Downloads
- Errata
-
If you think that you've found an error in this book, please let us know about it. 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.
Change
extends SQLiteOpenHelper {}
to
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.




