NNUG Trondheim 30.09.2010 -  Windows Phone 7
Upcoming SlideShare
Loading in...5
×
 

NNUG Trondheim 30.09.2010 - Windows Phone 7

on

  • 996 views

Introduksjon til Windows Phone 7 som plattform. Presentert på NNUG møte i Trondheim 30.09.2010.

Introduksjon til Windows Phone 7 som plattform. Presentert på NNUG møte i Trondheim 30.09.2010.

Statistics

Views

Total Views
996
Views on SlideShare
994
Embed Views
2

Actions

Likes
0
Downloads
5
Comments
0

2 Embeds 2

http://www.linkedin.com 1
http://www.verious.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

NNUG Trondheim 30.09.2010 -  Windows Phone 7 NNUG Trondheim 30.09.2010 - Windows Phone 7 Presentation Transcript

  • Windows Phone 7
    Jonas Follesø
    NNUG Trondheim, 30. september 2010
  • ABOUT ME
    JONAS FOLLESØ
    jonas@follesoe.no
    http://jonas.follesoe.no
    @follesoe
  • AGENDA:- WP7 PLATFORM- PHONE APIs- TDD- BLEND 4- DEMOS!
    http://www.flickr.com/photos/20792787@N00/2248623391/
  • WINDOWS PHONE 7A FRESH START!
  • XNA FOR GAMESSILVERLIGHT FOR APPS
  • KNOW SILVERLIGHT?THEN YOU KNOW WP7!
  • HELLO WORLDDEMO
  • METRO DESIGN LANGUAGE
  • PIVOT CONTROL
  • HUB CONTROL
  • BLEND 4DEMO
  • LAUNCHERS & CHOOSERS
    • CameraCaptureTask
    • EmailAddressChooserTask
    • EmailComposeTask
    • MarketplaceDetailTask
    • MarketplaceHunTask
    • MarketplaceReviewTask
    • MarketplaceSearchTask
    • MediaPlayerLauncher
    • PhoneCallTask
    • PhoneNumberChooserTask
    • PhotoChooserTask
    • SaveEmailAddressTask
    • SavePhoneNumberTask
    • SearchTask
    • SmsComposeTask
    • WebBrowserTask
    http://www.flickr.com/photos/mad_house_photography/4440871380/
  • LAUNCH BUILT IN APP WITH SOME DATA
    http://www.flickr.com/photos/28634332@N05/4054766770/
  • privatevoidsmsCompose_Click(objectsender, RoutedEventArgse)
    {
    varsmsCompose=newSmsComposeTask();
    smsCompose.To="97706660";
    smsCompose.Body="Hello NNUG!";
    smsCompose.Show();
    }
  • LAUNCH BUILT IN APP TO CHOOSE SOME DATA
  • privatevoidchoose_Click(objectsender, RoutedEventArgse)
    {
    varemailChooser=newEmailAddressChooserTask();
    emailChooser.Completed+=emailChooser_Completed;
    emailChooser.Show();
    }
    privatevoidemailChooser_Completed(objectsender, EmailResulte)
    {
    if(e.TaskResult==TaskResult.OK)
    email.Text=e.Email;
    }
  • CHOSER & LAUCHER DEMO
  • EXECUTION MODEL & TOMBSTONING
    http://www.flickr.com/photos/9810948@N05/1583506787/
  • NO MULTI TASKINGBUT...
    http://www.flickr.com/photos/n3ptun3r/3376697490/
  • FAST ACTIVATION & DEACTIVATION GIVES IMPRESSION OF APP RUNNING IN BACKGROUND
    http://www.flickr.com/photos/cirox/363284194/
  • PAGE STATE
    • Poisition of ScollViewer
    • Content of TextBox
    • State of other UI elements
    • OnNavigatedTo & OnNavigatedFrom
  • APP STATE
    • State not associated with spesific page
    • Managed by PhoneApplicationService
  • PERSISTENT DATA
    • Data shared by all instances of app
    • Save and loaded from Isolated Storage
  • TRANSIENT STATE
    • Data for instance of application
    • Stored in State dictionary
    • Similar to cache
  • Launching
    Running
    Deactivating
    Activating
    Closing
    Chooser/Task/Other
  • PUSH NOTIFICATIONS WHEN APP IS NOT RUNNING
  • TWO TYPES OF NOTIFICATIONS
  • WP7 PUSH NOTIFICATIONS
    Your WP Application
    Hand off channel URL
    2
    Your Web Application
    PUSH CLIENT
    Notification Namespaces
    Push Library
    4
    Push
    message
    3
    Push message
    1
    Open Channel
    Microsoft Push Notification Services
  • PUSH NOTIFICATIONS DEMO
    http://www.flickr.com/photos/kozloski/2306510520/
  • privatevoidopen_Click(objectsender, RoutedEventArgse)
    {
    varchannel=HttpNotificationChannel.Find("NNUG");
    if (channel==null)
    {
    channel=newHttpNotificationChannel("NNUG");
    }
    channel.ChannelUriUpdated+=channel_ChannelUriUpdated;
    channel.ShellToastNotificationReceived+=
    channel_ShellToastNotificationReceived;
    channel.Open();
    }
  • privatevoidchannel_ShellToastNotificationReceived
    (objectsender, NotificationEventArgse)
    {
    foreach (vartextine.Collection)
    output.Text+=text+" ";
    }
  • ISOLATED STORAGEFOR SIMPLE DATA STORAGE
  • NOSQLFOR WP7?
  • ISOLATED STORAGEDEMO
    http://www.flickr.com/photos/omarrun/4672531253/in/photostream
  • ACCELEROMETERDEMO
    http://www.flickr.com/photos/howzey/2880455762/
  • LOCATION AWARENESSIS KEY WHEN ON THE GO
  • SAME API IN .NET 4 & WP7
    http://www.flickr.com/photos/photograham/198324031/
  • privatevoidstart_Click(objectsender, System.Windows.RoutedEventArgse)
    {
    varwatcher=newGeoCoordinateWatcher(GeoPositionAccuracy.High);
    watcher.PositionChanged+=watcher_PositionChanged;
    watcher.Start();
    }
    privatevoidwatcher_PositionChanged(objectsender,
    GeoPositionChangedEventArgs<GeoCoordinate>e)
    {
    varlocation=e.Position.Location;
    varlat=location.Latitude;
    varlon=location.Longitude;
    }
  • TDD FUNDAMENTALPRACTICE
    http://www.flickr.com/photos/mad_house_photography/4440871380/
  • TDDDEMO
  • FLIGHTS NORWAYMONITORARRIVALS AND DEPARTURES
    http://www.flickr.com/photos/svenwerk/2181849280/
  • RESTSERVICESWITH FLIGHT INFORMATION
    http://flydata.avinor.no/
    http://open.bekk.no/2009/12/13/hva-skjer-nar-man-gir-bort-flydata-gratis/
  • MVVMPATTERN FOR BINDABLE UI
  • APP LOGIC IN CODE BEHIND IS HARD TO TEST AND MAINTAIN
    VIEW
    XAML
    DataModel
    Code-Behind
    EventHandlers
  • SEPARATE USINGMVVM
    VIEW
    XAML
    Code-Behind
    Change notification
    Data-binding and commands
    VIEW MODEL
    Data Model
    State + Operations
  • MVVM SHOULD BE LIGHT WEIGHT
    http://www.flickr.com/photos/treehouse1977/2892417805/
  • http://mvvmlight.codeplex.com/
  • FLIGHTS NORWAYDEMO
  • DEMOWP7 TWITTER CLIENT
  • SUMMARY:- WP7 PLATFORM- PHONE APIs- TDD- BLEND 4- DEMOS!
    http://www.flickr.com/photos/20792787@N00/2248623391/
  • FORK ME ON GITHUB
    http://github.com/follesoe/FlightsNorway
    http://github.com/follesoe/FrontEnd2010
  • Jonas Follesø
    Senior Consultant
    +47 977 06660
    Jonas.folleso@bekk.nojonas@follesoe.no