Creating Windows Phone Applications with Microsoft Visual Studio 2010 Express for Windows Phone
Session One: An Introduction to the Windows Phone Platform Phone Overview
What it is
?Hardware overview
?Metro: User experience is the most important priority
?C# Applications running in Sandbox
What you can do
?Write Silverlight and XNA Applications in C#
?Sell your Solutions
?Play and Manage Media
?Access Phone Address Book and Messaging
?Access Microsoft Cloud Services: Push Notifications, Location, Xbox Live
What you can’t do (yet):
?Multi-tasking
?Sockets
?On board database – find your own
?Write your own XNA Shaders
?Unmanaged code
Developer Features
?Local Storage
?Consume Web Services
?Media on the Phone
?Silverlight
o Expression based design
o XAML Presentation Layer, C# code-behind
o Data binding
?XNA
o Touch support
o Accelerometer support
o3D (with pre-built shaders)
o Xbox Live Integration
Demo: Windows Phone in action
Show some applications running on the phone and how the user interface works.
Getting Started with Windows Phone
Setting the stage for how to deploy and run Windows Phone 7 applications on your systems. Getting the Tools
?The Windows Phone Website
?Visual Studio 2010 and Visual Studio Express Windows Phone Edition
Building your first program
?Silverlight and XNA Projects
?The difference between an application and a list application
Demo: Runninga program
?Using the emulator
?Using the device
?Debugging options
Lab: Building an empty app:
Provide student instructions for how to complete labs on their own and reminder of instructors Office Hours, for support.
BREAK: 10 minutes
Building a Silverlight Program on Windows Phone
?Silverlight on Windows Phone overview
?Applications and List Applications
?Metro UI Design Principles
?Working with controls and code-behind
?Data Binding in Silverlight
?Using Built-in Styles
Demo: Creating a useful Windows Phone program
?Introduce DamageCalc, a simple program that provides currency conversion and local tax r ate calculation. Designed to calculate the “damage” that will be caused to your bank
account of a purchase abroad.
?More sophisticated versions can do “two way” calculation using TextChanged events in either textbox and doing away with a calculate button.
?Final version can use data binding on the two textboxes to propagate the changes. Lab: Designing a Silverlight User Interface
Provide student instructions for how to complete labs on their own and reminder of instructors Office Hours, for support.
BREAK: 10 minutes
Creating a Silverlight UI on Windows Phone
This section moves into multi-form applications. Covers form navigation and the special nature of the phone UI including the panorama controls. Also covers how to load and play video, both locally and from a network connection.
?Windows Phone layout system
?Windows Phone chrome and controls
?ApplicationBar
?Page Navigation
?Animation using Expression Blend
?Designer Roles and Application Developer Roles
Demo: Creating amulti-form Windows Phone Program
?Create a new form with currency conversion and tax rate information
?Add navigation to allow users to move to this form and set exchange and tax rates
Lab: Building an Application
Provide student instructions for how to complete labs on their own and reminder of instructors Office Hours, for support.
WRAP UP: 10 minutes
Session Two: Game Building on the Windows Phone Platform Writing Silverlight Games on Windows Phone
Define the capabilities of both Silverlight and XNA for game development.
Game creation using Silverlight
?Using the display refreshed events to create a game loop in a Silverlight application
?Using the Loaded event to get a game running
?Keeping the timing solid
?Creating sound effects in a Silverlight app, using XNA elements in Silverlight games
?FrameworkDispatcher.Update
Demo: A Silverlight game
Demonstrate the PatternMatch game in action.
Getting Started with XNA on Windows Phone
?Performance
?3D support
?Device capabilities: multi-touch, accelerometer, hardware graphics scaling
?Content Management
?Game State Storage
?Xbox Live Support
?Differences between Phone and Zune HD
Demo: An XNA Game In Action
?StarLight on the emulator
?StarLight on the Windows Phone
?Increasing the number and size of background stars to show 2D performance
Creating an XNA Project using Visual Studio 2010
?Display Sizes and Orientation
?Draw and Update rates for Windows Phone
?Sprite sizes and performance for a 2D Game
?Conditional Compilation symbols to allow the use of a single project in multiple solutions. Demo: Creating an XNA Game
?Writing our first XNA game
?Loading an asset and displaying it as a sprite
?Make the sprite move by changing draw position in Update
BREAK: 10 minutes
Using the Windows Phone 7 Accelerometer Hardware in an XNA game ?The nature of the Accelerometer data
?Getting the Accelerometer values
?Using the Accelerometer Orientation Information
?Using the accelerometer from Silverlight
Demo: Creating a Tipping Accelerometer Controlled XNA Game
?Creating simple sprites from Textures and Rectangles
?2D graphics using SpriteBatch
?Creating a very simple physics model.
?Using the Accelerometer Movement Information in the game
Demo: Creating a Shaking Accelerometer Controlled XNA Game
?Reading the movement information
Playing Sound Effects
?Bringing XNA libraries into a Silverlight game
?Using the SoundEffect class
?The SoundEffectInstance class
?Windows Phone sound playback limitations
Note that there is no demo here, but we will be using sound playback in the Piano application later. BREAK: 10 minutes
Using the Windows Phone 7 Touchscreen Hardware in an XNA game ?Getting the Touch Events
?Using Touch Down events and mapping onto graphics objects
Demo: XNA Piano
?Tracking Touch events using the event ID and event type.
Demo: Shuffle Puck
?Detecting and maintaining touch events
?Using TouchID
?Creating movement vectors
Demo: Screen Panning using Touch Input
Show a program that allows a player to move around a larger picture using transformation matrices for the SpriteBatch.Draw method.
Using the Guide for Text Input during Gameplay
?Displaying the Guide
?Assembling text input
?Detecting entry completion
Demo: Monster Writer Simple Guide use
?Creating a Font content asset and displaying text
?Displaying the Guide
?Binding to the Guide closed event
?Scrolling using the Update to move the drawing position of the text
Using the Media Content in an XNA Game
?Finding media in the Media Library
?Playing Songs
Demo: Album Juggler
?Enumerating Album items and extracting cover information
?Animating using the accelerometer
Lab: Game Development with XNA Framework
Provide student instructions for how to complete labs on their own and reminder of instructors Office Hours, for support.
WRAP UP: 10 minutes
Session Three: Advanced Windows Phone Development
This will cover how to turn programs into applications. By the end students should be in a position to create and deploy useable applications.
Application Lifecycle Management
?Overview of the model in use
?Events that your Application must Respond To
Saving and Restoring Application State
?Creating applications that the user can return to
Storing Data in Isolated Storage
?The IsolatedFileStorage system
?Saving and Restoring application settings
Demo: DamageCalc with Stored Settings and Form Persistence
?Managing application form state
?Persisting data and loading on restart
BREAK: 10 minutes
Interacting with the Network
?Using the browser control
?Using http request
?Using web services
Demo: OData sample
Work through the content in this sample
Notification services
?Overview of the push notification service
Demo: Notification
?Obtaining a notification URL
?Binding to the notification events
?Firing the events from a server
BREAK: 10 minutes
Interacting with the Phone
Using the features provided by the phone hardware
Using the Camera
?Taking photographs.
Address Book
?Searching for contact information.
Call and SMS Integration
Placing calls and sending and responding to SMS
Choosers and Pickers
?Advanced user interface
WRAPUP: 10 minutes
Labs
Provide student instructions for how to complete labs on their own and reminder of instructors Office Hours, for support.
Session Four: Selling Your Windows Phone Solutions & Wrap Up Show how applications can be made available to other users
MarketPlace Overview
?Software distribution
?Marketplace presence
?The approval process
?The payment process
Preparing an application for submission
?Packaging an application and making it available
BREAK: 10 minutes
Location Service Features
?Using location
?Simulating location
Demo: Bing Maps sample
Search features
Demo: Search demo
XNA in 3D
?The five shader types
?Ensuring games perform well
?Using hardware scaling
BREAK: 10 minutes
Q&A and W rap Up
In this section we can follow up on any of the issues that have arisen during the course. We will also take time to get student feedback on the value of this course.