www.it-ebooks.info ffirs.indd iiffirs.indd ii 10/27/11 5:04:56 PM10/27/11 5:04:56 PM www.it-ebooks.info BEGINNING PHONEGAP INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix CHAPTER 1 Introducing PhoneGap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 CHAPTER 2 Installing and Confi guring PhoneGap . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17 CHAPTER 3 Basic Walkthrough . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31 CHAPTER 4 Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 CHAPTER 5 Working with the Device, the Network, and Notifi cations . . . . . . . . . . . 59 CHAPTER 6 Accelerometer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 CHAPTER 7 Compass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 CHAPTER 8 Geolocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 CHAPTER 9 Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 CHAPTER 10 Camera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 CHAPTER 11 Storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 CHAPTER 12 Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 CHAPTER 13 Contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 CHAPTER 14 Capture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 CHAPTER 15 Creating a Note-Taking Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 APPENDIX A Answers to Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 APPENDIX B Tools for PhoneGap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .235 APPENDIX C PhoneGap .js . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247 APPENDIX D PhoneGap Plug-ins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 ffirs.indd iffirs.indd i 10/27/11 5:04:55 PM10/27/11 5:04:55 PM www.it-ebooks.info ffirs.indd iiffirs.indd ii 10/27/11 5:04:56 PM10/27/11 5:04:56 PM www.it-ebooks.info BEGINNING PhoneGap Thomas Myer John Wiley & Sons, Inc. ffirs.indd iiiffirs.indd iii 10/27/11 5:04:56 PM10/27/11 5:04:56 PM www.it-ebooks.info Beginning PhoneGap Published by John Wiley & Sons, Inc. 10475 Crosspoint Boulevard Indianapolis, IN 46256 w w w.wiley .com Copyright © 2012 by John Wiley & Sons, Inc., Indianapolis, Indiana Published simultaneously in Canada ISBN: 978-1-118-15665-0 ISBN: 978-1-118-22600-1 (ebk) ISBN: 978-1-118-23932-2 (ebk) ISBN: 978-1-118-25399-1 (ebk) Manufactured in the United States of America 10 9 8 7 6 5 4 3 2 1 No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008, or online at http://www.wiley.com/go/permissions. Limit of Liability/Disclaimer of Warranty: The publisher and the author make no representations or warranties with respect to the accuracy or completeness of the contents of this work and specifi cally disclaim all warranties, including without limitation warranties of fi tness for a particular purpose. No warranty may be created or extended by sales or promotional materials. The advice and strategies contained herein may not be suitable for every situation. This work is sold with the understanding that the publisher is not engaged in rendering legal, accounting, or other professional services. If professional assistance is required, the services of a competent professional person should be sought. Neither the publisher nor the author shall be liable for damages arising herefrom. The fact that an organization or Web site is referred to in this work as a citation and/or a potential source of further information does not mean that the author or the publisher endorses the information the organization or Web site may provide or recommendations it may make. Further, readers should be aware that Internet Web sites listed in this work may have changed or disappeared between when this work was written and when it is read. For general information on our other products and services please contact our Customer Care Department within the United States at (877) 762-2974, outside the United States at (317) 572-3993 or fax (317) 572-4002. Wiley publishes in a variety of print and electronic formats and by print-on-demand. Some material included with standard print versions of this book may not be included in e-books or in print-on-demand. If this book refers to media such as a CD or DVD that is not included in the version you purchased, you may download this material at http ://booksupport.wiley. com. For more information about Wiley products, visit w w w.wile y .co m. Library of Congress Control Number: 2011939646 Trademarks: Wiley, the Wiley logo, Wrox, the Wrox logo, Programmer to Programmer, and related trade dress are trademarks or registered trademarks of John Wiley & Sons, Inc. and/or its affi liates, in the United States and other countries, and may not be used without written permission. Android is a trademark of Google. Blackberry is a registered trademark of Research In Motion. All other trademarks are the property of their respective owners. John Wiley & Sons, Inc., is not associated with any product or vendor mentioned in this book. ffirs.indd ivffirs.indd iv 10/27/11 5:04:57 PM10/27/11 5:04:57 PM www.it-ebooks.info To my wife, Hope, for loving me anyway. ffirs.indd vffirs.indd v 10/27/11 5:04:58 PM10/27/11 5:04:58 PM www.it-ebooks.info ffirs.indd viffirs.indd vi 10/27/11 5:04:58 PM10/27/11 5:04:58 PM www.it-ebooks.info ABOUT THE AUTHOR THOMAS MYER works and lives in Austin, Texas. He’s been a PHP web developer for about ten years, and a mobile apps developer for the past three. Until recently, he was the Top Dog of Triple Dog Dare Media, but now works for Deal Management, LLC, out of Minnesota, where he builds web and mobile apps. You can follow him at @myerman on Twitter. ABOUT THE TECHNICAL EDITORS BRIAN LEROUX is the lead software architect at Nitobi Inc. where he focuses on delivering web and mobile apps and helping developers all over the world write their apps. He is a contributor to the popular PhoneGap Open Source framework, and is the creator of XUI and Lawnchair. DANNY LOWE was born in Huntington Beach, and raised in Southern California, but now calls Austin, Texas, his home. He is a computer programming superhero who has been skillfully hiding his secret identity since 1996. When he is not writing code and saving the careers of project managers by leaping tall deadlines in a single bound, Lowe is playing music, writing fi ction and poetry, or hanging out with his wife, Stephanie, and two sons. Follow him on Twitter at @DannyInAustin. ffirs.indd viiffirs.indd vii 10/27/11 5:04:58 PM10/27/11 5:04:58 PM www.it-ebooks.info ffirs.indd viiiffirs.indd viii 10/27/11 5:04:58 PM10/27/11 5:04:58 PM www.it-ebooks.info [...]... techsupport.shtml and complete the form there to send us the error you have found We’ll check the information and, if appropriate, post a message to the book’s errata page and fi x the problem in subsequent editions of the book P2P.WROX.COM For author and peer discussion, join the P2P forums at p2p.wrox.com The forums are a web- based system for you to post messages relating to Wrox books and related technologies, and. .. Language (HTML), and JavaScript ➤ You’ve been building working web apps for a while now (several years, more likely), and are thus conversant with web databases like MySQL, or at least have been involved in projects that work with MySQL ➤ You’ve been asked (either at your job or by a client) to build a mobile app that works on more than one platform (Android and iOS, for example), and you must get... Good/Bad At Understanding the Basics of a PhoneGap Application What You Can Build with PhoneGap Quick Overview of the API Mobile Design Issues Summary 8 8 9 10 10 12 13 15 CHAPTER 2: INSTALLING AND CONFIGURING PHONEGAP Downloading PhoneGap 17 17 Downloading PhoneGap for iOS Downloading PhoneGap for Android Downloading PhoneGap for BlackBerry Downloading PhoneGap for webOS Downloading PhoneGap for Symbian... post new messages and respond to messages other users post You can read messages at any time on the Web If you would like to have new messages from a particular forum e-mailed to you, click the Subscribe to this Forum icon by the forum name in the forum listing For more information about how to use the Wrox P2P, be sure to read the P2P FAQs for answers to questions about how the forum software works,... the forums, just follow these steps: 1 2 3 4 Go to p2p.wrox.com and click the Register link Read the terms of use and click Agree Complete the required information to join, as well as any optional information you wish to provide, and click Submit You will receive an e-mail with information describing how to verify your account and complete the joining process NOTE You can read messages in the forums... to PhoneGap’s website (www.phonegap.com), PhoneGap is an HTML5 app platform that allows you to author native applications with web technologies.” www.it-ebooks.info c01.indd 1 10/31/11 10:40:32 AM 2 ❘ CHAPTER 1 INTRODUCING PHONEGAP FIGURE 1-1: The homepage of the PhoneGap website As a developer, you’ll be using PhoneGap to develop working code for iPhones, Androids, BlackBerries, and webOS devices... offer a brief showcase of successful projects “Diary Mobile As shown in Figure 1-2, “Diary Mobile is a mobile app that helps you to better organize your life It features a Journal, a Task Manager, and a Planner You can keep notes on your Android or iPhone, and then synchronize your information back to a centralized web repository The app works offl ine, and automatically saves items online once you’re... It offers a simple, addictive interface for browsing and searching the Vimeo website (www.vimeo.com) — it’s a rich, immersive app, totally built with HTML, CSS, and JavaScript FIGURE 1-4: “Just One More” application “Orbium” As shown in Figure 1-5, “Orbium” is a fast-paced puzzle game available on iPhone, Android, and webOS It features high-quality graphics and an intuitive touch-screen interface www.it-ebooks.info... and there are lots more web developers out there than there are Objective-C ones The question was, could someone develop a framework that allowed web developers to leverage all their knowledge of HTML, CSS, and JavaScript that could also interact with the important native parts of an iPhone, such as the camera and compass? Within a year, PhoneGap was winning awards and was starting to support the Android... needed, so the information should be current Most of the discussions in this book focus on the “Big Two” mobile device operating www.it-ebooks.info flast.indd xix 10/27/11 5:11:12 PM INTRODUCTION systems (for Android and iOS devices), but also include information on BlackBerry, Palm/webOS, and other platforms as needed HOW THIS BOOK IS STRUCTURED This book has been written by keeping in mind the way a beginner . AUTHOR THOMAS MYER works and lives in Austin, Texas. He’s been a PHP web developer for about ten years, and a mobile apps developer for the past three. Until. delivering web and mobile apps and helping developers all over the world write their apps. He is a contributor to the popular PhoneGap Open Source framework, and