Tải bản đầy đủ (.pdf) (602 trang)

832 beginning windows phone 7 application development

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (40.88 MB, 602 trang )

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


×