Product Cover Image

PhoneGap Essentials: Building Cross-Platform Mobile Apps

By John M. Wargo

Published by Addison-Wesley Professional

Published Date: Jun 21, 2012


PhoneGap is Adobe’s distribution of the free and open source framework (originally developed by Nitobi) that is now also available from the Apache Foundation as Apache Cordova™. Using PhoneGap, developers can build native mobile apps using standard HTML5, JavaScript, and CSS, and then deploy those apps to every leading mobile platform with little or no recoding. Up to now, though, PhoneGap was lacking complete, practical documentation. PhoneGap Essentials fills that void: It’s the first concise, yet complete, tutorial for succeeding with PhoneGap in real-world development.


Experienced mobile developer John M. Wargo thoroughly introduces the PhoneGap platform, explaining what it is, what it does, and how it works. He then guides you through configuring PhoneGap environments—creating complete mobile apps—and building them for the Google Android™, Samsung bada, BlackBerry® devices, Apple® iOS, Symbian™ OS, and Windows® Phone. Through realistic examples, you’ll master key PhoneGap APIs for everything from GPS to the file system, contacts to camera, device to events, and more. Wargo also demonstrates how to take full advantage of PhoneGap Build, PhoneGap’s cloud-based packaging utility.


Coverage includes

  • The anatomy of a PhoneGap application (what makes an application a PhoneGap application)
  • Understanding the impact of cross-platform development issues
  • Exploring the entire PhoneGap development process, including testing and debugging
  • Expanding PhoneGap’s capabilities with third-party development tools and plug-ins
  • Building cross-platform apps that use the device camera, compass, accelerometer, and other hardware
  • Reading from and writing to the contacts database and the device file system
  • Installing tools needed to develop PhoneGap apps for Android, bada, BlackBerry, iOS, Symbian, and Windows Phone
  • Reacting to events and notifying users
  • Using the Media API to record and play media files
  • Building for multiple platforms simultaneously using PhoneGap Build 

About the Website

Downloadable code projects, additional information, and errata are available at

Table of Contents

Foreword by Bryce A. Curtis xiii

Foreword by Jim Huempfner xv

Preface xvii

Acknowledgments xxiii

About the Author xxiv


Part I: PhoneGap 1


Chapter 1: Introduction to PhoneGap 3

A Little PhoneGap History 4

Why Use PhoneGap? 5

How PhoneGap Works 6

Designing for the Container 11

Writing PhoneGap Applications 13

Building PhoneGap Applications 13

PhoneGap Limitations 17

PhoneGap Plug-Ins 18

Getting Support for PhoneGap 19

PhoneGap Resources 19

Hybrid Application Frameworks 19


Chapter 2: PhoneGap Development, Testing, and Debugging 23

Hello, World! 23

PhoneGap Initialization 25

Leveraging PhoneGap APIs 28

Enhancing the User Interface of a PhoneGap Application 30

Testing and Debugging PhoneGap Applications 35

Dealing with Cross-Platform Development Issues 49


Part II: PhoneGap Developer Tools 55


Chapter 3: Configuring an Android Development Environment for PhoneGap 57

Installing the Android SDK 58

Eclipse Development Environment Configuration 64

Creating an Android PhoneGap Project 66

Testing Android PhoneGap Applications 77


Chapter 4: Configuring a bada Development Environment for PhoneGap 79

Downloading and Installing the Correct PhoneGap bada Files 80

Creating a bada PhoneGap Project 82

Creating a bada Application Profile 86

Testing bada PhoneGap Applications 95


Chapter 5: Configuring a BlackBerry Development Environment for PhoneGap 97

Installing the BlackBerry WebWorks SDK 98

Creating a BlackBerry PhoneGap Project 99

Building BlackBerry PhoneGap Applications 103

Testing BlackBerry PhoneGap Applications 109


Chapter 6: Configuring an iOS Development Environment for PhoneGap 113

Registering as an Apple Developer 113

Installing Xcode 114

Creating an iOS PhoneGap Project 116

Testing iOS PhoneGap Applications 122


Chapter 7: Configuring a Symbian Development Environment for PhoneGap 125

Installing the Nokia Web Tools 125

Installing the Make Utility 126

Creating a Symbian PhoneGap Project 128

Configuring Application Settings 129

Modifying HelloWorld3 for Symbian 130

Packaging Symbian PhoneGap Projects 131

Testing Symbian PhoneGap Applications 132


Chapter 8: Configuring a Windows Phone Development Environment for PhoneGap 135

Installing the Windows Phone Development Tools 135

Creating a Windows Phone PhoneGap Project 136

Testing Windows Phone PhoneGap Applications 139


Chapter 9: Using PhoneGap Build 141

The Fit 142

Getting Started 142

Configuration 143

Creating an Application for PhoneGap Build 145

Creating a PhoneGap Build Project 146

Dealing with Build Issues 150

Testing Applications 152

Debug Mode 153


Part III: PhoneGap APIs 155


Chapter 10: Accelerometer 157

Querying Device Orientation 158

Watching a Device’s Orientation 162


Chapter 11: Camera 165

Accessing a Picture 165

Configuring Camera Options 176

Dealing with Camera Problems 182


Chapter 12: Capture 185

Using the Capture API 186

Configuring Capture Options 189

Capture at Work 191


Chapter 13: Compass 205

Getting Device Heading 205

Watching Device Heading 209


Chapter 14: Connection 217


Chapter 15: Contacts 223

Creating a Contact 224

Searching for Contacts 236

Cloning Contacts 242

Removing Contacts 242


Chapter 16: Device 243


Chapter 17: Events 249

Creating an Event Listener 249

deviceready Event 250

Application Status Events 251

Network Status Events 254

Button Events 256


Chapter 18: File 263

Available Storage Types 263

Accessing the Device’s File System 264

Reading Directory Entries 267

Accessing FileEntry and DirectoryEntry Properties 269

Writing Files 272

Reading Files 274

Deleting Files or Directories 275

Copying Files or Directories 276

Moving Files or Directories 276

Uploading Files to a Server 277


Chapter 19: Geolocation 279

Getting a Device’s Current Location 280

Watching a Device’s Location 284


Chapter 20: Media 293

The Media Object 293

Playing Audio Files 298

Recording Audio Files 299

Seeing Media in Action 300


Chapter 21: Notification 307

Visual Alerts (Alert and Confirm) 307

Beep 310

Vibrate 310

Notification in Action 310


Chapter 22: Storage 315

Local Storage 316

SQL Database 317


Appendix A: Installing the PhoneGap Files 327

Preparing for Samsung bada Development 329

Preparing for iOS Development 329

Preparing for Windows Phone Development 330


Appendix B: Installing the Oracle Java Developer Kit 333

Downloading the JDK 333

Installing the JDK 335

Configuring the Windows Path 335

Confirming Installation Success 336


Appendix C: Installing Apache Ant 337

Macintosh Installation 337

Windows Installation 338


Index 341

Purchase Info

ISBN-10: 0-13-292835-3

ISBN-13: 978-0-13-292835-9

Format: eBook (Watermarked)?

This eBook includes the following formats, accessible from your Account page after purchase:

ePubEPUBThe open industry format known for its reflowable content and usability on supported mobile devices.

MOBIMOBIThe eBook format compatible with the Amazon Kindle and Amazon Kindle applications.

Adobe ReaderPDFThe 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.

Includes EPUB, MOBI, and PDF


Add to Cart