You are previewing Introduction to Android™ Application Development: Android Essentials, Fourth Edition.
O'Reilly logo
Introduction to Android™ Application Development: Android Essentials, Fourth Edition

Book Description

Bonus KitKat material is available for download at www.informit.com/title/9780321940261

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

This fully reworked edition of a proven title is the most useful real-world guide to building robust, commercial-grade Android™ apps. The content is revised and updated for the latest Android 4.3 SDK and the newest development best practices. Introduction to AndroidApplication Development: Android Essentials, Fourth Edition, covers all you need to quickly start developing professional apps for today’s Android devices. Three expert developers guide you through setting up your development environment, designing user interfaces, developing for diverse devices, and optimizing your entire app-development process–from design through publication. Updated throughout, this title includes extensive coverage of the most useful new Android tools and utilities. It adds an all-new chapter on planning an amazing Android app user experience, plus extensive new coverage of unit testing, dialogs, preferences, and app publishing. Throughout, key concepts are taught through clear, up-to-date example code.

This edition offers

  • Fully updated introductions to the latest Android 4.3 APIs, tools, utilities, and best practices

  • Up-to-date strategies for leveraging new Android capabilities while preserving compatibility

  • Navigation patterns and code samples for delivering more intuitive user experiences

  • Example-based explanations of ActionBars, DialogFragments, and other key concepts

  • Expert automated testing techniques to quickly improve code quality

  • New Google Play Developer Console app publishing techniques that also offer more control 

  • For Android developers at all levels of experience, this reference is now more valuable than ever. Students, instructors, and self-learners will especially appreciate new chapter-ending questions and exercises, carefully designed to test knowledge and deepen mastery.

    Annuzzi has released new source code samples for use with Android Studio. The code updates are posted to the associated blog site: http://introductiontoandroid.blogspot.com/

    Note: This revamped, newly titled edition is a complete update of Android™ Wireless Application Development, Volume I: Android Essentials, Third Edition

    Table of Contents

    1. Contents
    2. Introduction
      1. Who Should Read This Book
      2. Key Questions Answered in This Book
      3. How This Book Is Structured
      4. An Overview of Changes in This Edition
      5. Development Environment Used in This Book
      6. Supplementary Materials Available
      7. Where to Find More Information
      8. Conventions Used in This Book
      9. Contacting the Authors
    3. I: An Overview of the Android Platform
      1. 1. Introducing Android
        1. A Brief History of Mobile Software Development
        2. The Open Handset Alliance
        3. Android Platform Differences
        4. The Android Platform
        5. Summary
        6. Quiz Questions
        7. Exercises
        8. Answers to Quiz Questions
        9. References and More Information
      2. 2. Setting Up Your Android Development Environment
        1. Configuring Your Development Environment
        2. Exploring the Android SDK
        3. Summary
        4. Quiz Questions
        5. Exercises
        6. Answers to Quiz Questions
        7. References and More Information
      3. 3. Writing Your First Android Application
        1. Testing Your Development Environment
        2. Building Your First Android Application
        3. Summary
        4. Quiz Questions
        5. Exercises
        6. Answers to Quiz Questions
        7. References and More Information
    4. II: Android Application Basics
      1. 4. Understanding the Anatomy of an Android Application
        1. Mastering Important Android Terminology
        2. The Application Context
        3. Performing Application Tasks with Activities
        4. Organizing Activity Components with Fragments
        5. Managing Activity Transitions with Intents
        6. Working with Services
        7. Receiving and Broadcasting Intents
        8. Summary
        9. Quiz Questions
        10. Exercises
        11. Answers to Quiz Questions
        12. References and More Information
      2. 5. Defining Your Application Using the Android Manifest File
        1. Configuring Android Applications Using the Android Manifest File
        2. Managing Your Application’s Identity
        3. Enforcing Application System Requirements
        4. Registering Activities in the Android Manifest
        5. Working with Permissions
        6. Exploring Other Manifest File Settings
        7. Summary
        8. Quiz Questions
        9. Exercises
        10. Answers to Quiz Questions
        11. References and More Information
      3. 6. Managing Application Resources
        1. What Are Resources?
        2. Setting Simple Resource Values Using the Android IDE
        3. Working with Different Types of Resources
        4. Working with Layouts
        5. Referencing System Resources
        6. Summary
        7. Quiz Questions
        8. Exercises
        9. Answers to Quiz Questions
        10. References and More Information
    5. III: Android User Interface Design Essentials
      1. 7. Exploring User Interface Building Blocks
        1. Introducing Android Views and Layouts
        2. Displaying Text to Users with TextView
        3. Retrieving Data from Users with Text Fields
        4. Giving Users Choices Using Spinner Controls
        5. Allowing Simple User Selections with Buttons and Switches
        6. Retrieving Dates,Times, and Numbers from Users with Pickers
        7. Using Indicators to Display Progress and Activity to Users
        8. Adjusting Progress with Seek Bars
        9. Other Valuable User Interface Controls
        10. Summary
        11. Quiz Questions
        12. Exercises
        13. Answers to Quiz Questions
        14. References and More Information
      2. 8. Designing with Layouts
        1. Creating User Interfaces in Android
        2. Organizing Your User Interface
        3. Using Built-in Layout Classes
        4. Using Container Control Classes
        5. Summary
        6. Quiz Questions
        7. Exercises
        8. Answers to Quiz Questions
        9. References and More Information
      3. 9. Partitioning the User Interface with Fragments
        1. Understanding Fragments
        2. Using the Android Support Package
        3. Exploring Nested Fragments
        4. Summary
        5. Quiz Questions
        6. Exercises
        7. Answers to Quiz Questions
        8. References and More Information
      4. 10. Displaying Dialogs
        1. Choosing Your Dialog Implementation
        2. Exploring the Different Types of Dialogs
        3. Working with Dialogs and DialogFragments
        4. Working with Support Package DialogFragments
        5. Summary
        6. Quiz Questions
        7. Exercises
        8. Answers to Quiz Questions
        9. References and More Information
    6. IV: Android Application Design Essentials
      1. 11. Using Android Preferences
        1. Working with Application Preferences
        2. Creating Manageable User Preferences
        3. Learning About Cloud Save for Android Applications
        4. Summary
        5. Quiz Questions
        6. Exercises
        7. Answers to Quiz Questions
        8. References and More Information
      2. 12. Working with Files and Directories
        1. Working with Application Data on the Device
        2. Practicing Good File Management
        3. Understanding Android File Permissions
        4. Working with Files and Directories
        5. Summary
        6. Quiz Questions
        7. Exercises
        8. Answers to Quiz Questions
        9. References and More Information
      3. 13. Leveraging Content Providers
        1. Exploring Android’s Content Providers
        2. Modifying Content Provider Data
        3. Using Third-Party Content Providers
        4. Summary
        5. Quiz Questions
        6. Exercises
        7. Answers to Quiz Questions
        8. References and More Information
      4. 14. Designing Compatible Applications
        1. Maximizing Application Compatibility
        2. Designing User Interfaces for Compatibility
        3. Providing Alternative Application Resources
        4. Targeting Tablets, TVs, and Other New Devices
        5. Targeting Google Chromecast Devices
        6. Summary
        7. Quiz Questions
        8. Exercises
        9. Answers to Quiz Questions
        10. References and More Information
    7. V: Publishing and Distributing Android Applications
      1. 15. Learning the Android Software Development Process
        1. An Overview of the Mobile Development Process
        2. Choosing a Software Methodology
        3. Gathering Application Requirements
        4. Assessing Project Risks
        5. Writing Essential Project Documentation
        6. Leveraging Configuration Management Systems
        7. Designing Mobile Applications
        8. Developing Mobile Applications
        9. Testing Mobile Applications
        10. Deploying Mobile Applications
        11. Supporting and Maintaining Mobile Applications
        12. Summary
        13. Quiz Questions
        14. Exercises
        15. Answers to Quiz Questions
        16. References and More Information
      2. 16. Designing and Developing Bulletproof Android Applications
        1. Best Practices in Designing Bulletproof Mobile Applications
        2. Avoiding Silly Mistakes in Android Application Design
        3. Best Practices in Developing Bulletproof Mobile Applications
        4. Summary
        5. Quiz Questions
        6. Exercises
        7. Answers to Quiz Questions
        8. References and More Information
      3. 17. Planning the Android Application Experience
        1. Thinking about Objectives
        2. Techniques for Focusing Your Product Efforts
        3. Charting Your Applications Navigation
        4. Encouraging Action
        5. Communicating Your Applications Identity
        6. Designing Screen Layouts
        7. Reacting Properly with Visual Feedback
        8. Observing Target Users for Usability
        9. Summary
        10. Quiz Questions
        11. Exercises
        12. Answers to Quiz Questions
        13. References and More Information
      4. 18. Testing Android Applications
        1. Best Practices in Testing Mobile Applications
        2. Android Application Testing Essentials
        3. More Android Automated Testing Programs and API’s
        4. Summary
        5. Quiz Questions
        6. Exercises
        7. Answers to Quiz Questions
        8. References and More Information
      5. 19. Publishing Your Android Application
        1. Choosing the Right Distribution Model
        2. Packaging Your Application for Publication
        3. Publishing to Google Play
        4. Google Play Staged Rollouts
        5. Publishing to the Google Play Private Channel
        6. Translating Your Application
        7. Publishing Using Other Alternatives
        8. Self-Publishing Your Application
        9. Summary
        10. Quiz Questions
        11. Exercises
        12. Answers to Quiz Questions
        13. References and More Information
    8. VI: Appendixes
      1. A. Mastering the Android Development Tools
        1. Using the Android Documentation
        2. Leveraging the Android Emulator
        3. Viewing Application Log Data with LogCat
        4. Debugging Applications with DDMS
        5. Using Android Debug Bridge (ADB)
        6. Using the Resource Editors and UI Designer
        7. Using the Android Hierarchy Viewer
        8. Working with Nine-Patch Stretchable Graphics
        9. Working with Other Android Tools
        10. Summary
        11. Quiz Questions
        12. Exercises
        13. Answers to Quiz Questions
        14. References and More Information
      2. B. Quick-Start Guide: The Android Emulator
        1. Simulating Reality: The Emulator’s Purpose
        2. Working with Android Virtual Devices (AVDs)
        3. Launching the Emulator with a Specific AVD
        4. Configuring the GPS Location of the Emulator
        5. Calling Between Two Emulator Instances
        6. Messaging between Two Emulator Instances
        7. Interacting with the Emulator through the Console
        8. Enjoying the Emulator
        9. Understanding Emulator Limitations
        10. Summary
        11. Quiz Questions
        12. Exercises
        13. Answers to Quiz Questions
        14. References and More Information
      3. C. Quick-Start Guide: Android DDMS
        1. Using DDMS with the Android IDE and as a Standalone Application
        2. Getting Up to Speed Using Key Features of DDMS
        3. Working with Processes, Threads, and the Heap
        4. Using the Allocation Tracker
        5. Viewing Network Statistics
        6. Working with the File Explorer
        7. Working with the Emulator Control
        8. Working with the System Information Pane
        9. Taking Screen Captures of the Emulator and Device Screens
        10. Working with Application Logging
        11. Summary
        12. Quiz Questions
        13. Exercises
        14. Answers to Quiz Questions
        15. References and More Information
      4. D. Android IDE and Eclipse Tips and Tricks
        1. Organizing Your Android IDE Workspace
        2. Writing Code in Java
        3. Resolving Mysterious Build Errors
        4. Summary
        5. Quiz Questions
        6. Exercises
        7. Answers to Quiz Questions
        8. References and More Information