Book description
What Every Android App Developer Should Know Today: Android 6 Tools, App/UI Design, Testing, Publishing, and More
Introduction to Android™Application 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.
Table of contents
- About This E-Book
- Title Page
- Copyright Page
- Praise for Introduction to Android™ Application Development, Fifth Edition
- Dedication Page
- Contents at a Glance
- Contents
- Acknowledgments
- About the Authors
- Introduction
-
I: Platform Overview
-
1. Presenting Android
- The Android Open Source Project (AOSP)
-
The Open Handset Alliance
- Google Goes Mobile First
- Introducing the Open Handset Alliance
- Joining the Open Handset Alliance
- Manufacturers: Designing Android Devices
- Mobile Operators: Delivering the Android Experience
- Apps Drive Device Sales: Developing Android Applications
- Taking Advantage of All Android Has to Offer
- Android: Where We Are Now
- Android Platform Uniqueness
- The Android Platform
- Android beyond the OHA and GMS
- Summary
- Quiz Questions
- Exercises
- References and More Information
- 2. Setting Up for Development
-
3. Creating Your First Application
- Testing Your Development Environment
-
Building Your First Android Application
- Creating and Configuring a New Android Project
- Understanding the Android Symbolic View and the Traditional Project View
- Core Files and Directories of the Android Application
- Running Your Android Application in the Emulator
- Debugging Your Android Application in the Emulator
- Adding Logging Support to Your Android Application
- Debugging Your Application on Hardware
- Summary
- Quiz Questions
- Exercises
- References and More Information
-
1. Presenting Android
-
II: Application Basics
-
4. Understanding Application Components
- Mastering Important Android Terminology
- The Application Context
- Performing Application Tasks with Activities
- Organizing Activity Components with Fragments
- Managing Activity Transitions with Intents
- Working with Services
- Receiving and Broadcasting Intents
- Summary
- Quiz Questions
- Exercises
- References and More Information
-
5. Defining the Manifest
- Configuring Android Applications Using the Android Manifest File
- Managing Your Application’s Identity
- Enforcing Application System Requirements
- Registering Activities in the Android Manifest
- Working with Permissions
- Exploring Other Manifest File Settings
- Summary
- Quiz Questions
- Exercises
- References and More Information
-
6. Managing Application Resources
- What Are Resources?
- Adding Simple Resource Values in Android Studio
-
Working with Different Types of Resources
- Working with String Resources
- Using String Resources as Format Strings
- Working with Quantity Strings
- Working with String Arrays
- Working with Boolean Resources
- Working with Integer Resources
- Working with Colors
- Working with Dimensions
- Using Dimension Resources Programmatically
- Drawable Resources
- Working with Images
- Working with Color State Lists
- Working with Animation
- Working with Menus
- Working with XML Files
- Working with Raw Files
- References to Resources
- Working with Layouts
- Referencing System Resources
- Summary
- Quiz Questions
- Exercises
- References and More Information
-
7. Exploring Building Blocks
- Introducing Android Views and Layouts
- Displaying Text to Users with TextView
- Retrieving Data from Users with Text Fields
- Giving Users Choices Using Spinner Controls
- Allowing Simple User Selections with Buttons and Switches
- Retrieving Dates, Times, and Numbers from Users with Pickers
- Using Indicators to Display Progress and Activity to Users
- Adjusting Progress with Seek Bars
- Other Valuable User Interface Controls
- Summary
- Quiz Questions
- Exercises
- References and More Information
- 8. Positioning with Layouts
- 9. Partitioning with Fragments
-
4. Understanding Application Components
-
III: Application Design Essentials
- 10. Architecting with Patterns
- 11. Appealing with Style
- 12. Embracing Material Design
-
13. Designing Compatible Applications
- Maximizing Application Compatibility
- Designing User Interfaces for Compatibility
- Providing Alternative Application Resources
- Targeting Tablets and TVs
- Extending Your Application to Watches and Cars
- Ensuring Compatibility with SafetyNet
- Summary
- Quiz Questions
- Exercises
- References and More Information
-
IV: Application Development Essentials
-
14. Using Android Preferences
-
Working with Application Preferences
- Determining When Preferences Are Appropriate
- Storing Different Types of Preference Values
- Creating Private Preferences for Use by a Single Activity
- Creating Shared Preferences for Use by Multiple Activities
- Searching and Reading Preferences
- Adding, Updating, and Deleting Preferences
- Reacting to Preference Changes
- Finding Preferences Data on the File System
- Creating Manageable User Preferences
- Auto Backup for Android Applications
- Summary
- Quiz Questions
- Exercises
- References and More Information
-
Working with Application Preferences
- 15. Accessing Files and Directories
- 16. Saving with SQLite
- 17. Leveraging Content Providers
-
14. Using Android Preferences
-
V: Application Delivery Essentials
-
18. Learning the Development Workflow
- An Overview of the Android Development Process
- Choosing a Software Methodology
- Gathering Application Requirements
- Assessing Project Risks
- Writing Essential Project Documentation
- Leveraging Configuration Management Systems
- Designing Android Applications
- Developing Android Applications
- Testing Android Applications
- Deploying Android Applications
- Supporting and Maintaining Android Applications
- Summary
- Quiz Questions
- Exercises
- References and More Information
- 19. Planning the Experience
-
20. Delivering Quality Applications
-
Best Practices in Delivering Quality Applications
- Meeting Android Users’ Demands
- Designing User Interfaces for Android Devices
- Designing Stable and Responsive Android Applications
- Designing Secure Android Applications
- Designing Android Applications for Maximum Profit
- Following the Android Application Quality Guidelines
- Leveraging Third-Party Quality Standards
- Designing Android Applications for Ease of Maintenance and Upgrades
- Leveraging Android Tools for Application Design
- Avoiding Silly Mistakes in Android Application Design
-
Best Practices in Delivering Quality Android Applications
- Designing a Development Process That Works for Android Development
- Testing the Feasibility of Your Application Early and Often
- Using Coding Standards, Reviews, and Unit Tests to Improve Code Quality
- Handling Defects Occurring on a Single Device
- Leveraging Android Tools for Development
- Avoiding Silly Mistakes in Android Application Development
- Summary
- Quiz Questions
- Exercises
- References and More Information
-
Best Practices in Delivering Quality Applications
- 21. Testing Your Applications
-
22. Distributing Your Applications
- Choosing the Right Distribution Model
- Packaging Your Application for Publication
-
Publishing to Google Play
- Signing Up for Publishing to Google Play
- Uploading Your Application to Google Play
- Uploading Application Marketing Assets
- Configuring Pricing and Distribution Details
- Configuring Additional Application Options
- Managing Other Developer Console Options
- Publishing Your Application to Google Play
- Managing Your Application on Google Play
- Google Play Staged Rollouts
- Publishing to the Google Play Private Channel
- Translating Your Application
- Publishing Using Other Alternatives
- Self-Publishing Your Application
- Summary
- Quiz Questions
- Exercises
- References and More Information
-
18. Learning the Development Workflow
-
VI: Appendixes
-
A. Tips and Tricks: Android Studio
-
Organizing Your Android Studio Workspace
- Integrating with Source Control Services
- Repositioning Windows within Android Studio
- Resizing the Editor Window
- Resizing Tool Windows
- Viewing Editor Windows Side by Side
- Viewing Two Sections of the Same File
- Closing Unwanted Tabs
- Keeping Editor Windows under Control
- Creating Custom Log Filters
- Searching Your Project
- Organizing Android Studio Tasks
- Writing Code in Java
- Resolving Mysterious Build Errors
- Summary
- Quiz Questions
- Exercises
- References and More Information
-
Organizing Your Android Studio Workspace
-
B. Quick-Start: Android Emulator
- Simulating Reality: The Emulator’s Purpose
- Working with Android Virtual Devices
- Launching the Emulator with a Specific AVD
- Configuring the GPS Location of the Emulator
- Calling between Two Emulator Instances
- Messaging between Two Emulator Instances
- Interacting with the Emulator through the Console
- Personalizing the Emulator
- Understanding Emulator Limitations
- Summary
- Quiz Questions
- Exercises
- References and More Information
-
C. Quick-Start: Android Device Monitor
- Using Device Monitor with Android Studio and as a Stand-Alone Application
- Getting Up to Speed Using Key Features of Device Monitor
- Working with Processes, Threads, and the Heap
- Using the Allocation Tracker
- Viewing Network Statistics
- Working with the File Explorer
- Working with the Emulator Control
- Working with the System Information Pane
- Taking Screen Captures of the Emulator and Device Screens
- Working with Application Logging
- Summary
- Quiz Questions
- Exercises
- References and More Information
-
D. Mastery: Android SDK Tools
- Using the Android Documentation
- Leveraging the Android Emulator
- Viewing Application Log Data with logcat
- Debugging Applications with Device Monitor
- Using Android Debug Bridge (ADB)
- Using the Layout Editor
- Using the Android Hierarchy Viewer
- Working with Nine-Patch Stretchable Graphics
- Working with Other Android Tools
- Summary
- Quiz Questions
- Exercises
- References and More Information
- E. Quick-Start: Gradle Build System
-
F. Answers to Quiz Questions
- Chapter 1: Presenting Android
- Chapter 2: Setting Up for Development
- Chapter 3: Creating Your First Application
- Chapter 4: Understanding Application Components
- Chapter 5: Defining the Manifest
- Chapter 6: Managing Application Resources
- Chapter 7: Exploring Building Blocks
- Chapter 8: Positioning with Layouts
- Chapter 9: Partitioning with Fragments
- Chapter 10: Architecting with Patterns
- Chapter 11: Appealing with Style
- Chapter 12: Embracing Material Design
- Chapter 13: Designing Compatible Applications
- Chapter 14: Using Android Preferences
- Chapter 15: Accessing Files and Directories
- Chapter 16: Saving with SQLite
- Chapter 17: Leveraging Content Providers
- Chapter 18: Learning the Development Workflow
- Chapter 19: Planning the Experience
- Chapter 20: Delivering Quality Applications
- Chapter 21: Testing Your Applications
- Chapter 22: Distributing Your Applications
- Appendix A: Tips and Tricks: Android Studio
- Appendix B: Quick-Start: Android Emulator
- Appendix C: Quick-Start: Android Device Monitor
- Appendix D: Mastery: Android SDK Tools
- Appendix E: Quick-Start: Gradle Build System
-
A. Tips and Tricks: Android Studio
- Index
- Code Snippets
Product information
- Title: Introduction to Android™ Application Development: Android Essentials, Fifth Edition
- Author(s):
- Release date: December 2015
- Publisher(s): Addison-Wesley Professional
- ISBN: 9780134389653
You might also like
book
Introduction to Android™ Application Development: Android Essentials, Fourth Edition
Bonus KitKat material is available for download at www.informit.com/title/9780321940261 What Every Android™ App Developer Should Know …
book
Android for Absolute Beginners: Getting Started with Mobile Apps Development Using the Android Java SDK
Get started as a mobile app developer and learn the art and science of Android app …
book
Head First Android Development
What will you learn from this book? If you have an idea for a killer Android …
video
Android 6 App Development Fundamentals I and II
Overview Android App Development Fundamentals 3/e uses Paul Deitel’s unique "app-driven" approach to get you up …