You are previewing Learn Android App Development.
O'Reilly logo
Learn Android App Development

Book Description

Learn Android App Development is a hands-on tutorial and useful reference. You'll quickly get up to speed and master the Android SDK and the Java that you need for your Android Apps. You will fid that Learn Android App Development is an all-in-one getting started guide to building your first Android smartphone or tablet apps!

The Android SDK offers powerful features, and this book is the fastest path to mastering them—and the rest of the Andorid SDK —for programmers with some experience who are new to Android smartphone and tablet apps development. Many books introduce the Android SDK, but very few explain how to develop apps optimally and soundly. This book teaches both core Java language concepts and how to wisely but rapidly employ the design patterns and logic using the Android SDK, which is based on Java APIs.

You'll also learn best practices that ensure your code will be efficient and perform well. An app that performs well and is well designed is likely to get you the best reviews on Google Play or Amazon Appstore, which in turn helps drive higher or better search results and perhaps more revenue.

Why spend months or years discovering the best ways to design and code Android apps when this book will show you how to do things the right way from the start?

  • Get an accelerated but complete enough treatment of the core fundamentals of Java necessary to get you started.

  • Design your first app using prototyping and other design methods as others in the industry now do.

  • Build your first Android app using the code that you're given as you walk through this book.

  • Finally, debug and distribute your first app on Google Play or other Android app store.

After reading this book, you'll have your first app ready and on the app store making you the prestige and the money you hopefully seek.

What you'll learn

  • How to get a quick start to learning Android to build your first Android app

  • How the Android development process works and what is the usual workflow

  • How to design an Android app User Interface (UI)

  • How to add interactivity and functionality to your Android apps

  • How to deliver new media instead your Android apps and more

Who this book is for

This book is for those who have some programming experience but who are new to the Android mobile platform. This book is ideal for those who may be coming from iOS programming/development to learn about this other most popular mobile platform, Android.

Table of Contents

  1. Title Page
  2. Dedication
  3. Contents at a Glance
  4. Contents
  5. About the Author
  6. About the Technical Reviewer
  7. Acknowledgments
  8. Introduction
  9. Chapter 1: Building an Android IDE for Version 4.2: Acquiring, Installing, and Configuring an Android Development Environment
    1. Our Plan of Attack
    2. Foundation of Android Programming: Java 6
    3. The Android Developer Tools (ADT) Bundle
    4. Configuring Android Virtual Devices (AVDs)
    5. New Media Tools Used in Android Development
    6. Summary
  10. Chapter 2: Exploring Android App Development: The Lingo of Android and Building Your First Hello World App!
    1. Android Application Development Lingo
    2. Creating Your First Android Application
    3. Anatomy of an Android Application Project
    4. Android Application Project: XML Mark-Up
    5. Android Application Project: Java Coding
    6. Summary
  11. Chapter 3: Java for Android Primer: Enhancing Our Hello World Application
    1. Java’s Highest Level: The Application Programming Interface
    2. The Foundation of Java: The Object
    3. Coding a Java Class in Eclipse: Creating the WorldGen Class
    4. Creating a Java Interface for the Public: The IntWorldGen Interface
    5. Summary
  12. Chapter 4: Layouts and Activities: Using ViewGroup Classes
    1. Android Screen Layout Containers: The ViewGroup Class
    2. Android ViewGroup Subclasses: Layout Container Types
    3. Relative Layout Positioning: The Android RelativeLayout Class
    4. Defining the Add a New Planet Screen: Creating Android Activities
    5. Summary
  13. Chapter 5: Android Intents and Events: Adding Interactivity
    1. Android High-Level Communication: The Android Intent Object
    2. Implicit Intents: Intent Filters that Define Implicit Intent Handling
    3. Using Explicit Intents: Making Our Hello_World Menu Functional
    4. Summary
  14. Chapter 6: Android UI Design: Using Views and Widgets via XML
    1. Android User Interface Elements: Android View and Subclasses
    2. Optimizing Our NewPlanet Activity UI: The ImageView UI Widget
    3. Optimizing Our ConfigPlanet Activity UI: Button and Text UI Widgets
    4. Optimizing Our TravelPlanet Activity: Android’s VideoView Widget
    5. Optimizing Our AttackPlanet Activity UI: ImageButton UI Widgets
    6. Summary
  15. Chapter 7: Android Graphics Design: Concepts and Techniques
    1. Android Graphics Design Highest Level: The Drawable Class
    2. Digital Imaging’s Lowest Level Picture Element: The Pixel
    3. Shaping an Image Using Pixels: Resolution and Aspect Ratio
    4. Fashioning the Color of a Pixel: The Concept of Color Depth
    5. Defining Transparency in an Image: The Concept of Alpha Channel
    6. Image Format Support in Android: PNG8, PNG24, WEBP, JPG, GIF
    7. Reducing the Image Data Footprint: Image Compression Concepts
    8. Upgrading Our NewPlanet Activity: Applying the Imaging Concepts
    9. Upgrading Our TravelPlanet UI: Creating an Alpha Channel for Our AttackVirus
    10. Summary
  16. Chapter 8: Compositing in Android: Advanced Graphical User Interface Design
    1. Multi-State UI Elements: The Normal, Pressed, and Focused States
    2. Implementing Multi-State Buttons in XML: Android’s Selector Tag
    3. Compositing Our UI Elements: Alpha, Color, Gravity, and TextStyle
    4. Upgrading Our App Home Screen: Adding an ImageView Tag and textColor Parameters
    5. Custom Activity Screen Title and App Icon: Details Make a Difference
    6. Summary
  17. Chapter 9: Android Image Animation: Frame-Based Animation Using XML Constructs
    1. Frame-Based Animation: Concepts and Data Optimization
    2. Implementing Frame Animation in XML: The Animation-List Tag
    3. Advanced Frame Animation in XML: Using Animated Backgrounds
    4. Full-Screen XML Frame Animation: Background Image Transitions
    5. Summary
  18. Chapter 10: Android Vector Animation: Procedural Animation via XML Constructs
    1. Procedural Animation Concepts: Rotation, Scale, and Translation
    2. Implementing Rotational Animation: The Attack Bomb UI Icon
    3. Implementing Scalar Animation: The Pulsing Attack Virus UI Icon
    4. Implementing Alpha Channel Animation: Beam Me Over to a Planet
    5. Combining Bitmap and Procedural Animation
    6. Implementing Complex Animation: XML <set> Parameter Grouping
    7. Implementing Motion Animation: The XML <translate> Parameter
    8. Summary
  19. Chapter 11: An Introduction to Video: Concepts and Optimization
    1. The Foundation of Digital Video: Pixels, Frames, FPS, and Codecs
    2. Important Digital Video Attributes: SD, HD, Streaming, and Bit-Rates
    3. Digital Video Formats: Support for Digital Video Codecs in Android
    4. Digital Video Optimization: Playback Across Devices and Resolution
    5. Digital Video Creation: Creating our Mars Planet Surface Fly-Over
    6. Digital Video Compression: Key Concepts and Techniques
    7. Using Digital Video Assets in Android: The Resource’s Raw Folder
    8. Playing Digital Video in the UI Design: Android’s VideoView Class
    9. Summary
  20. Chapter 12: Digital Video in Android: Using the VideoView Class
    1. Using Android MediaController Class to Play Video
    2. Testing Video Playback in Eclipse ADT’s Nexus S Emulator
    3. Troubleshooting Our VideoView User Interface Design
    4. Summary
  21. Chapter 13: An Introduction to Audio: Concepts and Optimization
    1. The Foundation of Analog Audio: Sound Waves and Air
    2. The Foundation of Digital Audio: Sampling, Sample Resolution, and Sampling Frequency
    3. Key Digital Audio Attributes: CD Audio, HD Audio, Audio Streaming, and Audio Bit-Rates
    4. Digital Audio Optimization: Playback Across Devices
    5. Setting Up Audacity 2 with Plug-Ins and Codec Libraries
    6. Digital Audio Creation: Finding Hello World Sound Effects
    7. Digital Audio Compression: Key Concepts and Formats
    8. Playing Digital Audio: The Android MediaPlayer Class
    9. Summary
  22. Chapter 14: Playing Audio in Android: The MediaPlayer Class
    1. The Android Media Player: Methods and the State Engine
    2. Setting Up a MediaPlayer Object and Loading It with Digital Audio Data
    3. Summary
  23. Chapter 15: Audio Sequencing: Android SoundPool Class
    1. MIDI and Audio Sequencing: Concepts and Principles
    2. Digital Audio Synthesis: Basic Concepts and Principles
    3. An Introduction to SoundPool: Class Rules and Methods
    4. Android Digital Audio Synthesis and Sequencing Caveats
    5. Using SoundPool for Our Attack a Planet Activity
    6. Summary
  24. Chapter 16: Android Intents: Inter-Application Programming
    1. Android Intent Messaging: First, the Global Overview
    2. Android Intent Implementation: Three Different Types of Intent Usage
    3. Android Intent Structure: Anatomy of an Android Intent
    4. Explicit Versus Implicit Intents: Which Intent Type to Use
    5. Implicit Intent Resolution: Introducing Intent Filters
    6. Using an Intent Object to Launch an Activity in Hello World
    7. Summary
  25. Chapter 17: Android Services: Using Background Processing
    1. Android Service Basics: The Rules and Characteristics
    2. Processes or Threads: Valuable Foundational Information
    3. Should My Android Application Use Services or Threads?
    4. Summary
  26. Chapter 18: Broadcast Receivers: Android Inter-Application Communication
    1. Android BroadcastReceivers: Basic Concepts and Types
    2. Implementing a Broadcast Receiver in Our Application
    3. Summary
  27. Chapter 19: Android Content Providers: Access to Datastores
    1. Database Fundamentals: Concepts and Terminology
    2. MySQL and SQLite: An Open Source Database Engine
    3. Android Content Providers and Content Resolvers: An Introduction
    4. Addressing the Content Provider: Using a Content URI
    5. Android OS Content Providers: Databases That Are Part of the OS
    6. Deprecated Content Providers: Deprecated Database Structures
    7. Content Provider Access: Adding Permissions in Manifest
    8. Content Provider Activity: Creating an AlienContact Class
    9. Summary
  28. Appendix A: Building an Android IDE for Version 4.12 and Earlier: Acquiring, Installing, and Configuring an Android Development Environment
    1. Our Plan of Attack
    2. Foundation of Android Programming: Java 6
    3. Installing an Integrated Development Environment: Eclipse
    4. Android SDK and Android Developer Tools
    5. Eclipse’s Android Development Tools Plug-in
    6. Configuring the Android Development Environment
    7. Configuring Your Android Virtual Devices
  29. Index