querying device orientation, 158–161
watching device orientation, 161–164
addresses
array, specifying contact properties, 225–226
Adobe, in history of PhoneGap, 5
Alerts
debugging PhoneGap applications and, 37–38
allowEdit
property, Camera API, 180
accelerator determining device orientation, 157–158, 164
Apache Ant and, 337
application status events, 253–254
building PhoneGap applications, 13–14
camera simulators, 170
Capture API example on, 200–204
Compass API example on, 209
configuring PhoneGap Build for mobile platforms, 143–145
contact information, 231
debugging PhoneGap applications, 41–43
device object running on, 245
Eclipse plug-in and, 19
errors related to contact information, 229–230
geolocation support, 279
JDK (Java Developer Kit) and, 333–334
Media API support, 293
media files, 295
network status events, 256
operating systems supported by PhoneGap, 3
PhoneGap API support, 9
PhoneGap Build support, 141
picture capture process, 168–169, 173–175
releasing Media
objects, 298
searching for contact information, 235
testing applications created with PhoneGap Build, 152
testing applications on physical devices, 36–37
watchHeading
function on, 213
AVD (Android Virtual Device) for testing PhoneGap applications, 60–64
configuring Eclipse development environment, 64–66
creating PhoneGap project, 67–69
creating PhoneGap project with Eclipse, 73–74
installing SDK on Macintosh OSs, 60
installing SDK on Windows OSs, 58–59
making changes to Java source files, 70–72
managing PhoneGap projects from command-line, 74–77
options for creating PhoneGap projects, 66–67
steps in installation of, 57–58
testing PhoneGap applications, 77–79
Android Virtual Device (AVD), testing PhoneGap applications with, 60–64, 78
Antenna Volt, types of hybrid applications, 21
Apache
Cordova Git repository. See Git repository
history of PhoneGap and, 5
Apache Ant
BlackBerry development environment and, 97
building PhoneGap applications, 76–77
installing on Macintosh OSs, 337
installing on Windows OSs, 338–339
APIs (application programming interfaces)
capturing settings from another application and adding to bada project, 93
consistency as cross-platform issue, 50–51
defining application version in bada, 88–90
PhoneGap APIs. See PhoneGap APIs
PhoneGap supported, 10
running web applications within PhoneGap container, 8
suite in PhoneGap, 3
Appcelerator Titanium, types of hybrid applications, 20
Apple
development environment. See iOS development environment
iOS. See iOS
iPhone. See iPhone
PhoneGap and, 11
registering as Apple developer, 113–114
Application container, designing for, 11–13
Application development
on Android. See Android development tools
on bada. See bada development environment
on BlackBerry. See BlackBerry development environment
on iOS. See iOS development environment
with PhoneGap Build. See PhoneGap Build
with Symbian. See Symbian development environment
Windows OSs. See Windows development environment
Application Manager, bada
creating application ID, 88
creating application profile, 86–88
defining application version, 88–90
defining platform version, 90–93
selecting target devices, 93–94
Application profile, creating for bada development project, 86–88
Application status events, 251–254
Applications, PhoneGap. See also Web applications
debugging. See Debugging PhoneGap applications
hybrid. See Hybrid applications
leveraging PhoneGap APIs, 28–30
running on physical device, 36–37
running on simulators, 29–30, 33–34, 35–36
testing. See Testing PhoneGap applications
user interface enhancements, 30–35
Web 1.0 approach to building, 11
Web 2.0 approach to building, 11–12
Arrays, specifying contact properties, 225–226
AT&T WorkBench, 21
Audio
capture on Android devices, 202
capture with Capture API, 186, 198–199
creating Media
objects, 294
determining current position while playing, 297
determining duration of playback, 297–298
example of use of Media API, 300–305
AVD (Android Virtual Device), testing PhoneGap applications with, 60–64, 78
adding manifest file to PhoneGap project, 94–95
capturing API settings from another application, 93
configuring application security, 90, 92
creating application ID, 88
creating application profile, 86–87
creating PhoneGap project, 82–86
defining application version, 88–89
defining platform version, 90–92
defining unique name for application, 87–88
downloading/installing PhoneGap files, 80–82
preparing PhoneGap for, 329
selecting target devices, 93–94
testing PhoneGap applications, 95–96
bada (Samsung), PhoneGap supported operating systems, 4
Beep, in Notification API, 310
BES (BlackBerry Enterprise Server), 109
accelerator determining device orientation, 157–158
accelerator support and, 161
adding/saving contacts, 232–233
Apache Ant and, 337
application status events and, 253
build issues, 151
building PhoneGap applications, 14–15
configuring camera options, 178, 180
configuring PhoneGap Build for mobile platforms, 143–145
debugging PhoneGap applications, 40–41
device object running on simulator, 245–246
E/S (emulator/simulator) and, 35–36
errors related to contact information, 229–230
FileWriter
object and, 274
geolocation support, 279
getting current location of device, 284
HelloWorld application on, 29–30, 34
JDK (Java Developer Kit) for building applications, 333
Media API support, 293
mileage tracker example, 322
PhoneGap API documentation, 51
PhoneGap Build support, 141
PhoneGap supported operating systems, 4
picture capture process, 168, 170–172
reading directory entries, 269–272
running contacts example on, 231
searching for contact information, 234
signing keys, 99
storing contact information, 228
testing applications created with PhoneGap Build, 152
testing applications on physical device, 36–37
watching location of device, 286, 288
WebWorks. See WebWorks
BlackBerry development environment
building PhoneGap applications, 107–109
creating PhoneGap project, 99–100
installing WebWorks SDK, 98–99
overview of, 97
testing PhoneGap applications on device, 111–112
testing PhoneGap applications on simulator, 109–111
BlackBerry® Development Fundamentals (Wargo), xxiv, 21, 40, 97, 105, 107
BlackBerry Enterprise Server (BES), 109
BlackBerry Mobile Data System (MDS)
testing PhoneGap applications on, 109–111
BlackBerry WebWorks. See WebWorks
Build process. See also PhoneGap Build
accessing contact information and, 230
in BlackBerry development environment, 104–107
building applications for BlackBerry, 107–109
in PhoneGap Build, 148
build.xml file
, 109
Button events
list of button types, 257
overriding button behavior, 257–258
running on Android, 261
Callback functions
DirectoryReader
object and, 267
File API, 270–271, 273–274, 277–278
how PhoneGap works and, 9
accessing pictures on devices, 165–166
allowEdit
, 180
Capture API compared with, 185
configuring camera options, 176
dealing with issues related to, 182–184
encodingType
, 181
inconsistencies between device platforms, 168–170
overview of, 165
targetHeight
and targetWidth
, 181
Cameras, testing PhoneGap applications via, 152–153
audio and video capture, 198–199
Camera API compared with, 185
configuring capture options, 189–191
inconsistencies between device platforms, 195–196
Media API compared with, 293
overview of, 185
running on Android device, 200–204
running on BlackBerry device, 204
clone
method, contacts and, 242
Cloud
building PhoneGap applications in, 141
packaging PhoneGap applications, 14
Command-line tools
development on BlackBerry and, 98
overview of, 205
querying device orientation, 205–206
watchHeading
function, 210–213
watchHeadingFilter
function, 213–215
watching device orientation, 209
Compression, JPEG format, 177
config.xml
file
PhoneGap Build and, 16
PhoneGap Build projects, 145–146, 150
confirm
method, in Notification API, 307–310
running on Android device, 220
console
object, JavaScript, 38–39
adding/saving contact on BlackBerry, 232–233
cloning contacts, 242
creating contacts, 224
overview of, 223
removing contacts, 242
running on Android device, 235
running on BlackBerry device, 231
running on iOS device, 235
searching for contact information on BlackBerry, 234
searching for contact information on iPhone, 237
searching for contacts, 235–241
specifying contact properties, 224–226
Contacts API, W3C, 223
Copying files or directories, 276
Cordova Git repository. See Git repository
createTable
function, SQL database, 319–320
building native applications, 3
CSS (Cascading Style Sheets)
building cross-platform native application, 3
running web applications within PhoneGap container, 7
Cygwin, building Symbian applications on Windows OS, 126–128
Dalvik Debug Monitor Server (DDMS), 42–43
database
object, transaction
method of, 319
DDMS (Dalvik Debug Monitor Server), 42–43
Debug mode, in PhoneGap Build, 153–154
Debugging camera problems, 183–184
Debugging PhoneGap applications
leveraging debugging capabilities, 37–43
overview of, 35
RMEE (Ripple Mobile Environment Emulator) for debugging, 44–46
on Symbian, 134
Weinre (Web Inspector Remote) for debugging, 46–49
destinationType
property, Camera API settings, 178–179
Developers
adding developer tools to Eclipse, 65–66
registering as Apple developer, 113–114
tools for, 55
Development environments
Android. See Android development tools
bada. See bada development environment
BlackBerry. See BlackBerry development environment
iOS. See iOS development environment
PhoneGap Build. See PhoneGap Build
Symbian. See Symbian development environment
Device APIs and Policy (DAP) Working Group, W3C (Worldwide Web Consortium), 10
Device location
getting current location, 280–284
watching location of, 284
device
properties, 244
overview of, 243
running on Android, 245
running on BlackBerry, 245–246
running on iPhone, 246
Device orientation, in Accelerator API
querying device orientation, 158–161
watching device orientation, 161–164
Device orientation, in Compass API
querying device orientation, 205–206
watchHeading
function, 210–213
watchHeadingFilter
function, 213–215
watching device orientation, 209
device
properties, device object, 244
Devices, physical. See Physical devices
Digital signing, configuring PhoneGap Build for mobile platforms, 143–145
Directories
accessing, 264
copying, 276
errors accessing, 265
reading directory entries, 267–269
DirectoryEntry
object
copying directories, 276
DirectoryReader
object, 267–269
Documentation, PhoneGap API, 17–18, 51
Dojo Mobile, 31
Downloads
installing PhoneGap and, 327
JDK (Java Developer Kit), 333–334
Droid (Motorola), Capture API example on, 201
Drupal, PhoneGap plug-ins, 19
Duration, audio playback, 297–298
duration
property, Capture API, 190
camera simulators, 170
contacts example on BlackBerry simulator, 231
device object running on BlackBerry simulator, 245–246
device object running on iPad simulator, 246–248
launching PhoneGap project in iPhone simulator, 120
onCameraError
on iOS simulator, 183
running PhoneGap applications, 35–36, 78
testing BlackBerry applications, 109–111
testing PhoneGap application in bada emulator, 95–96
testing PhoneGap application in iPhone simulator, 123
testing PhoneGap application with AVD, 60–64
testing PhoneGap Build applications, 152
Windows Phone Emulator, 136
Eclipse
configuring development environment for, 64–66
creating PhoneGap project with, 67–74
PhoneGap plug-ins, 19
testing PhoneGap applications, 36–37, 77
Workbench, 65
Emulator Web Application, testing application in bada emulator, 95–96
encodingType
property, Camera API settings, 181
Enterprises, iOS development and, 114
Errors
Compass API, 206
database transactions, 319–321
directory access, 265
file and directory access, 265–266
geolocation, 281
Event listeners
for application status events, 251–253
for deviceready
events, 250–251
Event Log application, BlackBerry, 40–41
application status events, 251–254
creating event listeners, 249–250
network status events, 254–256
types of events supported by PhoneGap, 249
ExternalHosts, configuring in Xcode, 305
Facebook, PhoneGap plug-ins, 18
accessing file system, 264–267
copying files or directories, 276
deleting files or directories, 275–276
FileEntry
and DirectoryEntry
properties, 269–272
moving files or directories, 276–277
overview of, 263
reading content from files, 274–275
reading directory entries, 267–269
uploading files to servers, 277–278
writing data to files, 272–274
File API:Directories and System specification, W3C (Worldwide Web Consortium), 263
File system, accessing, 264–267
FileEntry
object
copying files, 276
deleting files, 275
FileURI
, for Media
object, 294–295
Folders
installing PhoneGap and, 328
location for iOS project, 118
4G networks, connection object and, 218
getting current location of device, 280–284
watching device location, 284
Geolocation API specification, W3C (Worldwide Web Consortium), 279
delivering application files to build server, 147
downloading/installing files for bada development project, 80–81
Google Android. See Android
Google Groups, 19
GPS capabilities. See Geolocation API
Graphics. See Images
HP/Palm webOS. See webOS
HTML (Hypertext Markup Language)
building cross-platform native applications, 3
HTML5 approach to building PhoneGap applications, 11–13
HTML5 support for geolocation, 279
HTML5 support for storage, 315
running web applications within PhoneGap container, 7
Web 1.0 (traditional) approach to building applications, 11
Web 2.0 approach to building applications, 11–12
defined, 3
Hypertext Markup Language. See HTML (Hypertext Markup Language)
IBM, in history of PhoneGap, 4–5
IBM Worklight, 22
Icons
creating iOS projects, 119
creating PhoneGap Build projects, 145–146
as cross-platform issue, 53
IDEs (integrated development environments)
Eclipse as, 64
Image capture. See Camera API; Capture API
accessing on mobile devices, 165–166
accessing pictures on devices, 165–166
displaying image file URI, 169–170
mediaType
property, 182
rotating graphics with jQuery Rotate, 212
index.html
creating PhoneGap project with Eclipse, 73–74
delivering application files to build server, 146
Infuse 4G device (Samsung), 204
Initialization, of PhoneGap applications, 25–28
INSERT
statement, SQL database, 323–324
Installing PhoneGap. See PhoneGap installation
Integrated development environments (IDEs)
Eclipse as, 64
accessing media files, 295
application status events, 251, 253
building PhoneGap applications, 15
camera simulators, 170
Capture API example on, 197
configuring camera options, 180
configuring PhoneGap Build for mobile platforms, 143–145
device object running on iPad simulator, 246–248
displaying image file URI, 169–170
Hello, World! application on, 26
Media API support, 293
onCameraError
in iOS simulator, 183
PhoneGap API documentation, 51
PhoneGap API support, 9
PhoneGap Build support, 141
PhoneGap plug-in for Drupal, 19
PhoneGap supported operating systems, 3
picture capture process, 168–169
searching for contact information, 235
testing applications on physical device, 36
uploading files to server and, 278
accessing web content for project, 119–122
creating PhoneGap project, 116–117
folder location for projects, 118
naming projects and defining project locations, 117–118
overview of, 113
preparing PhoneGap for, 329–330
registering as Apple developer, 113–114
testing PhoneGap applications, 122–123
iPad
accelerator support and, 159
Camera API example, 167–168, 191–195
configuring camera options, 180
device object, 246
inconsistent implementation of PhoneGap APIs, 30
launching PhoneGap project in, 120
PhoneGap support, 3
running HelloWorld application on iPhone simulator, 26
searching for contact information, 237
testing PhoneGap application in, 123
iPhoneDevCamp, 4
Java API, RIM (Research In Motion), 246
Java Developer Kit. See JDK (Java Developer Kit)
Java, making changes to source file using Eclipse, 70–71
JavaScript
alert
method, 307
bada source code files, 329
build cross-platform native applications, 3
building PhoneGap applications, 13–14
cross-platform issue, 51
loading JavaScript library, 27
running web applications within PhoneGap container, 7–8
Web 2.0 approach to building applications, 11–12
WebWorks providing JavaScript methods, 246
Android development and, 57
bada and, 80
BlackBerry development and, 97
configuring Windows Path environment, 335–336
confirming installation of, 336
installing, 334
JRE (Java Runtime Environment) included in, 337
JPEG format
compression, 177
images, 181
mode
property of Capture API, 190
jQuery
$()
function, 212
reasons for using, 268
rotating graphics with, 212
as application interface, 192, 200
creating interface for directory reader, 268
creating interface for media application, 300–301
creating interface for notification application, 313
searching for contact information, 237
use in application development, 30–35
JRE (Java Runtime Environment), 333–334, 337
Key/value pairs, local storage and, 316
Launch screens, creating iOS PhoneGap project, 119
LG Thrill device
device object on, 245
limit
property, Capture API, 190
building Symbian PhoneGap applications on, 125
configuring Eclipse development environment, 64
launching Unix applications from command line, 75
options for PhoneGap development on Android, 57
Local storage, Storage API, 316–317
bada development tools and, 79
building Symbian PhoneGap applications on, 125–127
configuring Eclipse development environment, 64
development environment. See iOS development environment
installing Android SDK on, 60
installing Apache Ant on, 337
Installing BlackBerry WebWorks SDK, 98–99
JDK (Java Developer Kit) and, 333
launching Unix applications from command line, 75
options for PhoneGap development on Android, 57
packaging Symbian PhoneGap projects, 131
testing Symbian PhoneGap projects, 132
Windows Phone development and, 135
Magnetic poles, device orientation and, 206
Make utility
packaging PhoneGap projects, 131–132
Manifest file, adding to PhoneGap project in bada, 94–96
creating Media
objects, 294
determining current position while playing media files, 297
determining duration of playback, 297–298
overview of, 293
releasing Media
objects, 298
Media Capture API, W3C (Worldwide Web Consortium), 185
Media files, using Capture API, 186–187
Media
objects
creating, 294
releasing, 298
mediaType
property, Camera API settings, 181–182
Memory cards, 61
Microsoft Windows. See Windows OSs
Mobile browsers. See also Web browsers, 279
testing PhoneGap BlackBerry applications on, 109–111
mode
property, Capture API, 190–191
Motorola Droid, Capture API example on, 201
Moving files or directories, 276–277
Names
defining unique name for application, 87–88
iOS PhoneGap project, 117
PhoneGap Build project, 145
Navigation, as cross-platform issue, 52
Navigator object, instantiating APIs from, 28
Network status events, 254–256
Networks, connection object and, 217–218
New project dialog, PhoneGap Build, 147–148
Nitobi
support offered by, 19
Nokia
Symbian. See Symbian
beep, 310
example application of, 310–313
overview of, 307
vibrate, 310
offline
events, network status events, 254
online
events, network status events, 254
onStatus
function, media playback and, 296–297
Open source frameworks
PhoneGap as, 3
support and, 19
Optic quality, cameras and, 177
Oracle JDK. See JDK (Java Developer Kit)
organizations array
, specifying contact properties, 226
OSs (operating systems)
application requirements as cross-platform issue, 52
bada. See bada (Samsung)
configuring Eclipse development environment, 64
emulator/simulators and, 35–36
installing Apache Ant on, 337–339
JDK (Java Developer Kit) and, 334
Linux OSs. See Linux OSs
Macintosh OSs. See Macintosh OSs
Windows OSs. See Windows OSs
OTA (over the air)
deploying applications to BlackBerry smartphones, 108–109
testing PhoneGap applications, 152
Packaging PhoneGap projects
cloud-based service, 14
Palm webOS (HP). See webOS
pause
events, application status events, 251–254
pause
method, Media
objects, 298–299
Persistent storage, file storage options, 263–264
accelerometer. See Accelerator API
camera. See Camera API
capture. See Capture API
capturing API settings from another application and adding to bada project, 93
compass. See Compass API
connection. See Connection object
contacts. See Contacts API
defining application version in bada, 88–90
devices. See Device object
events. See Events API
files. See File API
geolocation capabilities. See Geolocation API
media. See Media API
notifications. See Notification API
responding to JavaScript calls, 27–28
storage. See Storage API
supporting multiple mobile platforms, 8–9
build process, 148
building applications with, 27
cloud-based packaging service, 14
config.xml
file, 16
creating application for, 145–146
creating projects, 146
dealing with build issues, 150–151
debugging applications, 153–154
delivering application files to build server, 146–147
development environments compared with, 142
need for, 328
overview of, 141
preparing for bada development, 329
preparing for iOS development, 329–330
preparing for Windows Phone development, 330–331
PhoneGap, introduction to
designing for application container, 11–13
hybrid application frameworks, 19–22
support options and resources, 19
testing accelerator on, 158
testing applications created with PhoneGap Build, 152
testing BlackBerry applications on, 111–112
testing Eclipse applications on, 78–79
testing PhoneGap applications on, 36–37
Pictures. See also Images
mediaType
property, 182
play
method, Media
object, 298–299
Playback, of media files
determining current position, 297
determining duration of, 297–298
Eclipse, 64
jQuery Rotate, 212
Properties
FileEntry
and DirectoryEntry
, 269–272
quality
property, Camera API settings, 177–178
Queries, SQL databases, 324–325
Reading
remove
method, contacts, 242
Research In Motion. See RIM (Research In Motion)
resume
events, application status, 251–254
BlackBerry. See BlackBerry
emulator/simulators and, 35–36
Java API, 246
PhoneGap supported operating systems, 4
RMEE (Ripple Mobile Environment Emulator), 44–46
RMEE (Ripple Mobile Environment Emulator), 44–46
Samsung
bada development environment. See bada development environment
Infuse 4G device, 204
PhoneGap supported operating systems, 4
SDKs (software development kits)
downloading/installing bada SDK, 80–82
installing Android SDK on Macintosh OSs, 60
installing Android SDK on Windows OSs, 58–59
installing BlackBerry WebWorks SDK, 98–99
PhoneGap Build compared with, 142
testing PhoneGap applications, 78–79
Searches, for contacts, 235–241
Security
configuring in bada development environment, 90, 92
PhoneGap Build projects and, 145
seekTo
method, Media
objects, 298–299
Sencha Touch, use in application development, 31
Servers
BES (BlackBerry Enterprise Server), 109
DDMS (Dalvik Debug Monitor Server), 42–43
delivering application files to build server, 146–147
Session storage, local storage, 316
Signing keys
BlackBerry applications, 99
configuring PhoneGap Build for mobile platforms, 143–145
Simulators. See E/S (emulator/simulator)
Smartphones
application status events, 251
button events, 256
Capture API example on, 201
connection object, 217
current location of, 280
deploying applications to, 108–109
device object example, 245
emulator/simulators and, 35–36
geolocation capabilities, 279
how PhoneGap works, 6
memory cards, 61
mimicking native applications, 31
Ripple emulator and, 46
running HelloWorld application on, 24–25
specifying contact properties and, 226
testing PhoneGap applications, 152–153
Web 1.0 and Web 2.0 technologies, 12
sourceType
property, Camera API settings, 179–180
Splash screens, PhoneGap Build projects, 145–146
SQL databases
creating transactions, 317–318
example of mileage tracker application, 322
executing SQL statements, 320–324
opening, 317
passing functions to transactions, 319–320
querying SQL statements, 324–325
SQL (Structured Query Language), 317
SQLLite database engine, 315, 326
stop
method, Media
object, 298–300
creating database transactions, 317–318
executing SQL statements, 320–324
mileage tracker example on BlackBerry Torch 9800, 322
opening SQL database, 317
overview of, 315
passing functions to transactions, 319–320
querying SQL statements, 324–325
SQLLite and, 326
Strings, specifying contact properties, 224–225
Strobe, types of hybrid applications, 22
Structured Query Language (SQL), 317
building PhoneGap applications, 15
cross-platform issues, 51
PhoneGap Build support, 141
supported operating systems, 4
Symbian development environment
configuring application settings, 129–130
creating PhoneGap project, 128–129
installing Make utility, 126–127
installing Nokia Web Tools, 125–126
modifying HelloWorld application for, 130–131
overview of, 125
packaging PhoneGap projects, 131–132
testing applications created with PhoneGap Build, 152
testing PhoneGap applications, 132–134
Tablets, support for WebWorks tablet applications, 103
targetHeight/targetWidth
properties, Camera API settings, 181
Temporary storage
accessing temporary sandbox storage, 264–265
on Android emulator, 78
on AVD (Android Virtual Device), 60–64
in bada development environment, 95–96
in BlackBerry development environment, 109–112
in iOS development environment, 122–123
overview of, 35
on physical device, 36–37, 78–79
in Symbian development environment, 132–134
in Windows development environment, 139–140
Tiggr, types of hybrid applications, 22
Titanium Appcelerator, 20
Torch simulators. See also BlackBerry
contacts example running on, 231
getting current location of device, 284
HelloWorld application running on, 29–30
mileage tracker example, 322
reading directory entries, 269–272
watching location of device, 286, 288
transaction
method, of database
object, 319
type
property, connection object, 217–218
UIs (user interfaces). See also jQuery Mobile (jQM)
cross-platform issues related to, 52
Universities, iOS development and, 114
Uploading files
URI
Camera API and, 165
camera destinationType
properties, 177–178
camera quality
properties, 177–178
configuring camera options, 176
FileURI
for media objects, 294–295
iOS example displaying image file URI, 169–170
USB
running PhoneGap applications on physical device, 78
testing PhoneGap BlackBerry applications, 111
User interfaces (UIs). See also jQuery Mobile (jQM)
cross-platform issues related to, 52
Versions, in bada development project
defining application version, 88–89
defining platform version, 90–92
Versions, in iOS development project, 118–119
Vibrate, in Notification API, 310
with Capture API, 186, 198–199
Video, mediaType
property, 182
Virtual machines (VMs)
developing applications for Windows Phone, 135
running Windows OS on Macintosh, 79
Visual alerts, in Notification API, 307–310
Visual Studio 2010 Express
creating Windows Phone project, 136–139, 330
testing Windows Phone project, 139–140
VMs (virtual machines)
developing applications for Windows Phone, 135
running Windows OS on Macintosh, 79
Voice recorders, audio capture on Android devices, 202–203
W3C (Worldwide Web Consortium)
Contacts API, 223
Device APIs and Policy (DAP) Working Group, 10
File API:Directories and System specification, 263
Geolocation API specification, 279
Media API and, 293
Media Capture API, 185
Web SQL Database Specification, 315
Web Storage API Specification, 315
Widget Packaging and XML Configuration specification, 145
widget specification, 125
watchHeading
function, Compass API, 210–213
watchHeadingFilter
function, Compass API, 213–215
watchID
variable, geolocation API
overview of, 284
Web 1.0, 11
Web App Simulator
Nokia Web Tools for Windows OSs, 126
packaging Symbian PhoneGap projects, 126
testing Symbian PhoneGap projects, 132–134
building into PhoneGap application, 25
building PhoneGap applications, 13–16
PhoneGap application types and, 37
running within PhoneGap container, 7–8
geolocation support, 279
running web applications within PhoneGap container, 7–8
Web content
accessing for iOS PhoneGap project, 119–122
adding to Windows Phone PhoneGap project, 138
creating PhoneGap project using PhoneGap Build, 145–146
folder structure as cross-platform issue, 51
Web Inspector, debugging Symbian PhoneGap projects, 134
Web Inspector Remote (Weinre)
debugging applications created with PhoneGap Build, 154
debugging PhoneGap applications, 46–49
configuring application settings for PhoneGap project on Symbian, 129–130
running PhoneGap applications on Symbian as, 125–126
Web sites, PhoneGap resources, 19
Web SQL Database Specification, W3C (Worldwide Web Consortium), 315
Web Storage API Specification, W3C (Worldwide Web Consortium), 315–316
Web views, rendering, 7
building PhoneGap applications, 14–15
PhoneGap Build support, 141
PhoneGap supported operating systems, 3
testing applications created with PhoneGap Build, 152
WebSDKSimulator
Nokia Web Tools for Mac OSs, 126
testing Symbian PhoneGap projects, 132
WebWorks. See also BlackBerry
accessing contact information and, 230
creating PhoneGap project, 99–100
debugging web content, 37
JavaScript methods provided by, 246
overview of, 21
Weinre (Web Inspector Remote)
debugging applications created with PhoneGap Build, 154
debugging PhoneGap applications, 46–49
.wgz
files, packaging PhoneGap projects, 131
Wi-Fi networks, connection object and, 217–218
Widget Packaging and XML Configuration specification, W3C (Worldwide Web Consortium), 145
Widgets
configuring application settings for PhoneGap project on Symbian, 129–130
running PhoneGap applications on Symbian as, 125
Wikis, PhoneGap resources, 19
Windows development environment
creating PhoneGap project, 136–139
installing Windows Phone development tools, 135–136
overview of, 135
testing PhoneGap applications, 139–140
bada development tools and, 79
building Symbian PhoneGap applications on, 125–126
configuring Eclipse development environment, 64–65
installing Android SDK on, 58–59
installing Apache Ant on, 338–339
Installing BlackBerry WebWorks SDK, 98–99
options for PhoneGap development on Android, 57
packaging Symbian PhoneGap projects, 131
testing Symbian PhoneGap projects, 132–134
Windows Path environment
configuring for use with JDK, 335–336
installing Apache Ant on Windows OSs, 338–339
Windows Phone
building PhoneGap applications, 15
creating PhoneGap project for, 136–139
installing development tools, 135–136
PhoneGap supported operating systems, 3
preparing PhoneGap for, 330–331
support for, 135
Windows Phone Emulator, 136, 140
Workbench. See AT&T WorkBench
Worklight, types of hybrid applications, 22
Worldwide Web Consortium. See W3C (Worldwide Web Consortium)
Writing data, to files, 272–274
WRT (Web Runtime) widgets
configuring application settings for PhoneGap project on Symbian, 129–130
running PhoneGap applications on Symbian as, 125–126
X coordinates. See Device orientation, in Accelerator API
Xcode
accessing web content for iOS project, 119–122
configuring ExternalHosts, 305
naming projects and defining project locations, 117–118
new project window, 117
preparing PhoneGap for iOS development, 329
welcome screen, 116
XHTML, 11
Y coordinates. See Device orientation, in Accelerator API
Z coordinates. See Device orientation, in Accelerator API
Zip archives
options for delivering application files to build server, 146
packaging PhoneGap projects, 131
PhoneGap files distributed via, 328