Learning Android Application Programming: A Hands-on Guide To Building Android Applications by James TalbotLearning Android Application Programming: A Hands-on Guide To Building Android Applications by James Talbot

Learning Android Application Programming: A Hands-on Guide To Building Android Applications

byJames Talbot, Justin Mclean, Jorge Hernandez

Paperback | December 26, 2013

Pricing and Purchase Info

$36.65 online 
$41.99 list price
Earn 183 plum® points

Prices and offers may vary in store

Out of stock online

Available in stores


Learning Android™ Application Programming will help you master modern Android programming by building a fully functional app from the ground up. Working with the Android 4.3 toolset, you’ll solve real-world problems faced by every Android developer and learn best practices for success with any mobile development project.

Ideal for developers who have little or no Android experience but have basic Java experience, this tutorial teaches through carefully structured exercises that address the entire development process. Leading Android developers James Talbot and Justin McLean guide you through building a real biking mobile app that can handle everything from mileage tracking to route planning. Each chapter builds your knowledge, step-by-step, and in the end you will have a complete, working app.

Along the way, you’ll gain hands-on experience with writing code that can run on the widest spectrum of devices while still leveraging Android’s newest features. You’ll also discover proven solutions for the occasionally messy realities of Android development, from inaccurate sensor data to inadequate device battery life–pitfalls that most other Android books ignore.


Learn how to

  • Set up your Android development environment on Windows or Mac operating systems
  • Quickly create a simple, working app that demonstrates basic Android principles
  • Master core building blocks, such as Activities, Intents, Services, and Resources
  • Build a functional user interface, and then make it more intuitive and usable
  • Professionally style your Android app
  • Make your app location-aware
  • Integrate social networking features
  • Build highly efficient threaded apps
  • Integrate database support to read and write data
  • Make your app run faster, while using less memory and power
  • Efficiently test and debug your app
  • Easily internationalize your app for multiple countries and languages
  • Sell your app through Google Play and the Amazon AppStore
  • Get all of this book’s sample code at www.androiddevbook.com/code.html.


    Register your book at informit.com/register to gain access to the Bonus KitKat Chapter.

    Download the free version of this book’s On Your Bike app from Google Play today.

James Talbot has been with Adobe for more than a decade, on both the sales engineering and training teams, and has many years of experience working with web applications. He is currently working on constructing exciting web, mobile web, and Android applications built on top of a Java Content Repository based on open source standards. ...
Title:Learning Android Application Programming: A Hands-on Guide To Building Android ApplicationsFormat:PaperbackDimensions:416 pages, 9 × 7 × 0.88 inPublished:December 26, 2013Publisher:Pearson EducationLanguage:English

The following ISBNs are associated with this title:

ISBN - 10:0321902939

ISBN - 13:9780321902931


Table of Contents

Preface xix
Acknowledgments xxi
About the Authors xxiii


Chapter 1: An Introduction to Android Development 1
Understanding the Android Difference 2
Building Native Applications 2
Understanding the History of Android 3
Using the Android User Interface 8
Understanding Android Applications 10
Introducing Google Play 10
Summary 12


Chapter 2: Kicking the Tires: Setting Up Your Development Environment 13
Installing the Java JDK and JRE on Windows 14
Installing the Eclipse IDE on Windows 16
Installing the Android SDK on Windows 19
Installing and Using Java on a Mac 24
Summary 27


Chapter 3: Putting On the Training Wheels: Creating Your First Android Application 29
Creating an Android Application 29
Running Your Android Project 32
Working with Lint in an Android Project 37
Understanding the Android Project Files 37
Summary 50


Chapter 4: Going for Your First Ride: Creating an Android User Interface 51
Refactoring Your Code 51
Implementing Strict Mode 54
Creating a Simple User Interface 55
Understanding the Activity Lifecycle 68
Making an Android Device Vibrate 72
Saving User Preferences 74
Summary 80


Chapter 5: Customizing Your Bike: Improving Android Application Usability 81
Refactoring Your Code 82
Improving the Setting Activity 88
Action Bars and Menus 94
Using Notifications 101
Creating a Database 107
Summary 122


Chapter 6: Pimping Your Bike: Styling an Android Application 125
Refactoring Your Application 126
Understanding Screen Differences 126
Making Your Application Resolution Independent 129
Using Configuration Qualifiers 132
Using Styles and Themes 149
Summary 162


Chapter 7: Are We There Yet? Making Your Application Location Aware 165
Refactoring Your Code 165
Finding the Device’s Location 169
Dealing with Inaccurate Location Data 190
Storing GPS Data 196
Displaying GPS Data 209
Summary 220


Chapter 8: Inviting Friends for a Ride: Social Network Integration 223
Refactoring Your Code 223
Integrating Photos into an Android Application 224
Sharing Content with Friends 242
Summary 248


Chapter 9: Tuning Your Bike: Optimizing Performance, Memory, and Power 249
Refactoring Your Code 249
Running Your Application as a Service 250
Improving Battery Life 267
Speeding Up Databases 278
Summary 284


Chapter 10: Taking Off the Training Wheels: Testing Your Application 285
Refactoring Your Code 285
Testing with JUnit 286
Testing with Android JUnit Extensions 299
Testing Services 310
Using Monkey Testing 313
Running Tests Automatically 316
Testing on a Wide Range of Devices 323
Summary 325


Chapter 11: Touring France: Optimizing for Various Devices and Countries 327
Refactoring Your Code 327
Going International 329
Accommodating Various Dialects 342
Handling Various Language Formats 344
Enabling Backward Compatibility 348
Building for Various Screen Sizes 352
Using Fragments 355
Summary 361


Chapter 12: Selling Your Bike: Using Google Play and the Amazon Appstore 363
Building Your Media Strategy 363
Employing Advertising in Your Application 369
Using the Amazon Appstore 373
Summary 376


Index 377

Editorial Reviews

“James Talbot and Justin McLean have done excellent work creating this beginner’s tutorial. The hands-on focus of the book takes the reader from installing the development environment to writing the app and finally publishing the app. Topics include what most developers would want to know, from basic app structure and function, styling the app, testing and optimization, to using social media.” --Matthew Boles, learning specialist, Brightcove Inc.   “Learning Android™ Application Programming is a treasure trove of holistic information on developing applications for Android devices. It should satisfy those who prefer detailed descriptions as well as those who enjoy a book chock full of high-quality code samples. This book is a one-stop shop to take the reader from zero to app publish via a most relevant sample application. Throughout the book, the sample app is built, refactored, and optimized as the reader picks up all the necessary concepts and skills needed to become a true Android developer. Outstanding work, Justin and James!” --Jun Heider, senior architect and development manager, RealEyes Media   “A unique book that iteratively covers every aspect–requirements, design, developing, testing, and publishing–of a production-grade Android application.” --Romin Irani, owner, Mind Storm Software   “Learning Android™ Application Programming covers a rich variety of commonly encountered scenarios when approaching the Android development platform. Newcomers can step through the provided examples in an easily approachable format, while those who are more familiar with Android will find many useful nuggets scattered throughout. Everything is written in an understandable way and demonstrated through concrete examples, which can be immediately applied to a multitude of projects–great stuff!” --Joseph Labrecque, senior interactive software engineer, University of Denver