O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Android Recipes: A Problem-Solution Approach, Second Edition

Book Description

Android continues to be one of the leading mobile OS and development platforms driving today's mobile innovations and the apps ecosystem. Android appears complex, but offers a variety of organized development kits to those coming into Android with differing programming language skill sets.

Android Recipes: A Problem-Solution Approach, Second Edition guides you step-by-step through a wide range of useful topics using complete and real-world working code examples. It's updated to include latest Jelly Bean Android SDK as well as earlier releases.

In this expanded edition,

  • You'll start off with a recap of Android architecture and app fundamentals, and then get down to business and build an app with Android SDK 4.1 version or earlier release at the command line and Eclipse.

  • Next, you'll learn how to accomplish practical tasks pertaining to the user interface, communications with the cloud, device hardware, data persistence, communications between applications, and interacting with Android itself.

  • Finally, you'll learn how to leverage various libraries and Scripting Layer for Android (SL4A) to help you perform tasks more quickly, how to use the Android NDK to boost app performance, and how to design apps for performance, responsiveness, seamlessness, and more.

  • Instead of abstract descriptions of complex concepts, in Android Recipes, you'll find live code examples. When you start a new project, you can consider copying and pasting the code and configuration files from this book, then modifying them for your own customization needs. This can save you a great deal of work over creating a project from scratch!

    What you'll learn

  • Discover Android architecture and various Android-specific APIs

  • How to develop a unit conversion app in the context of command-line/Android SDK and Eclipse/Android SDK environments

  • How to accomplish various tasks related to the user interface and more

  • How to use external libraries to save time and effort

  • How to quickly develop an app using the Scripting Layer for Android (SL4A) tool

  • How to boost app performance by using the Android NDK

  • Guidelines for designing filtered apps, performant apps, responsive apps, and seamless apps

  • Who this book is for

    This book is a handy reference for all Android app developers. Newcomers may also find this of interest, too.

    Table of Contents

    1. Titlepage
    2. Contents at a Glance
    3. Contents
    4. Foreword
    5. About the Authors
    6. About the Technical Reviewer
    7. Acknowledgments
    8. Preface
    9. Chapter 1: Getting Started with Android
      1. What Is Android?
      2. History of Android
      3. Android Architecture
      4. App Architecture
      5. Summary
    10. Chapter 2: User Interface Recipes
      1. 2-1. Customizing the Window
      2. 2-2. Creating and Displaying Views
      3. 2-3. Monitoring Click Actions
      4. 2-4. Resolution-Independent Assets
      5. 2-5. Locking Activity Orientation
      6. 2-6. Dynamic Orientation Locking
      7. 2-7. Manually Handling Rotation
      8. 2-8. Creating Pop-Up Menu Actions
      9. 2-9. Displaying A User Dialog
      10. 2-10. Customizing Options Menu
      11. 2-11. Customizing Back Behavior
      12. 2-12. Emulating the HOME Button
      13. 2-13. Monitoring TextView Changes
      14. 2-14. Scrolling TextView Ticker
      15. 2-15. Animating a View
      16. 2-16. Animating Layout Changes
      17. 2-17. Creating Drawables as Backgrounds
      18. 2-18. Creating Custom State Drawables
      19. 2-19. Applying Masks to Images
      20. 2-20. Creating Dialogs That Persist
      21. 2-21. Implementing Situation-Specific Layouts
      22. 2-22. Customizing Keyboard Actions
      23. 2-23. Dismissing Soft Keyboard
      24. 2-24. Customizing AdapterView Empty Views
      25. 2-25. Customizing ListView Rows
      26. 2-26. Making ListView Section Headers
      27. 2-27. Creating Compound Controls
      28. 2–28. Handling Complex Touch Events
      29. 2-29. Forwarding Touch Events
      30. 2-30. Making Drag-and-Drop Views
      31. 2-31. Customizing Transition Animations
      32. 2-32. Creating View Transformations
      33. 2-33. Swiping Between Views
      34. 2-34. Creating Modular Interfaces
      35. 2-35. High-Performance Drawing
      36. Useful Tools to Know: Hierarchy Viewer and Lint
      37. Hierarchy Viewer
      38. Exploring the View Hierarchy Window
      39. Working with an Individual View in Tree View
      40. Debugging with View Hierarchy
      41. Exploring the Pixel Perfect Window
      42. Working with Pixel Perfect Overlays
      43. Lint
      44. Running Lint
      45. Summary
    11. Chapter 3: Communications and Networking
      1. 3–1. Displaying Web Information
      2. 3–2. Intercepting WebView Events
      3. 3–3. Accessing WebView with JavaScript
      4. 3–4. Downloading an Image File
      5. 3–5. Downloading Completely in the Background
      6. 3–6. Accessing a REST API
      7. 3–7. Parsing JSON
      8. 3–8. Parsing XML
      9. 3–9. Receiving SMS
      10. 3–10. Sending an SMS Message
      11. 3–11. Communicating over Bluetooth
      12. 3–12. Querying Network Reachability
      13. 3-13. Transferring Data with NFC
      14. 3-14. Connecting over USB
      15. Summary
    12. Chapter 4: Interacting with Device Hardware and Media
      1. 4-1. Integrating Device Location
      2. 4-2. Mapping Locations
      3. 4-3. Annotating Maps
      4. 4-4. Capturing Images and Video
      5. 4-5. Making a Custom Camera Overlay
      6. 4-6. Recording Audio
      7. 4-7. Custom Video Capture
      8. 4-8. Adding Speech Recognition
      9. 4-9. Playing Back Audio/Video
      10. 4-10. Playing Sound Effects
      11. 4-11. Creating a Tilt Monitor
      12. 4-12. Monitoring Compass Orientation
      13. 4-13. Retrieving Metadata from Media Content
      14. Useful Tools to Know: Sensor Simulator
      15. Obtaining Sensor Simulator
      16. Launching Sensor Simulator Settings and Sensor Simulator
      17. Accessing Sensor Simulator from Your Apps
      18. Summary
    13. Chapter 5: Persisting Data
      1. 5–1. Making a Preference Screen
      2. 5–2. Persisting Simple Data
      3. 5–3. Reading and Writing Files
      4. 5–4. Using Files as Resources
      5. 5–5. Managing a Database
      6. 5–6. Querying a Database
      7. 5–7. Backing Up Data
      8. 5–8. Sharing Your Database
      9. 5–9. Sharing Your SharedPreferences
      10. 5–10. Sharing Your Other Data
      11. Useful Tools to Know: SQLite3
      12. Univerter and SQLite3
      13. Summary
    14. Chapter 6: Interacting with the System
      1. 6–1. Notifying from the Background
      2. 6–2. Creating Timed and Periodic Tasks
      3. 6–3. Scheduling a Periodic Task
      4. 6–4. Creating Sticky Operations
      5. 6–5. Running Persistent Background Operations
      6. 6–6. Launching Other Applications
      7. 6–7. Launching System Applications
      8. 6–8. Letting Other Applications Launch Your Application
      9. 6–9. Interacting with Contacts
      10. 6–10. Picking Device Media
      11. 6–11. Saving to the MediaStore
      12. 6-12. Interacting with the Calendar
      13. 6-13. Logging Code Execution
      14. 6-14. Creating a Background Worker
      15. 6-15. Customizing the Task Stack
      16. 6-16. Implementing AppWidgets
      17. Summary
    15. Chapter 7: Working with Libraries
      1. 7-1. Creating Java Library JARs
      2. 7-2. Using Java Library JARs
      3. 7-3. Creating Android Library Projects
      4. 7-4. Using Android Library Projects
      5. 7-5. Charting
      6. 7-6. Practical Push Messaging
      7. 7-7. Using Google’s Support Package
      8. Summary
    16. Chapter 8: Working with Android NDK and Renderscript
      1. Android NDK
      2. 8-1. Discovering Native Activities
      3. 8-2. Developing Low-Level Native Activities
      4. 8-3. Developing High-Level Native Activities
      5. Renderscript
      6. 8-4. Learning More About Renderscript
      7. Summary
    17. Appendix A: Scripting Layer for Android
      1. Installing SL4A
      2. Exploring SL4A
      3. Installing the Python Interpreter
      4. Scripting with Python
    18. Appendix B: Android Tools Overview
      1. SDK Tools
      2. Platform Tools
    19. Appendix C: App Design Guidelines
    20. Appendix D: Univerter Architecture
      1. Exploring the Source Code
      2. Exploring the Resource Files
      3. Exploring the Manifest
    21. Index