Synopses & Reviews
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.
Review
“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
Synopsis
Learning Android Application Programming teaches those who have some programming experience how to build a state of the art Android application from the ground up, while utilizing the latest Android SDK and tool set. Readers will find a beginner Android application development tutorial that offers a series of easy, step by step lessons focused on learning by doing. This book helps anyone with a web development background get started with the powerful functionality of Android development. The book offers a complete picture of the Android Application development lifecycle using Java, from start to finish.
Readers will get a comprehensive overview of the Android platform learning all about the Android SDK and understand how applications can be sold using both Google Play and the Amazon App Market.
A step by step tutorial covering how to develop a fully-functioning application for bicyclists that can take the place of a bike computer is included. Readers will learn all about Android's programming building blocks including Activities, Intents, Services, Resources, threading and databases.
All project files and code will be on the associated website, and will be open source. In addition, the web site will have the completed application itself as well as additional exercises and questions for classroom use.
About the Author
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. He cowrote Object-Oriented Programming with ActionScript 2.0 (New Riders Press, 2004) and Adobe Flex 3: Training from the Source (Adobe Press, 2008). He has also recorded training videos for Lynda.com and Total Training as well as spent extensive time teaching in the classroom. He has extensive knowledge of all Adobe web products and has spoken at numerous conferences.
Justin Mclean has been writing code since the early days of the web. For fifteen years he has managed his own consulting company, Class Software, and during that time he has worked on hundreds of browser, desktop, and mobile applications. He has seen significant changes of technology in the industry, surviving the browser wars and the dot-com bubble. He is an Apache Flex committer, board member and release manager; an Adobe Community Professional; teaches training courses; and has spoken at numerous conferences all over the world. In his spare time he tinkers about with open source electronics.
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