SlideShare a Scribd company logo
1 of 64
Download to read offline
Windows Phone 7 Series
    Balaji Damodaran
      -ThoughtWorks
Before we start,
 a confession…
Microsoft
did not pay us.
The Players
And Cross Platform
  APIs (mostly)
New kid
on the block
Old(ish) wine in
a new(ish) bottle
Demo
Source:
https://github.com/openbala/xconf-pune
Metro
Metro Design and Typeface
The Windows Phone OS 7 User Interface (UI) is based on a design that is
internally named Metro, and echoes the visual language of airport and metro
system signage in its design and typeface.
Tiles

Tiles are links to applications, features, functions
and individual items (such as contacts, web
pages, applications or media items). Users can
add, rearrange, or remove Tiles. Tiles are
dynamic and update in real time

Tiles that use the Tile Notification feature can
update the Tile graphic or title text, or
increment a counter.
Themes
A Theme is a user-selected combination of background and accent colors that
personalizes the visual elements on a Windows Phone for that user.
Silverlight
Components
Silverlight Essentials

Xaml – Extensible Application Markup Language (ala HTML types)

Xaml.cs – Backend Program that controls the UI state and data (ala JavaScript)
UI Controls
•   ListBox
•   Grid
•   Canvas
•   StackPanel
•   Border
•   Map
•   Slider
•   ProgressBar
•   TextBlock
•   more…
Panorama & Pivot
Panorama Application
Unlike standard applications that are designed to fit within the confines of
the phone screen, these applications offer a unique way to view controls,
data, and services by using a long horizontal canvas that extends beyond
the confines of the screen
Pivot Application
A pivot control provides a quick way to manage views or pages within the
application. The control places individual views horizontally next to each other,
and manages the left and right navigation. Flicking or panning horizontally on
the page cycles the pivot functionality.
Isolated Storage
Isolated Storage - Defined
Isolated storage enables managed applications to create and maintain local
storage. Application developers have the ability to store data locally on the
phone, leveraging all the benefits of isolated storage including protecting data
from other applications.
Isolated Storing
                                   System.IO.IsolatedStorage

using (IsolatedStorageFile isoStorage = IsolatedStorageFile.GetUserStoreForApplication())
{
  using (IsolatedStorageFileStream stream = isoStorage.OpenFile("xconfpune.dat",
FileMode.OpenOrCreate))
     {
     DataContractSerializer serializer = new DataContractSerializer(typeof(XConfSession));
       XConfSession info = serializer.ReadObject(stream) as XConfSession;
     }
}
WP7 ↔ Web Services
features
Not Supported:
• Duplex communication over HTTP
• WCF Data Services.
• Custom bindings, sockets, RSS and Atom feeds
• WS proxy cannot be generated dynamically using ‘CreateChannel’.


Supported:
• Asynchronous communication over HTTP
• Silverlight 3 SDK feature support for WCF.
• Compile time proxy through ‘Add Service Reference’ in VS2010
Data Binding
Data Binding - Defined

Data binding is a way of linking user input to program data automatically.

a. User input will fire property changed events.
b. Changing a property in the program will update the display.
Data Binding - Setting
 Defining the data source:
 a. DataContext property of any containing Element
 b. ItemSource of a List control – (ObservableCollection type)

  <phone:PhoneApplicationPage.Resources>
       <local:DamageClass x:Key="DamageClass" />
   </phone:PhoneApplicationPage.Resources>

   <!--LayoutRoot contains the root grid where all other page content is placed-->
   <Grid x:Name="LayoutRoot" Background="Transparent" DataContext="{StaticResource DamageClass}">




   Binding the Data:

<TextBlock Grid.Column="0" Text="{Binding TimeSlot}" Style="{StaticResource PhoneTextSubtleStyle}"/>
Data Binding - Modes
Mode determines how changes are synchronized:

a. OneTime
b. OneWay
c. TwoWay
Application Bar
Application Bar - Defined
The Application Bar provides a place for developers to display up to four of the
most common application tasks and views as icon buttons.
Application Bar
<shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
    <shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="Button 1"/>
    <shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png" Text="Button 2"/>
    <shell:ApplicationBar.MenuItems>
        <shell:ApplicationBarMenuItem Text="MenuItem 1"/>
        <shell:ApplicationBarMenuItem Text="MenuItem 2"/>
    </shell:ApplicationBar.MenuItems>
</shell:ApplicationBar>



Icons need to be developed only in white, Windows Phone API will take care of
converting it into respective dark color when the theme changes from dark to
light.

Text hint is mandatory. A maximum of 4 icons are allowed in the application bar.
A maximum of 5 menu items are allowed under the application bar.
Application Life Cycle
Application Life Cycle
Tombstoning

The procedure in which the operating system terminates an application’s process
when the user navigates away from the application. The operating system maintains
state information about the application. If the user navigates back to the application,
the operating system restarts the application process and passes the state data back
to the application.
App.xaml
Application_Launching
- Triggered on starting the app, not on activation after being tomstoned.

Application_Activated
- Triggered on reactivating the app after being tomstoned.

Application_Deactivated
- Triggered when an app is being tomstoned.

Application_Closing
- Triggered on closing the application.
Launchers and
  Choosers
Launchers and Choosers - Defined

 The Launcher and Chooser APIs invoke distinct built-in applications that replace
the currently running application.

Launcher:

A Launcher is an API that launches one of the built-in applications through
which a user completes a task, and in which no data is returned to the calling
application. E.g. Phone Call

Chooser:

A Chooser is an API that launches one of the built-in applications through which
a user completes a task, and which returns some kind of data to the calling
application E.g. Choosing a Photo
Launchers

EmailComposeTask
MarketplaceDetailTask
MarketplaceHubTask      EmailComposeTask emailComposeTask = new EmailComposeTask();
MarketplaceReviewTask   emailComposeTask.To = "user@example.com";
MarketplaceSearchTask   emailComposeTask.Body = "Email message body";
                        emailComposeTask.Cc = "user2@example.com";
MediaPlayerLauncher     emailComposeTask.Subject = "Email subject";
PhoneCallTask           emailComposeTask.Show();

SearchTask
SMSComposeTask
WebBrowserTask
Choosers

CameraCaptureTask         // Initialize the CameraCaptureTask and assign
                          the Completed handler in the page constructor.
EmailAddressChooserTask   cameraCaptureTask = new CameraCaptureTask();
PhoneNumberChooserTask    cameraCaptureTask.Completed
                          += new EventHandler<PhotoResult>(cameraCaptureTask_Completed);
PhotoChooserTask          cameraCaptureTask.Show();
SaveEmailAddressTask      void cameraCaptureTask_Completed(object sender, PhotoResult e)
SavePhoneNumberTask       {
                                     if (e.TaskResult == TaskResult.OK)
                                     {
                                                 BitmapImage bmp = new BitmapImage();
                                                 bmp.SetSource(e.ChosenPhoto);
                                                 myImage.Source = bmp;
                                     }
                          }
Location Services
Location Services
   The Location Service allows you to create location-aware applications. The service
   obtains location data from multiple sources such as GPS, Wi-Fi, and cellular.

                                     System.Device.Location

                                     GeoCoordinateWatcher

// The watcher variable was declared as type GeoCoordinateWatcher.
if (watcher == null)
{
  watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High); // using high accuracy
  watcher.MovementThreshold = 20; // to ignore noise in the signal in metres.
  watcher.StatusChanged += new EventHandler<GeoPositionStatusChangedEventArgs>(w_StatusChanged);
  watcher.PositionChanged += new
           EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(w_PositionChanged);
}
watcher.Start();
GeoPosition Statuses
switch (e.Status) {

case GeoPositionStatus.Disabled:
// The Location Service is disabled or unsupported. Check to see if the user has disabled the
Location Service.
if (watcher.Permission == GeoPositionPermission.Denied) {
// The user has disabled the Location Service on their device.
} else {
//location is not functioning on this device
}
break;

case GeoPositionStatus.Initializing:
// The Location Service is initializing.
break;

case GeoPositionStatus.NoData:
// The Location Service is working, but it cannot get location data.
break;

case GeoPositionStatus.Ready:
// The Location Service is working and is receiving location data.
break;

}
Push Notifications
Push Notifications
Push Notification Service in Windows Phone offers a dedicated, and persistent
channel to send information and updates to a mobile application from a web service.
Types of Push Notifications
 1. Tile Notification
      1.   Image, Count, Title can be notified


 2. Toast Notification
      1.   Displayed on top of the screen for 10 seconds.


 3. Raw Notification
      1.   To send raw information to application if running.
Send a push notification to service
// The URI that the Push Notification Service returns to the Push Client when creating a
notification channel.
string subscriptionUri = “http://hostedlive.com/hello"
HttpWebRequest sendNotificationRequest = (HttpWebRequest)WebRequest.Create(subscriptionUri);

// HTTP POST is the only allowed method to send the notification.
sendNotificationRequest.Method = "POST";

// The custom header X-MessageID uniquely identifies a message. If it is present, the same value is
returned in the notification response.
sendNotificationRequest.Headers.Add("X-MessageID", "<UUID>");

// Sets the web request content length.
sendNotificationRequest.ContentLength = notificationMessage.Length;

// Sets the notification payload to send.
byte[] notificationMessage = new byte[] {<payload>};

using (Stream requestStream = sendNotificationRequest.GetRequestStream())
{
   requestStream.Write(notificationMessage, 0, notificationMessage.Length);
}

// Sends the notification and gets the response. HttpWebResponse response =
(HttpWebResponse)sendNotificationRequest.GetResponse();
Send a push notification to service –
            Pay Loads
Raw notification     new byte[] {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08};


Tile notification    <?xml version=1.0 encoding=utf-8?>
                      <wp:Notification xmlns:wp=WPNotification>
                         <wp:Tile>
                            <wp:BackgroundImage><background image path></wp:BackgroundImage>
                            <wp:Count>5</wp:Count>
                            <wp:Title>xconf_pune</wp:Title>
                         </wp:Tile>
                     </wp:Notification>



Toast notification   <?xml version=1.0 encoding=utf-8?>
                     <wp:Notification xmlns:wp=WPNotification>
                        <wp:Toast>
                           <wp:Text1><string></wp:Text1>
                           <wp:Text2><string></wp:Text2>
                        </wp:Toast>
                     </wp:Notification>


sendNotificationRequest.ContentType = "text/xml";
sendNotificationRequest.Headers.Add("X-WindowsPhone-Target", "token");
sendNotificationRequest.Headers.Add("X-NotificationClass", "<batching interval>");
Receive a Push Notification
                                 Microsoft.Phone.Notification
                                   HttpNotificationChannel

// Only one notification channel name is supported per application.
channel = new HttpNotificationChannel("channel","www.contoso.com");
channel.Open();

//receiving a raw notification
channel.HttpNotificationReceived += new
EventHandler<HttpNotificationEventArgs>(channel_HttpNotificationReceived);

// If the application is running in the foreground, the toast notification is instead routed to the
application.
channel.ShellToastNotificationReceived += new
EventHandler<NotificationEventArgs>(channel_ShellToastNotificationReceived);

// Binding a notification channel to a tile notification.
if (!channel.IsShellTileBound) {
channel.BindToShellTile();
}

// Binding a notification channel to a toast notification.
if (!channel.IsShellToastBound) {
channel.BindToShellToast();
}
Touch & Gestures
Available Gestures
•   Tap
•   DoubleTap
•   Hold
•   FreeDrag
•   VerticalDrag     Touch Gestures is available only in XNA
                     framework, though the library can be used in
•   HorizontalDrag   a Silverlight application.
•   DragComplete
•   Flick
•   Pinch
•   PinchComplete
Gesture Sample
                       Microsoft.Xna.Framework.Input.Touch

//enable the gestures we care about.you must set EnabledGestures before you can use any of
the other gesture APIs.
TouchPanel.EnabledGestures=GestureType.Hold|GestureType.Tap|GestureType.FreeDrag;

//since we may have multiple gestures available,   we use a loop to read in all of the
gestures
while(TouchPanel.IsGestureAvailable) {

          //read the next gesture from the queue
          GestureSample gesture=TouchPanel.ReadGesture();

          //we can use the type of gesture to determine our behavior
          switch(gesture.GestureType)
          {
                     case GestureType.Tap:
                     case GestureType.DoubleTap:
                     case GestureType.Hold:
                     case GestureType.FreeDrag:
                     case GestureType.Flick:
                     case GestureType.Pinch:
          }
}
Animations –
Expression Blend
Expression Blend 4 - Defined

The Microsoft Expression Blend Software Development Kit (SDK) for
Windows Phone provides conceptual topics and programming reference
for behaviors, which are reusable pieces of packaged code that can be
dragged onto any object and then fine-tuned by changing their
properties.
There are more..
APIs for
Accelerometer
Vibration Controller
Bing Maps
Web Browser
Charting
Advertising
XNA Game
Trial Version
…
LG Quantum    HTC 7            HTC HD7     Dell Venue Pro
              Surround




         Samsung     Samsung
                                  HTC 7
         Focus       Omnia 7
                                  Trophy
Resources
http://borntolearn.mslearn.net/wp7/m/default.aspx
http://wp7dev.wikispaces.com
http://channel9.msdn.com/learn/courses/WP7TrainingKit
http://www.charlespetzold.com/phone/
http://images.google.com
http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7.aspx
http://go.microsoft.com/fwlink/?LinkID=183218

More Related Content

Viewers also liked

Continuations
ContinuationsContinuations
Continuationsopenbala
 
Orders of consciousness
Orders of consciousnessOrders of consciousness
Orders of consciousnessopenbala
 
Functional programming basics
Functional programming basicsFunctional programming basics
Functional programming basicsopenbala
 
Small, simple and smelly: What we can learn from examining end-user artifacts?
Small, simple and smelly: What we can learn from examining end-user artifacts?Small, simple and smelly: What we can learn from examining end-user artifacts?
Small, simple and smelly: What we can learn from examining end-user artifacts?Felienne Hermans
 
Why Scala Is Taking Over the Big Data World
Why Scala Is Taking Over the Big Data WorldWhy Scala Is Taking Over the Big Data World
Why Scala Is Taking Over the Big Data WorldDean Wampler
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with DataSeth Familian
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017Drift
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheLeslie Samuel
 

Viewers also liked (8)

Continuations
ContinuationsContinuations
Continuations
 
Orders of consciousness
Orders of consciousnessOrders of consciousness
Orders of consciousness
 
Functional programming basics
Functional programming basicsFunctional programming basics
Functional programming basics
 
Small, simple and smelly: What we can learn from examining end-user artifacts?
Small, simple and smelly: What we can learn from examining end-user artifacts?Small, simple and smelly: What we can learn from examining end-user artifacts?
Small, simple and smelly: What we can learn from examining end-user artifacts?
 
Why Scala Is Taking Over the Big Data World
Why Scala Is Taking Over the Big Data WorldWhy Scala Is Taking Over the Big Data World
Why Scala Is Taking Over the Big Data World
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017
 
How to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your NicheHow to Become a Thought Leader in Your Niche
How to Become a Thought Leader in Your Niche
 

Similar to Windows phone 7 series

Pandora FMS: Windows Phone 7 Agent
Pandora FMS: Windows Phone 7 AgentPandora FMS: Windows Phone 7 Agent
Pandora FMS: Windows Phone 7 AgentPandora FMS
 
Windows Phone 7 Unleashed Session 2
Windows Phone 7 Unleashed Session 2Windows Phone 7 Unleashed Session 2
Windows Phone 7 Unleashed Session 2Wes Yanaga
 
GDG GeorgeTown Devfest 2014 Presentation: Android Wear: A Developer's Perspec...
GDG GeorgeTown Devfest 2014 Presentation: Android Wear: A Developer's Perspec...GDG GeorgeTown Devfest 2014 Presentation: Android Wear: A Developer's Perspec...
GDG GeorgeTown Devfest 2014 Presentation: Android Wear: A Developer's Perspec...mharkus
 
Oracle MAF real life OOW.pptx
Oracle MAF real life OOW.pptxOracle MAF real life OOW.pptx
Oracle MAF real life OOW.pptxLuc Bors
 
iOS app dev Training - Session1
iOS app dev Training - Session1iOS app dev Training - Session1
iOS app dev Training - Session1Hussain Behestee
 
Getting your app ready for android n
Getting your app ready for android nGetting your app ready for android n
Getting your app ready for android nSercan Yusuf
 
Mobile Software Engineering Crash Course - C04 Android Cont.
Mobile Software Engineering Crash Course - C04 Android Cont.Mobile Software Engineering Crash Course - C04 Android Cont.
Mobile Software Engineering Crash Course - C04 Android Cont.Mohammad Shaker
 
Connecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in BluemixConnecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in BluemixIBM
 
What's new in Android P @ I/O Extended Bangkok 2018
What's new in Android P @ I/O Extended Bangkok 2018What's new in Android P @ I/O Extended Bangkok 2018
What's new in Android P @ I/O Extended Bangkok 2018Somkiat Khitwongwattana
 
Presentation - Windows App Development - II - Mr. Chandan Gupta
Presentation - Windows App Development - II - Mr. Chandan GuptaPresentation - Windows App Development - II - Mr. Chandan Gupta
Presentation - Windows App Development - II - Mr. Chandan GuptaMobileNepal
 
Ember.js - A JavaScript framework for creating ambitious web applications
Ember.js - A JavaScript framework for creating ambitious web applications  Ember.js - A JavaScript framework for creating ambitious web applications
Ember.js - A JavaScript framework for creating ambitious web applications Juliana Lucena
 
Windows Phone 8 - 15 Location and Maps
Windows Phone 8 - 15 Location and MapsWindows Phone 8 - 15 Location and Maps
Windows Phone 8 - 15 Location and MapsOliver Scheer
 
iOS Architectures
iOS ArchitecturesiOS Architectures
iOS ArchitecturesHung Hoang
 
Introduction to Handoff
Introduction to HandoffIntroduction to Handoff
Introduction to HandoffHarit Kothari
 
Murach : How to work with session state and cookies
Murach : How to work with session state and cookiesMurach : How to work with session state and cookies
Murach : How to work with session state and cookiesMahmoudOHassouna
 
What's new in Android O
What's new in Android OWhat's new in Android O
What's new in Android OKirill Rozov
 
MVP Community Camp 2014 - How to use enhanced features of Windows 8.1 Store ...
MVP Community Camp 2014 - How to useenhanced features of Windows 8.1 Store ...MVP Community Camp 2014 - How to useenhanced features of Windows 8.1 Store ...
MVP Community Camp 2014 - How to use enhanced features of Windows 8.1 Store ...Akira Hatsune
 
Java Web Programming [8/9] : JSF and AJAX
Java Web Programming [8/9] : JSF and AJAXJava Web Programming [8/9] : JSF and AJAX
Java Web Programming [8/9] : JSF and AJAXIMC Institute
 

Similar to Windows phone 7 series (20)

Pandora FMS: Windows Phone 7 Agent
Pandora FMS: Windows Phone 7 AgentPandora FMS: Windows Phone 7 Agent
Pandora FMS: Windows Phone 7 Agent
 
Windows Phone 7 Unleashed Session 2
Windows Phone 7 Unleashed Session 2Windows Phone 7 Unleashed Session 2
Windows Phone 7 Unleashed Session 2
 
GDG GeorgeTown Devfest 2014 Presentation: Android Wear: A Developer's Perspec...
GDG GeorgeTown Devfest 2014 Presentation: Android Wear: A Developer's Perspec...GDG GeorgeTown Devfest 2014 Presentation: Android Wear: A Developer's Perspec...
GDG GeorgeTown Devfest 2014 Presentation: Android Wear: A Developer's Perspec...
 
Oracle MAF real life OOW.pptx
Oracle MAF real life OOW.pptxOracle MAF real life OOW.pptx
Oracle MAF real life OOW.pptx
 
iOS app dev Training - Session1
iOS app dev Training - Session1iOS app dev Training - Session1
iOS app dev Training - Session1
 
Getting your app ready for android n
Getting your app ready for android nGetting your app ready for android n
Getting your app ready for android n
 
Mobile Software Engineering Crash Course - C04 Android Cont.
Mobile Software Engineering Crash Course - C04 Android Cont.Mobile Software Engineering Crash Course - C04 Android Cont.
Mobile Software Engineering Crash Course - C04 Android Cont.
 
Connecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in BluemixConnecting Xamarin Apps with IBM Worklight in Bluemix
Connecting Xamarin Apps with IBM Worklight in Bluemix
 
What's new in Android P @ I/O Extended Bangkok 2018
What's new in Android P @ I/O Extended Bangkok 2018What's new in Android P @ I/O Extended Bangkok 2018
What's new in Android P @ I/O Extended Bangkok 2018
 
Clean Architecture @ Taxibeat
Clean Architecture @ TaxibeatClean Architecture @ Taxibeat
Clean Architecture @ Taxibeat
 
Presentation - Windows App Development - II - Mr. Chandan Gupta
Presentation - Windows App Development - II - Mr. Chandan GuptaPresentation - Windows App Development - II - Mr. Chandan Gupta
Presentation - Windows App Development - II - Mr. Chandan Gupta
 
Android workshop
Android workshopAndroid workshop
Android workshop
 
Ember.js - A JavaScript framework for creating ambitious web applications
Ember.js - A JavaScript framework for creating ambitious web applications  Ember.js - A JavaScript framework for creating ambitious web applications
Ember.js - A JavaScript framework for creating ambitious web applications
 
Windows Phone 8 - 15 Location and Maps
Windows Phone 8 - 15 Location and MapsWindows Phone 8 - 15 Location and Maps
Windows Phone 8 - 15 Location and Maps
 
iOS Architectures
iOS ArchitecturesiOS Architectures
iOS Architectures
 
Introduction to Handoff
Introduction to HandoffIntroduction to Handoff
Introduction to Handoff
 
Murach : How to work with session state and cookies
Murach : How to work with session state and cookiesMurach : How to work with session state and cookies
Murach : How to work with session state and cookies
 
What's new in Android O
What's new in Android OWhat's new in Android O
What's new in Android O
 
MVP Community Camp 2014 - How to use enhanced features of Windows 8.1 Store ...
MVP Community Camp 2014 - How to useenhanced features of Windows 8.1 Store ...MVP Community Camp 2014 - How to useenhanced features of Windows 8.1 Store ...
MVP Community Camp 2014 - How to use enhanced features of Windows 8.1 Store ...
 
Java Web Programming [8/9] : JSF and AJAX
Java Web Programming [8/9] : JSF and AJAXJava Web Programming [8/9] : JSF and AJAX
Java Web Programming [8/9] : JSF and AJAX
 

Recently uploaded

定制(USF学位证)旧金山大学毕业证成绩单原版一比一
定制(USF学位证)旧金山大学毕业证成绩单原版一比一定制(USF学位证)旧金山大学毕业证成绩单原版一比一
定制(USF学位证)旧金山大学毕业证成绩单原版一比一ss ss
 
Call Girls In Paharganj 24/7✡️9711147426✡️ Escorts Service
Call Girls In Paharganj 24/7✡️9711147426✡️ Escorts ServiceCall Girls In Paharganj 24/7✡️9711147426✡️ Escorts Service
Call Girls In Paharganj 24/7✡️9711147426✡️ Escorts Servicejennyeacort
 
vip Model Basti Call Girls 9999965857 Call or WhatsApp Now Book
vip Model Basti Call Girls 9999965857 Call or WhatsApp Now Bookvip Model Basti Call Girls 9999965857 Call or WhatsApp Now Book
vip Model Basti Call Girls 9999965857 Call or WhatsApp Now Bookmanojkuma9823
 
Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝
Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝
Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝soniya singh
 
毕业文凭制作#回国入职#diploma#degree加拿大瑞尔森大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree加拿大瑞尔森大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree 毕业文凭制作#回国入职#diploma#degree加拿大瑞尔森大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree加拿大瑞尔森大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree z zzz
 
Alambagh Call Girl 9548273370 , Call Girls Service Lucknow
Alambagh Call Girl 9548273370 , Call Girls Service LucknowAlambagh Call Girl 9548273370 , Call Girls Service Lucknow
Alambagh Call Girl 9548273370 , Call Girls Service Lucknowmakika9823
 
定制(Salford学位证)索尔福德大学毕业证成绩单原版一比一
定制(Salford学位证)索尔福德大学毕业证成绩单原版一比一定制(Salford学位证)索尔福德大学毕业证成绩单原版一比一
定制(Salford学位证)索尔福德大学毕业证成绩单原版一比一ss ss
 
Call Girls Delhi {Rohini} 9711199012 high profile service
Call Girls Delhi {Rohini} 9711199012 high profile serviceCall Girls Delhi {Rohini} 9711199012 high profile service
Call Girls Delhi {Rohini} 9711199012 high profile servicerehmti665
 
(办理学位证)韩国汉阳大学毕业证成绩单原版一比一
(办理学位证)韩国汉阳大学毕业证成绩单原版一比一(办理学位证)韩国汉阳大学毕业证成绩单原版一比一
(办理学位证)韩国汉阳大学毕业证成绩单原版一比一C SSS
 
5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)
5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)
5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)861c7ca49a02
 
如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一
如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一
如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一ga6c6bdl
 
毕业文凭制作#回国入职#diploma#degree美国威斯康星大学麦迪逊分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#d...
毕业文凭制作#回国入职#diploma#degree美国威斯康星大学麦迪逊分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#d...毕业文凭制作#回国入职#diploma#degree美国威斯康星大学麦迪逊分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#d...
毕业文凭制作#回国入职#diploma#degree美国威斯康星大学麦迪逊分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#d...ttt fff
 
Slim Call Girls Service Badshah Nagar * 9548273370 Naughty Call Girls Service...
Slim Call Girls Service Badshah Nagar * 9548273370 Naughty Call Girls Service...Slim Call Girls Service Badshah Nagar * 9548273370 Naughty Call Girls Service...
Slim Call Girls Service Badshah Nagar * 9548273370 Naughty Call Girls Service...nagunakhan
 
(办理学位证)加州州立大学北岭分校毕业证成绩单原版一比一
(办理学位证)加州州立大学北岭分校毕业证成绩单原版一比一(办理学位证)加州州立大学北岭分校毕业证成绩单原版一比一
(办理学位证)加州州立大学北岭分校毕业证成绩单原版一比一Fi sss
 
萨斯喀彻温大学毕业证学位证成绩单-购买流程
萨斯喀彻温大学毕业证学位证成绩单-购买流程萨斯喀彻温大学毕业证学位证成绩单-购买流程
萨斯喀彻温大学毕业证学位证成绩单-购买流程1k98h0e1
 
Papular No 1 Online Istikhara Amil Baba Pakistan Amil Baba In Karachi Amil B...
Papular No 1 Online Istikhara Amil Baba Pakistan  Amil Baba In Karachi Amil B...Papular No 1 Online Istikhara Amil Baba Pakistan  Amil Baba In Karachi Amil B...
Papular No 1 Online Istikhara Amil Baba Pakistan Amil Baba In Karachi Amil B...Authentic No 1 Amil Baba In Pakistan
 
定制(UI学位证)爱达荷大学毕业证成绩单原版一比一
定制(UI学位证)爱达荷大学毕业证成绩单原版一比一定制(UI学位证)爱达荷大学毕业证成绩单原版一比一
定制(UI学位证)爱达荷大学毕业证成绩单原版一比一ss ss
 
Hifi Defence Colony Call Girls Service WhatsApp -> 9999965857 Available 24x7 ...
Hifi Defence Colony Call Girls Service WhatsApp -> 9999965857 Available 24x7 ...Hifi Defence Colony Call Girls Service WhatsApp -> 9999965857 Available 24x7 ...
Hifi Defence Colony Call Girls Service WhatsApp -> 9999965857 Available 24x7 ...srsj9000
 

Recently uploaded (20)

定制(USF学位证)旧金山大学毕业证成绩单原版一比一
定制(USF学位证)旧金山大学毕业证成绩单原版一比一定制(USF学位证)旧金山大学毕业证成绩单原版一比一
定制(USF学位证)旧金山大学毕业证成绩单原版一比一
 
Call Girls In Paharganj 24/7✡️9711147426✡️ Escorts Service
Call Girls In Paharganj 24/7✡️9711147426✡️ Escorts ServiceCall Girls In Paharganj 24/7✡️9711147426✡️ Escorts Service
Call Girls In Paharganj 24/7✡️9711147426✡️ Escorts Service
 
vip Model Basti Call Girls 9999965857 Call or WhatsApp Now Book
vip Model Basti Call Girls 9999965857 Call or WhatsApp Now Bookvip Model Basti Call Girls 9999965857 Call or WhatsApp Now Book
vip Model Basti Call Girls 9999965857 Call or WhatsApp Now Book
 
Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝
Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝
Call Girls in Dwarka Sub City 💯Call Us 🔝8264348440🔝
 
毕业文凭制作#回国入职#diploma#degree加拿大瑞尔森大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree加拿大瑞尔森大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree 毕业文凭制作#回国入职#diploma#degree加拿大瑞尔森大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
毕业文凭制作#回国入职#diploma#degree加拿大瑞尔森大学毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#degree
 
Alambagh Call Girl 9548273370 , Call Girls Service Lucknow
Alambagh Call Girl 9548273370 , Call Girls Service LucknowAlambagh Call Girl 9548273370 , Call Girls Service Lucknow
Alambagh Call Girl 9548273370 , Call Girls Service Lucknow
 
定制(Salford学位证)索尔福德大学毕业证成绩单原版一比一
定制(Salford学位证)索尔福德大学毕业证成绩单原版一比一定制(Salford学位证)索尔福德大学毕业证成绩单原版一比一
定制(Salford学位证)索尔福德大学毕业证成绩单原版一比一
 
CIVIL ENGINEERING
CIVIL ENGINEERINGCIVIL ENGINEERING
CIVIL ENGINEERING
 
Call Girls Delhi {Rohini} 9711199012 high profile service
Call Girls Delhi {Rohini} 9711199012 high profile serviceCall Girls Delhi {Rohini} 9711199012 high profile service
Call Girls Delhi {Rohini} 9711199012 high profile service
 
(办理学位证)韩国汉阳大学毕业证成绩单原版一比一
(办理学位证)韩国汉阳大学毕业证成绩单原版一比一(办理学位证)韩国汉阳大学毕业证成绩单原版一比一
(办理学位证)韩国汉阳大学毕业证成绩单原版一比一
 
5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)
5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)
5S - House keeping (Seiri, Seiton, Seiso, Seiketsu, Shitsuke)
 
如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一
如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一
如何办理萨省大学毕业证(UofS毕业证)成绩单留信学历认证原版一比一
 
毕业文凭制作#回国入职#diploma#degree美国威斯康星大学麦迪逊分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#d...
毕业文凭制作#回国入职#diploma#degree美国威斯康星大学麦迪逊分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#d...毕业文凭制作#回国入职#diploma#degree美国威斯康星大学麦迪逊分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#d...
毕业文凭制作#回国入职#diploma#degree美国威斯康星大学麦迪逊分校毕业证成绩单pdf电子版制作修改#毕业文凭制作#回国入职#diploma#d...
 
Slim Call Girls Service Badshah Nagar * 9548273370 Naughty Call Girls Service...
Slim Call Girls Service Badshah Nagar * 9548273370 Naughty Call Girls Service...Slim Call Girls Service Badshah Nagar * 9548273370 Naughty Call Girls Service...
Slim Call Girls Service Badshah Nagar * 9548273370 Naughty Call Girls Service...
 
young call girls in Khanpur,🔝 9953056974 🔝 escort Service
young call girls in  Khanpur,🔝 9953056974 🔝 escort Serviceyoung call girls in  Khanpur,🔝 9953056974 🔝 escort Service
young call girls in Khanpur,🔝 9953056974 🔝 escort Service
 
(办理学位证)加州州立大学北岭分校毕业证成绩单原版一比一
(办理学位证)加州州立大学北岭分校毕业证成绩单原版一比一(办理学位证)加州州立大学北岭分校毕业证成绩单原版一比一
(办理学位证)加州州立大学北岭分校毕业证成绩单原版一比一
 
萨斯喀彻温大学毕业证学位证成绩单-购买流程
萨斯喀彻温大学毕业证学位证成绩单-购买流程萨斯喀彻温大学毕业证学位证成绩单-购买流程
萨斯喀彻温大学毕业证学位证成绩单-购买流程
 
Papular No 1 Online Istikhara Amil Baba Pakistan Amil Baba In Karachi Amil B...
Papular No 1 Online Istikhara Amil Baba Pakistan  Amil Baba In Karachi Amil B...Papular No 1 Online Istikhara Amil Baba Pakistan  Amil Baba In Karachi Amil B...
Papular No 1 Online Istikhara Amil Baba Pakistan Amil Baba In Karachi Amil B...
 
定制(UI学位证)爱达荷大学毕业证成绩单原版一比一
定制(UI学位证)爱达荷大学毕业证成绩单原版一比一定制(UI学位证)爱达荷大学毕业证成绩单原版一比一
定制(UI学位证)爱达荷大学毕业证成绩单原版一比一
 
Hifi Defence Colony Call Girls Service WhatsApp -> 9999965857 Available 24x7 ...
Hifi Defence Colony Call Girls Service WhatsApp -> 9999965857 Available 24x7 ...Hifi Defence Colony Call Girls Service WhatsApp -> 9999965857 Available 24x7 ...
Hifi Defence Colony Call Girls Service WhatsApp -> 9999965857 Available 24x7 ...
 

Windows phone 7 series

  • 1. Windows Phone 7 Series Balaji Damodaran -ThoughtWorks
  • 2. Before we start, a confession…
  • 5.
  • 6. And Cross Platform APIs (mostly)
  • 7.
  • 9.
  • 10. Old(ish) wine in a new(ish) bottle
  • 11.
  • 12. Demo
  • 14. Metro
  • 15. Metro Design and Typeface The Windows Phone OS 7 User Interface (UI) is based on a design that is internally named Metro, and echoes the visual language of airport and metro system signage in its design and typeface.
  • 16.
  • 17. Tiles Tiles are links to applications, features, functions and individual items (such as contacts, web pages, applications or media items). Users can add, rearrange, or remove Tiles. Tiles are dynamic and update in real time Tiles that use the Tile Notification feature can update the Tile graphic or title text, or increment a counter.
  • 18. Themes A Theme is a user-selected combination of background and accent colors that personalizes the visual elements on a Windows Phone for that user.
  • 20. Silverlight Essentials Xaml – Extensible Application Markup Language (ala HTML types) Xaml.cs – Backend Program that controls the UI state and data (ala JavaScript)
  • 21. UI Controls • ListBox • Grid • Canvas • StackPanel • Border • Map • Slider • ProgressBar • TextBlock • more…
  • 23. Panorama Application Unlike standard applications that are designed to fit within the confines of the phone screen, these applications offer a unique way to view controls, data, and services by using a long horizontal canvas that extends beyond the confines of the screen
  • 24. Pivot Application A pivot control provides a quick way to manage views or pages within the application. The control places individual views horizontally next to each other, and manages the left and right navigation. Flicking or panning horizontally on the page cycles the pivot functionality.
  • 26. Isolated Storage - Defined Isolated storage enables managed applications to create and maintain local storage. Application developers have the ability to store data locally on the phone, leveraging all the benefits of isolated storage including protecting data from other applications.
  • 27. Isolated Storing System.IO.IsolatedStorage using (IsolatedStorageFile isoStorage = IsolatedStorageFile.GetUserStoreForApplication()) { using (IsolatedStorageFileStream stream = isoStorage.OpenFile("xconfpune.dat", FileMode.OpenOrCreate)) { DataContractSerializer serializer = new DataContractSerializer(typeof(XConfSession)); XConfSession info = serializer.ReadObject(stream) as XConfSession; } }
  • 28. WP7 ↔ Web Services
  • 29. features Not Supported: • Duplex communication over HTTP • WCF Data Services. • Custom bindings, sockets, RSS and Atom feeds • WS proxy cannot be generated dynamically using ‘CreateChannel’. Supported: • Asynchronous communication over HTTP • Silverlight 3 SDK feature support for WCF. • Compile time proxy through ‘Add Service Reference’ in VS2010
  • 31. Data Binding - Defined Data binding is a way of linking user input to program data automatically. a. User input will fire property changed events. b. Changing a property in the program will update the display.
  • 32. Data Binding - Setting Defining the data source: a. DataContext property of any containing Element b. ItemSource of a List control – (ObservableCollection type) <phone:PhoneApplicationPage.Resources> <local:DamageClass x:Key="DamageClass" /> </phone:PhoneApplicationPage.Resources> <!--LayoutRoot contains the root grid where all other page content is placed--> <Grid x:Name="LayoutRoot" Background="Transparent" DataContext="{StaticResource DamageClass}"> Binding the Data: <TextBlock Grid.Column="0" Text="{Binding TimeSlot}" Style="{StaticResource PhoneTextSubtleStyle}"/>
  • 33. Data Binding - Modes Mode determines how changes are synchronized: a. OneTime b. OneWay c. TwoWay
  • 35. Application Bar - Defined The Application Bar provides a place for developers to display up to four of the most common application tasks and views as icon buttons.
  • 36. Application Bar <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True"> <shell:ApplicationBarIconButton IconUri="/Images/appbar_button1.png" Text="Button 1"/> <shell:ApplicationBarIconButton IconUri="/Images/appbar_button2.png" Text="Button 2"/> <shell:ApplicationBar.MenuItems> <shell:ApplicationBarMenuItem Text="MenuItem 1"/> <shell:ApplicationBarMenuItem Text="MenuItem 2"/> </shell:ApplicationBar.MenuItems> </shell:ApplicationBar> Icons need to be developed only in white, Windows Phone API will take care of converting it into respective dark color when the theme changes from dark to light. Text hint is mandatory. A maximum of 4 icons are allowed in the application bar. A maximum of 5 menu items are allowed under the application bar.
  • 39. Tombstoning The procedure in which the operating system terminates an application’s process when the user navigates away from the application. The operating system maintains state information about the application. If the user navigates back to the application, the operating system restarts the application process and passes the state data back to the application.
  • 40. App.xaml Application_Launching - Triggered on starting the app, not on activation after being tomstoned. Application_Activated - Triggered on reactivating the app after being tomstoned. Application_Deactivated - Triggered when an app is being tomstoned. Application_Closing - Triggered on closing the application.
  • 41. Launchers and Choosers
  • 42. Launchers and Choosers - Defined The Launcher and Chooser APIs invoke distinct built-in applications that replace the currently running application. Launcher: A Launcher is an API that launches one of the built-in applications through which a user completes a task, and in which no data is returned to the calling application. E.g. Phone Call Chooser: A Chooser is an API that launches one of the built-in applications through which a user completes a task, and which returns some kind of data to the calling application E.g. Choosing a Photo
  • 43. Launchers EmailComposeTask MarketplaceDetailTask MarketplaceHubTask EmailComposeTask emailComposeTask = new EmailComposeTask(); MarketplaceReviewTask emailComposeTask.To = "user@example.com"; MarketplaceSearchTask emailComposeTask.Body = "Email message body"; emailComposeTask.Cc = "user2@example.com"; MediaPlayerLauncher emailComposeTask.Subject = "Email subject"; PhoneCallTask emailComposeTask.Show(); SearchTask SMSComposeTask WebBrowserTask
  • 44. Choosers CameraCaptureTask // Initialize the CameraCaptureTask and assign the Completed handler in the page constructor. EmailAddressChooserTask cameraCaptureTask = new CameraCaptureTask(); PhoneNumberChooserTask cameraCaptureTask.Completed += new EventHandler<PhotoResult>(cameraCaptureTask_Completed); PhotoChooserTask cameraCaptureTask.Show(); SaveEmailAddressTask void cameraCaptureTask_Completed(object sender, PhotoResult e) SavePhoneNumberTask { if (e.TaskResult == TaskResult.OK) { BitmapImage bmp = new BitmapImage(); bmp.SetSource(e.ChosenPhoto); myImage.Source = bmp; } }
  • 46. Location Services The Location Service allows you to create location-aware applications. The service obtains location data from multiple sources such as GPS, Wi-Fi, and cellular. System.Device.Location GeoCoordinateWatcher // The watcher variable was declared as type GeoCoordinateWatcher. if (watcher == null) { watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High); // using high accuracy watcher.MovementThreshold = 20; // to ignore noise in the signal in metres. watcher.StatusChanged += new EventHandler<GeoPositionStatusChangedEventArgs>(w_StatusChanged); watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(w_PositionChanged); } watcher.Start();
  • 47. GeoPosition Statuses switch (e.Status) { case GeoPositionStatus.Disabled: // The Location Service is disabled or unsupported. Check to see if the user has disabled the Location Service. if (watcher.Permission == GeoPositionPermission.Denied) { // The user has disabled the Location Service on their device. } else { //location is not functioning on this device } break; case GeoPositionStatus.Initializing: // The Location Service is initializing. break; case GeoPositionStatus.NoData: // The Location Service is working, but it cannot get location data. break; case GeoPositionStatus.Ready: // The Location Service is working and is receiving location data. break; }
  • 49. Push Notifications Push Notification Service in Windows Phone offers a dedicated, and persistent channel to send information and updates to a mobile application from a web service.
  • 50. Types of Push Notifications 1. Tile Notification 1. Image, Count, Title can be notified 2. Toast Notification 1. Displayed on top of the screen for 10 seconds. 3. Raw Notification 1. To send raw information to application if running.
  • 51. Send a push notification to service // The URI that the Push Notification Service returns to the Push Client when creating a notification channel. string subscriptionUri = “http://hostedlive.com/hello" HttpWebRequest sendNotificationRequest = (HttpWebRequest)WebRequest.Create(subscriptionUri); // HTTP POST is the only allowed method to send the notification. sendNotificationRequest.Method = "POST"; // The custom header X-MessageID uniquely identifies a message. If it is present, the same value is returned in the notification response. sendNotificationRequest.Headers.Add("X-MessageID", "<UUID>"); // Sets the web request content length. sendNotificationRequest.ContentLength = notificationMessage.Length; // Sets the notification payload to send. byte[] notificationMessage = new byte[] {<payload>}; using (Stream requestStream = sendNotificationRequest.GetRequestStream()) { requestStream.Write(notificationMessage, 0, notificationMessage.Length); } // Sends the notification and gets the response. HttpWebResponse response = (HttpWebResponse)sendNotificationRequest.GetResponse();
  • 52. Send a push notification to service – Pay Loads Raw notification new byte[] {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08}; Tile notification <?xml version=1.0 encoding=utf-8?> <wp:Notification xmlns:wp=WPNotification> <wp:Tile> <wp:BackgroundImage><background image path></wp:BackgroundImage> <wp:Count>5</wp:Count> <wp:Title>xconf_pune</wp:Title> </wp:Tile> </wp:Notification> Toast notification <?xml version=1.0 encoding=utf-8?> <wp:Notification xmlns:wp=WPNotification> <wp:Toast> <wp:Text1><string></wp:Text1> <wp:Text2><string></wp:Text2> </wp:Toast> </wp:Notification> sendNotificationRequest.ContentType = "text/xml"; sendNotificationRequest.Headers.Add("X-WindowsPhone-Target", "token"); sendNotificationRequest.Headers.Add("X-NotificationClass", "<batching interval>");
  • 53. Receive a Push Notification Microsoft.Phone.Notification HttpNotificationChannel // Only one notification channel name is supported per application. channel = new HttpNotificationChannel("channel","www.contoso.com"); channel.Open(); //receiving a raw notification channel.HttpNotificationReceived += new EventHandler<HttpNotificationEventArgs>(channel_HttpNotificationReceived); // If the application is running in the foreground, the toast notification is instead routed to the application. channel.ShellToastNotificationReceived += new EventHandler<NotificationEventArgs>(channel_ShellToastNotificationReceived); // Binding a notification channel to a tile notification. if (!channel.IsShellTileBound) { channel.BindToShellTile(); } // Binding a notification channel to a toast notification. if (!channel.IsShellToastBound) { channel.BindToShellToast(); }
  • 55. Available Gestures • Tap • DoubleTap • Hold • FreeDrag • VerticalDrag Touch Gestures is available only in XNA framework, though the library can be used in • HorizontalDrag a Silverlight application. • DragComplete • Flick • Pinch • PinchComplete
  • 56. Gesture Sample Microsoft.Xna.Framework.Input.Touch //enable the gestures we care about.you must set EnabledGestures before you can use any of the other gesture APIs. TouchPanel.EnabledGestures=GestureType.Hold|GestureType.Tap|GestureType.FreeDrag; //since we may have multiple gestures available, we use a loop to read in all of the gestures while(TouchPanel.IsGestureAvailable) { //read the next gesture from the queue GestureSample gesture=TouchPanel.ReadGesture(); //we can use the type of gesture to determine our behavior switch(gesture.GestureType) { case GestureType.Tap: case GestureType.DoubleTap: case GestureType.Hold: case GestureType.FreeDrag: case GestureType.Flick: case GestureType.Pinch: } }
  • 58. Expression Blend 4 - Defined The Microsoft Expression Blend Software Development Kit (SDK) for Windows Phone provides conceptual topics and programming reference for behaviors, which are reusable pieces of packaged code that can be dragged onto any object and then fine-tuned by changing their properties.
  • 59.
  • 60.
  • 62. APIs for Accelerometer Vibration Controller Bing Maps Web Browser Charting Advertising XNA Game Trial Version …
  • 63. LG Quantum HTC 7 HTC HD7 Dell Venue Pro Surround Samsung Samsung HTC 7 Focus Omnia 7 Trophy