SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
PDF The popular standard, used most often with the free Acrobat® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Full Color: Figures and code appear as they do in Visual Studio
Windows Phone 7.5 Unleashed is the first comprehensive, start-to-finish developer’s guide to Microsoft’s brand-new Windows Phone 7.5. Written by Microsoft MVP and leading WPF/Silverlight innovator Daniel Vaughan, this full-color guide covers everything developers need to rapidly build highly competitive Windows Phone 7.5 mobile apps.
Vaughan teaches through complete sample apps that illuminate each key concept with fully explained code and real-world context. He presents real-world best practices for building highly functional and attractive Metro interfaces; integrating touch, rich media, and data; testing; profiling; and more. Throughout, he shares expert insights available in no other book, drawing on his exceptional access to the Windows Phone development team through the elite Microsoft Silverlight and WPF Insiders group.
Along the way, he presents exceptionally practical and thorough coverage of many powerful new Windows Phone 7.5 platform enhancements--including full chapters on sensors, the camera, XNA graphics, local databases, scheduled actions, and background file transfers.
Detailed information on how to...
Preface xiv
Part I Windows Phone App Development Fundamentals
Chapter 1 Introduction to Windows Phone App Development 1
Installing the Windows Phone SDK 2
Comparing XNA and Silverlight 2
Creating Your First Silverlight for Windows Phone App 4
Creating a First Windows Phone XNA App 12
Summary 21
Chapter 2 Fundamental Concepts in Silverlight Development for Windows Phone 23
Understanding the Role of XAP Files 24
The Windows Phone Capabilities Model 26
The Threading Model for Silverlight Graphics and Animation in Windows Phone 29
Understanding the Frame Rate Counter 31
The Windows Phone Performance Analysis Tool 33
Device Status 38
Applying the Model-View-ViewModel Pattern to a Windows Phone App 42
Property Change Notification 44
Using Commands 48
Argument Validation 50
A Platform Agnostic Dialog Service 51
Summary 55
Chapter 3 Application Execution Model 57
Exploring the Execution Model 58
Running Under the Lock Screen 65
Page Navigation 70
Walking Through the Bookshop Sample Application 85
Summary 100
Chapter 4 Page Orientation 101
Orientation and the PhoneApplicationPage Class 101
Silverlight Toolkit Animated Page Transitions 112
Summary 116
Part II Essential Elements
Chapter 5 Content Controls, Items Controls, and Range Controls 117
Control Type Taxonomy 118
Content Controls 121
Buttons 123
Items Controls 140
Range Controls 144
Summary 154
Chapter 6 Text Elements 157
Text Element Types 158
TextBlock 159
Font Properties 162
Built-In Fonts 163
Font Embedding 165
TextBox 168
PasswordBox 178
RichTextBox 179
Clipboard 182
Summary 183
Chapter 7 Media and Web Elements 185
Displaying Images with the Image Element 186
Providing a Drawing Surface with the InkPresenter Element 188
Playing Audio and Video with the MediaElement 195
Viewing High-Resolution Images with the MultiScaleImage Element 204
Displaying Web Content with the WebBrowser Element 215
Summary 226
Chapter 8 Taming the Application Bar 227
Exploring the Built-In Application Bar 227
Introducing the Custom AppBar 233
Summary 247
Chapter 9 Silverlight Toolkit Controls 249
Getting Started with the Toolkit 250
ListPicker 251
AutoCompleteBox 255
ContextMenu 267
DatePicker and TimePicker 273
LoopingSelector 283
LongListSelector 287
PerformanceProgressBar 307
TiltEffect 308
ToggleSwitch 311
WrapPanel 315
Summary 319
Chapter 10 Pivot and Panorama 321
Pivot and Panorama Differences and Similarities 322
Pivot and Panorama Placement in the FCL 324
Using the Pivot Control 325
Using the Panorama Control 343
Things to Avoid When Using the Panorama and Pivot 351
Silverlight Toolkit Lockable Pivot 352
Summary 352
Part III Windows Phone App Development
Chapter 11 Touch 353
Handling Touch with Mouse Events 354
Touch and TouchPoint Classes 356
Manipulation Events 359
UIElement Touch Gesture Events 364
Silverlight Toolkit Gestures 368
Designing Touch Friendly User Interfaces 382
Summary 384
Chapter 12 Launchers and Choosers 385
API Overview 385
Choosers and the Application Execution Model 387
Launchers and Choosers in Detail 388
Contacts and Appointments 440
Summary 451
Chapter 13 Push Notification 453
Push Notification Types 453
Benefits of Push Notification 454
Understanding Push Notification 455
Getting Started with Push Notification 457
Subscribing to Push Notification 458
Power Management and Push Notification 461
Sending Push Notifications 463
Toast Notifications 463
Tile Notifications 468
Raw Notifications 474
Identifying Notifications in an HttpWebResponse 478
Notification Classes 478
Cloud Service Authentication 480
Building a Stock Ticker Application 480
Summary 493
Chapter 14 Sensors 495
Sensors Overview 495
Measuring Force with the Accelerometer 497
Measuring Direction with the Compass 508
Sensing Rotation with the Gyroscope 518
Improving Sensor Accuracy with the Motion Sensor 522
Summary 526
Chapter 15 Geographic Location 529
Location Sensing Technologies 530
Geographic Location Architecture 532
Getting Started with Location 533
Testing Apps That Use the GeoCoordinateWatcher 538
Code Driven Location Simulation 539
A Walkthrough of the Position Viewer Sample 541
Sampling the PositionChanged Event with Rx 546
Summary 551
Chapter 16 Bing Maps 553
Getting Started with Bing Maps 554
Sample Code Overview 557
Location Tracking 564
Pushpins 567
Route Calculation Using Bing Maps SOAP Services 573
Summary 594
Chapter 17 Internationalization 595
Terminology 595
Localizability Using Resx Files 596
Dynamic Localizability--Updating the UI When the Culture Changes 600
Localizing Images Using Resx Files 602
The Resx Localizability Sample 603
Summary 613
Chapter 18 Extending the Windows Phone Picture Viewer 615
Debugging Apps That Rely on the Pictures Hub 616
Creating a Photos Extras Application 617
Share Menu Extensibility 631
Using the Windows Phone Connect Tool 641
Summary 643
Chapter 19 Camera 645
PhotoCamera 646
Using the Silverlight Webcam API 669
Summary 676
Chapter 20 Incorporating XNA Graphics in Silverlight 677
Supporting Components 678
Displaying a 3D XNA Model in a Hybrid App 683
Summary 690
Chapter 21 Microphone and FM Radio 691
Recording Audio with the Microphone 691
Controlling the Phone’s FM Radio 698
Summary 708
Chapter 22 Unit Testing 709
Automated Testing 710
Introduction to the Windows Phone Unit Test Framework 711
Creating a Test Project 712
Creating a Test Class 714
Tag Expressions 717
Metadata and Assertions 718
A Testable Chat Client 727
Inversion of Control (IoC) 739
Testing Trial Conditions 741
Testing with Launchers and Choosers 743
Summary 744
Part IV Building Windows Phone Data Driven Applications
Chapter 23 Input Validation 747
Defining Input Validation 748
Input Validation Using Property Setters 749
Defining Validation Visual States in Silverlight for Windows Phone 752
Asynchronous and Composite Validation 766
Summary 789
Chapter 24 Network Services 791
Network Service Technologies 791
Monitoring Network Connectivity 792
Introduction to OData 797
Consuming OData 797
Using an OData Proxy 802
Building an eBay OData Consumer Application 804
Fetching Data When the User Scrolls to the End of a List 813
Summary 818
Chapter 25 Isolated Storage and State Preservation 819
Understanding Isolated Storage 819
Abstracting IsolatedStorageSettings 826
Building an Automatic State Preservation System 826
Summary 839
Chapter 26 Local Databases 841
SQL Server Compact 842
Deployment of Local Databases 842
LINQ to SQL on the Phone 844
LINQ to SQL Platform Differences 845
Getting Started with Local Databases 845
Sample Twitter Timeline Viewer 846
Viewing a Local Database Schema 873
Database-First Using SqlMetal 878
Deploying a Database to Isolated Storage 880
Abstracting the Navigation Service 883
Observing LINQ to SQL Queries with a Custom Log 885
Updating a Database Schema 887
Mapping an Inheritance Hierarchy 894
Concurrency 899
Summary 902
Part V Multitasking
Chapter 27 Scheduled Actions 905
Background Tasks 906
Scheduled Notifications 906
Scheduled Tasks 918
Using a Mutex to Access Common Resources Safely 946
Summary 949
Chapter 28 Background File Transfers 951
Background Transfer Requests 952
Background File Transfer Sample Code 956
Summary 966
Chapter 29 Background Audio 967
Background Agent Recap 967
Background Audio Overview 968
Background Audio Player 968
Representing Audio Files with the AudioTrack Class 970
Creating a Custom Audio Player Agent 970
AudioPlayerAgent Sample 971
Audio Streaming Agents 983
Summary 986
Bibliography 989
Index 991