www.it-ebooks.info
www.it-ebooks.info
ffirs.indd ii
3/28/11 1:11:06 PM
BEGINNING
WINDOWS® PHONE 7 APPLICATION DEVELOPMENT
INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
CHAPTER 1
Introducing Windows Phone 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
CHAPTER 2
Jaw-Dropping Apps with the Help of Silverlight . . . . . . . . . . . . . . . . . . . 23
CHAPTER 3
Spice Up Your App with Shapes, Colors, Brushes, and Transforms . . . 65
CHAPTER 4
Advanced User Interface Techniques: Styles, Templates, and
the Visual State Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
CHAPTER 5
Isolated Storage, Page Navigation, and the Application Life Cycle . . .147
CHAPTER 6
Interacting with the Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
CHAPTER 7
Launchers, Choosers, and Advanced User Input. . . . . . . . . . . . . . . . . . 225
CHAPTER 8
Windows Phone 7 Services and Cloud Services . . . . . . . . . . . . . . . . . . 277
CHAPTER 9
Creating and Consuming Web Services . . . . . . . . . . . . . . . . . . . . . . . . . 305
CHAPTER 10
Web Services Push Notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
CHAPTER 11
XNA for Windows Phone 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
CHAPTER 12
Microsoft Expression Blend . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
CHAPTER 13
Using the Silverlight for Windows Phone Toolkit and
Creating Panoramic User Interfaces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
CHAPTER 14
Patterns, Frameworks, and Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
CHAPTER 15
Publishing Your Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
APPENDIX
Solutions to Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
www.it-ebooks.info
ffirs.indd i
3/28/11 1:11:03 PM
www.it-ebooks.info
ffirs.indd ii
3/28/11 1:11:06 PM
BEGINNING
Windows® Phone 7 Application
Development
BUILDING WINDOWS® PHONE APPLICATIONS
USING SILVERLIGHT® AND XNA®
Nick Lecrenski
Karli Watson
Robert Fonseca-Ensor
www.it-ebooks.info
ffirs.indd iii
3/28/11 1:11:06 PM
Beginning Windows® Phone 7 Application Development: Building Windows® Phone Applications
Using Silverlight® and XNA®
Published by
Wiley Publishing, Inc.
10475 Crosspoint Boulevard
Indianapolis, IN 46256
www.wiley.com
Copyright © 2011 Wiley Publishing, Inc., Indianapolis, Indiana
Published simultaneously in Canada
ISBN: 978-0-470-91233-1
ISBN: 978-1-118-09628-4 (ebk)
ISBN: 978-1-118-09629-1 (ebk)
ISBN: 978-1-118-09630-7 (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 />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 specifically disclaim all warranties, including
without limitation warranties of fitness 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 website may provide or recommendations it may make.
Further, readers should be aware that Internet websites 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 also publishes its books in a variety of electronic formats. Some content that appears in print may not be
available in electronic books.
Library of Congress Control Number: 2011920899
Trademarks: Wiley, the Wiley logo, Wrox, the Wrox logo, and Wrox Programmer to Programmer 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. Windows, Silverlight, and XNA are registered trademarks of Microsoft
Corporation. All other trademarks are the property of their respective owners. Wiley Publishing, Inc. is not associated
with any product or vendor mentioned in this book.
www.it-ebooks.info
ffirs.indd iv
3/28/11 1:11:08 PM
This book is dedicated to my beautiful wife, Kristie,
and my daughters, Tabetha and Cheyenne.
—Nick Lecrenski
For donna.
—Karli Watson
For the love of my life, Cara.
—Robert Fonseca-Ensor
www.it-ebooks.info
ffirs.indd v
3/28/11 1:11:09 PM
CREDITS
ACQUISITIONS EDITOR
PRODUCTION MANAGER
Paul Reese
Tim Tate
PROJECT EDITOR
VICE PRESIDENT AND EXECUTIVE GROUP PUBLISHER
Ginny Bess Munroe
Richard Swadley
TECHNICAL EDITOR
VICE PRESIDENT AND EXECUTIVE PUBLISHER
Jonathan Marbutt
Barry Pruett
PRODUCTION EDITOR
ASSOCIATE PUBLISHER
Kathleen Wisor
Jim Minatel
COPY EDITOR
PROJECT COORDINATOR, COVER
Kitty Wilson
Katie Crocker
EDITORIAL DIRECTOR
PROOFREADER
Robyn B. Siesky
Nancy Carrasco
EDITORIAL MANAGER
INDEXER
Mary Beth Wakefield
Robert Swanson
FREELANCER EDITORIAL MANAGER
COVER DESIGNER
Rosemarie Graham
Michael Trent
ASSOCIATE DIRECTOR OF MARKETING
COVER IMAGE
David Mayhew
© iStock/Oleksiy Mark
www.it-ebooks.info
ffirs.indd vi
3/28/11 1:11:10 PM
ABOUT THE AUTHORS
NICK LECRENSKI is a developer with 10 years of experience in a wide range of Microsoft
technologies including Visual C++, C#, VB, VB.NET, SQL Server, .NET Framework, ASP.NET,
AJAX, Silverlight, and more. He has a BS in Computer Science and has worked in various fields from
biometrics to financial services. He is also the founder and lead developer of MyFitnessJournal.com, a
fitness training website that currently utilizes Silverlight technology. He is also the author of
Silverlight 4: Problem - Design - Solution, available from www.wrox.com.
KARLI WATSON is an IT contractor and author currently working in London in the fi nancial sector.
For the most part, he immerses himself in .NET (in particular, C#) and has written numerous
books in the field for several publishers. He specializes in communicating complex ideas in a
way that is accessible to anyone with a passion to learn, and he spends much of his time playing
with technology to fi nd new things to teach people. During those (seemingly few) times where he
isn’t doing the previous, Karli is probably wishing he was hurtling down a mountain on a
snowboard or possibly trying to get his novel published. Either way, you’ll know him by his
brightly colored clothes.
ROBERT FONSECA-ENSOR is a software engineer consulting with Infusion (www.infusion.com).
From New Zealand, he currently lives in London. He specializes in user interface development and
has been working with Microsoft Surface, Silverlight, and WPF for the past four years. Rob has a
strong passion for learning new things and then teaching them to others. He enjoys attending and
presenting at .NET user groups so much that he started the Canary Wharf .NET User Group. He
plans to become a university professor “as soon as he gets sick of coding in the real world,” which
isn’t going to happen soon. Rob’s wife is an IOS developer, and together they have built and released
a couple of successful iPhone games. Now that his weekends are writing-free, he plans to churn out
some awesome WP7 games, so watch your back. Rob keeps a blog at www.robfe.com , and has a
twitter account at www.twitter.com/robfe.
www.it-ebooks.info
ffirs.indd vii
3/28/11 1:11:10 PM
ACKNOWLEDGMENTS
I WOULD LIKE TO THANK EVERYONE at Wrox who had a part in helping to get this book to print.
First, I would like to thank my family for supporting me on another book writing endeavor. I would
also like to take the time to thank Paul Reese for giving me the opportunity to work on another
book project and Ginny Munroe, our primary editor, who fought to keep us all on track and on
time, which was no easy task. I would also like to thank Jonathan Marbutt, our technical editor,
for checking all of our code and offering valuable input during the writing process. Finally, I would
also like to thank my co-authors, Karli and Robert, for their great work on this project and
ensuring that all of the material will help our readers realize the goal of developing mobile
applications on the new Windows Phone 7 platform.
—Nick
THANKS TO ALL AT WROX for their hard work in making my writing as good as it can be. In no particular order, thanks especially to Paul Reese for getting things off the ground, Ginny for infi nite
patience and good humour, and Kitty for her wordsmithing. Also, thanks to my fellow authors,
including many congratulations to Rob for getting through that “difficult fi rst book!”
—Karli
I COULD NEVER HAVE GOTTEN this far if not for my darling wife, Cara. You’re inspirational, patient,
and wonderful. Thank you for all the support you give me. Thanks to the staff at Wrox for all their
support and patience, especially Ginny and Paul. To all my mentors: Karli, Ben Gracewood, Dr. Rick
Mugridge, Dr. Ewan Tempero, David Okey, Alan Goodison, and especially my parents — thank you for
believing in me.
—Robert
www.it-ebooks.info
ffirs.indd viii
3/28/11 1:11:11 PM
CONTENTS
INTRODUCTION
xvii
CHAPTER 1: INTRODUCING WINDOWS PHONE 7
The Windows Mobile Platform
Here Comes the iPhone
Android Arrives
A Microsoft Reboot
1
2
2
3
4
The Windows Phone 7 Platform
Windows Phone 7 Hardware Specifications
Windows Phone 7 Architecture
Getting Started with Windows Phone 7 Development
Navigating through Visual Studio 2010 Express Edition
Summary
5
5
6
11
11
18
CHAPTER 2: JAW-DROPPING APPS WITH THE HELP OF SILVERLIGHT
Requirements for Windows Phone 7 Development
What Is Silverlight?
What Is XAML?
The Anatomy of a Windows Phone Application
Developing with Silverlight Controls
Common Control Properties
Layout Controls
Programming with Silverlight
Interactive Controls
Summary
23
24
24
26
26
34
35
37
44
47
62
CHAPTER 3: SPICE UP YOUR APP WITH SHAPES, COLORS,
BRUSHES, AND TRANSFORMS
Working with Shapes
65
65
The Ellipse Control
The Rectangle Control
The Line Control
The Polygon Control
The Polyline Control
66
67
69
73
74
Working with Colors
75
www.it-ebooks.info
ftoc.indd ix
3/28/11 6:48:43 PM
CONTENTS
Using Brushes
78
The SolidColorBrush Object
The LinearGradientBrush Object
The RadialGradientBrush Object
The ImageBrush Object
Applying Transforms
78
78
80
81
82
The RotateTransform Object
The ScaleTransform Object
The SkewTransform Control
The TranslateTransform Object
The TransformGroup Object
Summary
82
85
86
87
90
97
CHAPTER 4: ADVANCED USER INTERFACE TECHNIQUES: STYLES,
TEMPLATES, AND THE VISUAL STATE MANAGER
Understanding Control Styles
Application Styles
BasedOn Styles
Control Templates
The Visual State Manager
Expression Blend
User Controls
Custom Controls
Summary
99
100
102
107
109
117
127
127
131
143
CHAPTER 5: ISOLATED STORAGE, PAGE NAVIGATION, AND THE
APPLICATION LIFE CYCLE
Isolated Storage
147
148
How Windows Phone 7 Data Storage Works
Getting Started Using Isolated Storage
The IsolatedStorageSettings Object
The IsolatedStorageFile Object
Using the Navigation Framework
Getting to Know the Navigation Framework
The NavigationService Class
Query Strings
Navigation Events
Page State
The Application Life Cycle
The Launching State
148
148
149
150
155
156
156
157
157
158
167
167
x
www.it-ebooks.info
ftoc.indd x
3/28/11 6:48:45 PM
CONTENTS
The Running State
The Closing State
The Deactivating State
The Activating State
168
168
168
169
Summary
180
CHAPTER 6: INTERACTING WITH THE HARDWARE
What’s Different about Mobile Device Application Development?
The Windows Phone 7 Hardware Specification
Altering Device Orientation
Configuring Supported Orientations
Responding to Orientation Changes
Device Orientation Best Practices
Understanding the Back Button
Taking Advantage of the Back Button’s Functionality
Responding to the Back Button
183
184
185
186
187
187
193
194
194
194
Vibration
Tuning In to the FM Radio
Accelerating with the Accelerometer
199
200
201
The AccelerometerSensor Sensor
Simulating Accelerometer Data
201
212
Summary
221
CHAPTER 7: LAUNCHERS, CHOOSERS, AND ADVANCED
USER INPUT
Using the Application Bar
225
226
Adding an Application Bar
Application Bar Best Practices
227
241
Using Launchers and Choosers
242
An Overview of Launchers
An Overview of Choosers
Tombstoning
Working with Contacts
Making Voice Calls
Using Email and SMS Messaging
Interacting with the Camera
Using Other Launchers
The Software Input Panel (SIP)
Controlling the SIP
242
243
244
244
251
252
252
254
259
260
Using Multitouch
262
xi
www.it-ebooks.info
ftoc.indd xi
3/28/11 6:48:45 PM
CONTENTS
Simulating Multitouch
Manipulation Events
Using Gestures
262
263
272
Summary
273
CHAPTER 8: WINDOWS PHONE 7 SERVICES AND CLOUD SERVICES
What Are Services?
Finding Yourself with Location Services
Location Data Sources Overview and Comparison
Obtaining Location Information
Location Service Best Practices
Using Cloud Services
277
278
278
279
281
293
294
Using Microsoft Cloud Data
Using Bing Maps in a WP7 Application
Summary
294
296
301
CHAPTER 9: CREATING AND CONSUMING WEB SERVICES
Service Architecture Primer
HTTP
REST
WCF
305
306
306
307
307
Web Requests and Responses
Using WebClient
Using WebRequest and WebResponse
Cached Responses
REST-Based Services
308
308
309
315
315
Consuming a RESTful Service
Creating RESTful Services
WCF Services
316
325
325
Tools for Creating WCF Services
Hosting WCF Services
Creating WCF Services
WCF Services Example Application
WCF REST Services
Summary
326
326
326
327
340
343
CHAPTER 10: WEB SERVICES PUSH NOTIFICATIONS
347
Push Notification Architecture
348
Push Notification Components
348
xii
www.it-ebooks.info
ftoc.indd xii
3/28/11 6:48:45 PM
CONTENTS
Registering a Push Notification Service
Creating and Opening Notification Channels
Types of Push Notifications
Sending and Responding to Push Notifications
Creating and Configuring a Notification Channel
Sending Push Notification Service Messages
Creating a Push Notification Service
Summary
348
349
350
351
351
358
362
371
CHAPTER 11: XNA FOR WINDOWS PHONE 7
What Is XNA?
An XNA Game: Tank
375
375
377
What’s in My Solution?
The Game Class
Running the Tank Game
378
379
383
Drawing 2-D Graphics
383
The SpriteBatch Class
The ContentManager Class
How to Draw Images
How to Draw Text
384
385
385
389
Updating Game State
393
The Versatility of Vectors
Keeping in Time
The TouchPanel Class
Driving the Tank
393
397
397
398
Simplifying Your Code with Game Components
The GameComponent and DrawableGameComponent Classes
GameComponent Life Cycles
More XNA Tips and Tricks
403
403
416
416
Handling Many Objects Efficiently
Playing Sounds
Advanced Geometry: Homing Missiles
Nonvisual Components
Detecting Collisions
Rendering Smooth Text with a Drop Shadow
Summary
416
423
423
426
428
429
432
CHAPTER 12: MICROSOFT EXPRESSION BLEND
The Blend Interface
435
436
Using Blend’s Tools and Panels
437
xiii
www.it-ebooks.info
ftoc.indd xiii
3/28/11 6:48:46 PM
CONTENTS
Creating Forms
438
Adding Layout Panels
Adding Controls
Editing Properties
Modifying Visual Design
438
439
440
444
Themes and Resources
449
Managing Resources
Reusing Code with Styles
Editing Control Templates
Animation
449
450
451
453
Managing Animations with Storyboards
Visual States
Data Binding in Blend
454
456
458
Binding to Datacontext
Binding to Elements
Putting Sample Data into the Blend Artboard
Summary
458
459
460
463
CHAPTER 13: USING THE SILVERLIGHT FOR WINDOWS PHONE
TOOLKIT AND CREATING PANORAMIC USER
INTERFACES
Overview of the Silverlight for Windows Phone Toolkit
Silverlight for Windows Phone Toolkit Controls
The AutoCompleteBox Control
The DatePicker Control
The TimePicker Control
The ContextMenu Control
Silverlight for Windows Phone Toolkit Page Transitions
Silverlight for Windows Phone Toolkit Gestures
The Panorama Control
Summary
CHAPTER 14: PATTERNS, FRAMEWORKS, AND TESTS
Using Patterns
467
468
468
469
474
475
476
478
481
483
488
491
492
Using Architectural Patterns
Developing with MVVM
Using MVVM Frameworks
MVVM Framework Features
Finding the Right Framework
Adding Unit Tests
492
493
511
512
512
513
Manual Unit Testing
Unit Testing Frameworks
514
516
xiv
www.it-ebooks.info
ftoc.indd xiv
3/28/11 6:48:46 PM
CONTENTS
Mocking Dependencies
Unit Testing MVVM Applications
Test-Driven Development
Summary
520
521
522
522
CHAPTER 15: PUBLISHING YOUR APPLICATION
The Marketplace and App Hub
Joining the App Hub
Completing the Identity Verification Process
Setting Up Payee Information
Submitting an Application for Publication
Uploading the XAP File
Describing the Application
Adding Artwork
Pricing Your Application
Submitting Your Application
525
525
526
528
528
528
529
529
531
532
532
Testing Your Application
Providing a Trial Mode
Increasing App Sales
532
534
537
Microsoft’s Target Windows Phone 7 Market
Creating Impressions That Count
Getting the Word Out
The Right Price
Taking Advantage of Momentum
Obtaining Feedback
Summary
537
538
540
543
543
544
544
APPENDIX: SOLUTIONS TO EXERCISES
547
INDEX
565
xv
www.it-ebooks.info
ftoc.indd xv
3/28/11 6:48:47 PM
www.it-ebooks.info
flast.indd xvi
3/28/11 6:49:40 PM
INTRODUCTION
TEN YEARS AGO, who would have thought that with the power of web and desktop applications, you
would eventually be able to duplicate much of that power on something as small as a cellphone? There
was a time not that long ago when the cellphone’s primary purpose was to just make a phone call.
In fact, just the capability to make a phone call anywhere was impressive. Things have changed. Now,
with no less than three major smartphone platforms, cellphone users can do just about anything on a
phone that previously required a PC. You can shop, do tax calculations, play games, browse the web,
read the news, and so on. Of course, this means that as a developer, you officially have a new platform
to consider when writing your own applications. Fortunately, the new Windows Phone 7 platform
provides developers with one of the most robust, easy-to-use programming environments currently
available for mobile application development.
When the first wave of smartphones hit the market, many required special development kits that
were available only at a high cost through the specific phone manufacturers. The Windows Mobile
platform, of course, was always different in that aspect. With the Windows Mobile platform, developers
could write mobile applications using existing .NET technologies, and have a familiar development
environment in Visual Studio. The previous incarnations of Windows Mobile development were not,
however, without their shortcomings. In many cases, because the hardware was not standardized,
applications written for one hardware device might not have functioned the same on another device.
This dilemma and the high cost of specialized development toolkits were the problems that the latest
wave of smartphone development platforms aimed to solve. In order for any mobile development
market to explode and foster rich application development, hardware features needed to be
standardized, and the cost to enter the mobile development space had to come down drastically.
The Windows Phone 7 development platform has done an impressive job solving these problems. The
development environment is free, the hardware is finally standardized, and there is a rich abundance
of developer information on the web and in this book. As an additional bonus, the choice to use
Silverlight as the main development platform means that in many cases applications written for
the Silverlight web-based platform can be easily ported to the phone device, and vice versa. It is no
doubt an exciting time to be a developer and there is no better time than now to get familiar with the
Windows Phone 7 development tools and platform. When you complete this book, you will be armed
with the knowledge and skills to create your own rich mobile applications and games. You will find
that developing applications for the platform is a rewarding and painless experience, and we all look
forward to seeing the next generation of rich mobile applications starting with yours.
WHO THIS BOOK IS FOR
This book is specifically geared at readers who have an interest in learning mobile phone application
development on the Windows Phone 7 platform. You should be familiar with basic programming
constructs and methodologies. You do not, however, need any previous experience in mobile
development, Silverlight, or Windows Phone 7. Familiarity with Microsoft development tools, such
as Visual Studio and Expression Blend, is helpful but is not required. This book guides you through
www.it-ebooks.info
flast.indd xvii
3/28/11 6:49:41 PM
INTRODUCTION
the required features of these tools in order to facilitate application development on the Windows
Phone 7 platform.
WHAT THIS BOOK COVERS
This book covers everything you need to write rich mobile applications for Windows Phone 7. The
following is a brief outline of each chapter:
➤
Chapter 1, “Introducing Windows Phone 7” — Introduce yourself to Windows Phone 7
development.
➤
Chapter 2, “Jaw-Dropping Apps with the Help of Silverlight” — Develop applications using
Silverlight.
➤
Chapter 3, “Spice Up Your App with Shapes, Colors, Brushes, and Transforms” — Learn
how to use Shapes, Colors, Brushes, and Transform objects.
➤
Chapter 4, “Advanced User Interface Techniques: Styles, Templates, and the Visual State
Manager” — Learn interface techniques including styles, templates, and how to create
animations using the Visual State Manager.
➤
Chapter 5, “Isolated Storage, Page Navigation, and the Application Life Cycle” —
Understand data storage using the Silverlight Isolated Storage feature, and multipage
applications.
➤
Chapter 6, “Interacting with the Hardware” — Use hardware interactions, FM Radio, and
Accelerometer.
➤
Chapter 7, “Launchers, Choosers, and Advanced User Input” — Learn about launchers and
choosers.
➤
Chapter 8, “Windows Phone 7 Services and Cloud Services” — Consume Windows Phone 7
Cloud Services.
➤
Chapter 9, “Creating and Consuming Web Services” — Consume external web services.
➤
Chapter 10, “Web Services Push Notifications” — Understand web services and how to use
push notifications.
➤
Chapter 11, “XNA for Windows Phone 7” — Develop games with XNA.
➤
Chapter 12, “Microsoft Expression Blend” — Use Expression Blend.
➤
Chapter 13, “Using the Silverlight for Windows Phone Toolkit and Creating Panoramic User
Interfaces” — Understand panoramic displays and the Silverlight Toolkit.
➤
Chapter 14, “Patterns, Frameworks, and Tests” — Use development patterns and test your
applications.
➤
Chapter 15, “Publishing Your Application” — Publish your application to the Windows
Phone 7 Marketplace.
➤
Appendix A, “Solutions to Exercises” — Get the solutions to the chapter exercises.
xviii
www.it-ebooks.info
flast.indd xviii
3/28/11 6:49:41 PM
INTRODUCTION
WHAT YOU NEED TO USE THIS BOOK
To follow this book and to compile and run the sample applications, you need the following:
➤
Windows 7, Windows Vista, Windows XP, Windows Server 2008, or Windows Server 2003.
➤
The latest release of the Windows Phone 7 developer tools. These are freely available from
Microsoft at . A free edition of Visual Studio 2010, XNA Game
Studio, and Expression Blend designed for Windows Phone 7 development are included in
these tools.
➤
Installation of the Silverlight for Windows Phone 7 Toolkit. A free toolkit is available at
/>
CONVENTIONS
To help you get the most from the text and keep track of what’s happening, we’ve used several
conventions throughout the book.
WARNING Boxes like this one hold important, not-to -be forgotten information
that is directly relevant to the surrounding text.
COMMON MISTAKES These areas hold important information about common
mistakes that can be made while coding a particular feature.
NOTE Tips, hints, tricks, and asides to the current discussion look like this.
As for other conventions in the text:
➤
New terms and important words are highlighted in italics.
➤
Keyboard combinations are treated like this: Ctrl+R.
➤
Filenames, URLs, and code within the text are treated like this: persistence.properties.
This book uses monofont type with no highlighting for most code examples. This book also uses
bold to emphasize code that is of particular importance in the present context.
xix
www.it-ebooks.info
flast.indd xix
3/28/11 6:49:42 PM
INTRODUCTION
SOURCE CODE
As you work through the examples in this book, either type the code manually or use the sourcecode fi les that accompany the book. All of the source code used in this book is available for
download at www.wrox.com . On the site, simply locate the book’s title (either by using the Search
box or by using one of the title lists) and click the Download Code link on the book’s detail page to
obtain all the source code for the book.
NOTE Because many books have similar titles, you might find it easiest to
search by ISBN; this book’s ISBN is 978- 0 - 470 -91233 -1.
After you download the code, decompress it with your favorite compression tool. Alternately, you
can go to the main Wrox code download page at www.wrox.com/dynamic/books/download.aspx
to see the code available for this book and all other Wrox books.
ERRATA
We make every effort to ensure that there are no errors in the text or in the code. However, no one
is perfect, and mistakes do occur. If you fi nd an error in one of our books, like a spelling mistake or
faulty piece of code, we would be very grateful for your feedback. By sending in errata, you might
save another reader hours of frustration, and at the same time you will be helping us provide even
higher quality information.
To fi nd the errata page for this book, go to www.wrox.com and locate the title using the Search box
or one of the title lists. Then, on the book details page, click the Errata link. On this page you can
view all errata that have been submitted for this book and posted by Wrox editors.
NOTE A complete book list, including links to each book’s errata, is also available
at www.wrox.com/misc-pages/booklist.shtml.
If you don’t spot “your” error on the Errata page, go to www.wrox.com/contact/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 on which you can post messages relating to Wrox books and related technologies and interact
with other readers and technology users. The forums offer a subscription feature to email you topics
of interest of your choosing when new posts are made to the forums. Wrox authors, editors, other
industry experts, and your fellow readers are present on these forums.
xx
www.it-ebooks.info
flast.indd xx
3/28/11 6:50:08 PM
INTRODUCTION
At p2p.wrox.com you will fi nd a number of different forums that will help you not only as you read
this book, but also as you develop your own applications. To join the forums, just follow these steps:
1.
2.
3.
Go to p2p.wrox.com and click the Register link.
4.
You will receive an email with information describing how to verify your account and
complete the joining process.
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.
NOTE You can read messages in the forums without joining P2P, but in order to
post your own messages, you must join.
Once you join, you can 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
emailed 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, as well as many common questions specific to P2P
and Wrox books. To read the FAQs, click the FAQ link on any P2P page.
xxi
www.it-ebooks.info
flast.indd xxi
3/28/11 6:50:19 PM
www.it-ebooks.info
flast.indd xxii
3/28/11 6:50:24 PM
1
Introducing Windows Phone 7
WHAT YOU WILL LEARN IN THIS CHAPTER:
➤
Learning the history of the Windows Mobile platform
➤
Understanding the new Windows Phone 7 platform
➤
Understanding the differences between Silverlight and XNA
➤
Using Windows Phone 7 development tools
➤
Creating your first Windows Phone 7 app
As you may have noticed lately, mobile application development is at the forefront of the
industry. Not since the glory days of the mid- to late 1990s has it been quite this exciting to be
a software developer. Why all this new excitement about a hardware platform that has existed
for quite some time? You don’t have to look much further than the introduction of cheaper
smartphones to the masses. Even grandma and grandpa probably have a smartphone by now,
and they may want to know when you are going to start writing your own mobile app.
Of course, to do so, you need to pick a smartphone platform. Given that you have picked
this book, it’s safe to assume that you’re going to write applications for the latest entry into
the smartphone world: Windows Phone 7.
Even though we seem to be entering an era where Droid and iPhone are becoming the
dominant platforms for mobile development, it is important to note that Microsoft actually
did have a viable mobile development platform before most of the other companies even had
any plans to enter this market. So although Microsoft is seemingly late to the party, it really
isn’t: It has quite a bit of history and experience in mobile development. In fact, in many ways,
Windows Phone 7 provides developers with an even richer set of tools and programming
opportunities than either the Droid or iPhone platforms.
www.it-ebooks.info
c01.indd 1
3/28/11 11:43:32 AM