Home > Store

Introduction to Android Application Development: Android Essentials, 5th Edition

Register your product to gain access to bonus material or receive a coupon.

Introduction to Android Application Development: Android Essentials, 5th Edition

eBook (Watermarked)

  • Your Price: $31.99
  • List Price: $39.99
  • Includes EPUB and PDF
  • About eBook Formats
  • This eBook includes the following formats, accessible from your Account page after purchase:

    ePub EPUB The open industry format known for its reflowable content and usability on supported mobile devices.

    Adobe Reader PDF The popular standard, used most often with the free Adobe® Reader® software.

    This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.


  • Copyright 2016
  • Dimensions: 7" x 9"
  • Pages: 704
  • Edition: 5th
  • eBook (Watermarked)
  • ISBN-10: 0-13-438966-2
  • ISBN-13: 978-0-13-438966-0

What Every Android App Developer Should Know Today: Android 6 Tools, App/UI Design, Testing, Publishing, and More

Introduction to AndroidApplication Development, Fifth Edition, is the most useful real-world guide to building robust, commercial-grade Android apps with the new Android 6 SDK, Android Studio, and latest development best practices. Bigger, better, and more comprehensive than ever, this book covers everything you need to start developing professional apps for modern Android devices. If you’re serious about Android development, this guide will prepare you to build virtually any app you can imagine!

Three well-respected experts guide you through setting up your development environment, designing user interfaces, developing for diverse devices, and optimizing your entire app-development process. Up-to-date code listings support in-depth explanations of key API features, and many chapters contain multiple sample apps.

This fifth edition adds brand-new chapters on material design, styling applications, design patterns, and querying with SQLite. You’ll find a treasure trove of Android Studio tips, plus a brand-new appendix on the Gradle build system. This edition also offers

  • Updated coverage of the latest Android 5.1 and 6 APIs, tools, utilities, and best practices
  • New coverage of the Android 6.0 permission model
  • Powerful techniques for integrating material design into your apps
  • An all-new chapter on using styles and reusing common UI components
  • Extensive new coverage of app design, architecture, and backward compatibility
  • A full chapter on using SQLite with persistent database-backed app data
  • Revised quiz questions and exercises to test your knowledge 

Download this book’s source code at informit.com/title/9780134389455 or introductiontoandroid.blogspot.com.

Sample Content

Table of Contents

Acknowledgments xxxi

About the Authors xxxiii

Introduction 1

Part I: Platform Overview

Chapter 1: Presenting Android 11

The Android Open Source Project (AOSP) 11

The Open Handset Alliance 12

Android Platform Uniqueness 16

The Android Platform 21

Android beyond the OHA and GMS 26

Summary 28

Quiz Questions 28

Exercises 28

References and More Information 29

Chapter 2: Setting Up for Development 31

Configuring Your Development Environment 31

Exploring the Android SDK 38

Summary 48

Quiz Questions 48

Exercises 48

References and More Information 48

Chapter 3: Creating Your First Application 51

Testing Your Development Environment 51

Building Your First Android Application 57

Summary 73

Quiz Questions 74

Exercises 74

References and More Information 74

Part II: Application Basics

Chapter 4: Understanding Application Components 77

Mastering Important Android Terminology 77

The Application Context 78

Performing Application Tasks with Activities 80

Organizing Activity Components with Fragments 85

Managing Activity Transitions with Intents 87

Working with Services 90

Receiving and Broadcasting Intents 91

Summary 92

Quiz Questions 92

Exercises 93

References and More Information 93

Chapter 5: Defining the Manifest 95

Configuring Android Applications Using the Android Manifest File 95

Managing Your Application’s Identity 99

Enforcing Application System Requirements 100

Registering Activities in the Android Manifest 103

Working with Permissions 105

Exploring Other Manifest File Settings 109

Summary 109

Quiz Questions 109

Exercises 110

References and More Information 110

Chapter 6: Managing Application Resources 111

What Are Resources? 111

Adding Simple Resource Values in Android Studio 116

Working with Different Types of Resources 120

Working with Layouts 140

Referencing System Resources 144

Summary 145

Quiz Questions 146

Exercises 146

References and More Information 146

Chapter 7: Exploring Building Blocks 147

Introducing Android Views and Layouts 147

Displaying Text to Users with TextView 148

Retrieving Data from Users with Text Fields 152

Giving Users Choices Using Spinner Controls 157

Allowing Simple User Selections with Buttons and Switches 159

Retrieving Dates, Times, and Numbers from Users with Pickers 166

Using Indicators to Display Progress and Activity to Users 168

Adjusting Progress with Seek Bars 171

Other Valuable User Interface Controls 173

Summary 177

Quiz Questions 177

Exercises 177

References and More Information 178

Chapter 8: Positioning with Layouts 179

Creating User Interfaces in Android 179

Organizing Your User Interface 184

Using Built-in Layout Classes 185

Using Container Control Classes 203

Summary 210

Quiz Questions 210

Exercises 211

References and More Information 211

Chapter 9: Partitioning with Fragments 213

Understanding Fragments 213

Using the Android Support Library Package 228

Additional Ways to Use Fragments 231

Summary 232

Quiz Questions 232

Exercises 233

References and More Information 233

Part III: Application Design Essentials

Chapter 10: Architecting with Patterns 237

Architecting Your Application’s Navigation 237

Encouraging Action 251

Summary 267

Quiz Questions 267

Exercises 267

References and More Information 268

Chapter 11: Appealing with Style 269

Styling with Support 269

Themes and Styles 269

Colors 272

Layout 273

Application Branding 278

The Results Applied 280

Typography 280

Summary 282

Quiz Questions 282

Exercises 283

References and More Information 283

Chapter 12: Embracing Material Design 285

Understanding Material 285

The Default Material Theme 286

The SampleMaterial Application 286

Implementing the SampleMaterial Application 286

Summary 317

Quiz Questions 317

Exercises 317

References and More Information 318

Chapter 13: Designing Compatible Applications 319

Maximizing Application Compatibility 319

Designing User Interfaces for Compatibility 321

Providing Alternative Application Resources 324

Targeting Tablets and TVs 336

Extending Your Application to Watches and Cars 338

Ensuring Compatibility with SafetyNet 339

Summary 340

Quiz Questions 340

Exercises 341

References and More Information 341

Part IV: Application Development Essentials

Chapter 14: Using Android Preferences 345

Working with Application Preferences 345

Finding Preferences Data on the File System 349

Creating Manageable User Preferences 350

Auto Backup for Android Applications 359

Summary 361

Quiz Questions 361

Exercises 361

References and More Information 362

Chapter 15: Accessing Files and Directories 363

Working with Application Data on a Device 363

Practicing Good File Management 364

Understanding Android File Permissions 365

Working with Files and Directories 366

Summary 375

Quiz Questions 375

Exercises 375

References and More Information 376

Chapter 16: Saving with SQLite 377

SampleMaterial Upgraded with SQLite 377

Working with Databases 377

Summary 390

Quiz Questions 390

Exercises 391

References and More Information 391

Chapter 17: Leveraging Content Providers 393

Exploring Android’s Content Providers 393

Modifying Content Provider Data 402

Using Third-Party Content Providers 406

Summary 406

Quiz Questions 406

Exercises 407

References and More Information 407

Part V: Application Delivery Essentials

Chapter 18: Learning the Development Workflow 411

An Overview of the Android Development Process 411

Choosing a Software Methodology 412

Gathering Application Requirements 413

Assessing Project Risks 421

Writing Essential Project Documentation 425

Leveraging Configuration Management Systems 426

Designing Android Applications 427

Developing Android Applications 430

Testing Android Applications 431

Deploying Android Applications 432

Supporting and Maintaining Android Applications 433

Summary 434

Quiz Questions 435

Exercises 435

References and More Information 435

Chapter 19: Planning the Experience 437

Thinking about Objectives 437

Techniques for Focusing Your Product Efforts 439

Communicating Your Application’s Identity 442

Designing Screen Layouts 443

Reacting Properly with Visual Feedback 444

Observing Target Users for Usability 445

Summary 446

Quiz Questions 446

Exercises 447

References and More Information 447

Chapter 20: Delivering Quality Applications 449

Best Practices in Delivering Quality Applications 449

Avoiding Silly Mistakes in Android Application Design 459

Best Practices in Delivering Quality Android Applications 459

Summary 464

Quiz Questions 465

Exercises 465

References and More Information 465

Chapter 21: Testing Your Applications 467

Best Practices in Testing Mobile Applications 467

Android Application Testing Essentials 479

More Android Automated Testing Programs and APIs 496

Summary 497

Quiz Questions 497

Exercises 498

References and More Information 498

Chapter 22: Distributing Your Applications 499

Choosing the Right Distribution Model 499

Packaging Your Application for Publication 502

Publishing to Google Play 509

Google Play Staged Rollouts 518

Publishing to the Google Play Private Channel 518

Translating Your Application 519

Publishing Using Other Alternatives 520

Self-Publishing Your Application 520

Summary 522

Quiz Questions 522

Exercises 522

References and More Information 523

Part VI: Appendixes

Appendix A: Tips and Tricks: Android Studio 527

Organizing Your Android Studio Workspace 527

Writing Code in Java 533

Resolving Mysterious Build Errors 537

Summary 537

Quiz Questions 538

Exercises 538

References and More Information 538

Appendix B: Quick-Start: Android Emulator 539

Simulating Reality: The Emulator’s Purpose 539

Working with Android Virtual Devices 541

Launching the Emulator with a Specific AVD 548

Configuring the GPS Location of the Emulator 555

Calling between Two Emulator Instances 557

Messaging between Two Emulator Instances 558

Interacting with the Emulator through the Console 559

Personalizing the Emulator 563

Understanding Emulator Limitations 563

Summary 565

Quiz Questions 565

Exercises 565

References and More Information 565

Appendix C: Quick-Start: Android Device Monitor 567

Using Device Monitor with Android Studio and as a Stand-Alone Application 567

Getting Up to Speed Using Key Features of Device Monitor 568

Working with Processes, Threads, and the Heap 569

Using the Allocation Tracker 573

Viewing Network Statistics 574

Working with the File Explorer 575

Working with the Emulator Control 578

Working with the System Information Pane 580

Taking Screen Captures of the Emulator and Device Screens 580

Working with Application Logging 581

Summary 582

Quiz Questions 583

Exercises 583

References and More Information 583

Appendix D: Mastery: Android SDK Tools 585

Using the Android Documentation 585

Leveraging the Android Emulator 588

Viewing Application Log Data with logcat 589

Debugging Applications with Device Monitor 590

Using Android Debug Bridge (ADB) 591

Using the Layout Editor 591

Using the Android Hierarchy Viewer 592

Working with Nine-Patch Stretchable Graphics 596

Working with Other Android Tools 597

Summary 600

Quiz Questions 600

Exercises 600

References and More Information 601

Appendix E: Quick-Start: Gradle Build System 603

Gradle Build Files 603

Using Android Studio to Configure Your Builds 609

Summary 620

Quiz Questions 620

Exercises 621

References and More Information 621

Appendix F: Answers to Quiz Questions 623

Index 631


Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information

To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.


Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.


If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information

Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.


This site is not directed to children under the age of 13.


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information

If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information

Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents

California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure

Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact

Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice

We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020