An introduction to Windows Mobile development

10,534 views

Published on

A first introduction to what you can do to develop for Windows Mobile

Published in: Entertainment & Humor
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
10,534
On SlideShare
0
From Embeds
0
Number of Embeds
84
Actions
Shares
0
Downloads
383
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

An introduction to Windows Mobile development

  1. 1. Writing a mobile application An introduction to developing for Windows Mobile
  2. 2. <ul><li>Dale Lane </li></ul><ul><li>[email_address] </li></ul><ul><li>IBM Hursley Park </li></ul>
  3. 3. Windows Mobile devices
  4. 4. Screen types Touchscreen
  5. 5. Screen types No touchscreen
  6. 6. Screen types “ Standard” “ Professional” Windows Mobile 6 “ Smartphone” “ Pocket PC” Windows Mobile 5 No touchscreen Touchscreen
  7. 7. Windows Mobile Developer Resource Kit http://www.microsoft.com/windowsmobile/developers/
  8. 8. Visual Studio 2005
  9. 9. Emulators
  10. 10. Managed vs Native Native Managed
  11. 11. Managed vs Native Native <ul><li>C++ </li></ul><ul><li>Good for: </li></ul><ul><ul><li>low-level access </li></ul></ul><ul><ul><li>broader access </li></ul></ul><ul><ul><li>performance </li></ul></ul>
  12. 12. Managed vs Native Managed <ul><li>C# / Visual Basic </li></ul><ul><li>Good for: </li></ul><ul><ul><li>quick development </li></ul></ul><ul><ul><li>.NET (CF) </li></ul></ul><ul><ul><li>libraries for UI dev </li></ul></ul><ul><ul><li>libraries for mobile- specific stuff </li></ul></ul>
  13. 13. Managed vs Native Native Managed
  14. 14. My first native app
  15. 16. My first native app
  16. 17. My first native app
  17. 18. My first native app
  18. 19. My first native app
  19. 23. My first native app
  20. 25. My first native app <ul><li>m_hwndHTML = CreateWindow(WC_HTML, </li></ul><ul><li>NULL, </li></ul><ul><li>WS_CHILD | WS_VISIBLE | HS_NOSCROLL, </li></ul><ul><li>0, 0, 100, 100, </li></ul><ul><li>m_hwndContainer, </li></ul><ul><li>NULL, </li></ul><ul><li>HINST_RESDLL, </li></ul><ul><li>NULL); </li></ul>
  21. 26. My first native app <ul><li>m_hwndHTML = CreateWindow(WC_HTML, </li></ul><ul><li>NULL, </li></ul><ul><li>WS_CHILD | WS_VISIBLE | HS_NOSCROLL, </li></ul><ul><li>0, 0, 100, 100, </li></ul><ul><li>m_hwndContainer, </li></ul><ul><li>NULL, </li></ul><ul><li>HINST_RESDLL, </li></ul><ul><li>NULL); </li></ul><ul><li>SendMessage(m_hwndHTML, DTM_ZOOMLEVEL, 0, 1); </li></ul>
  22. 27. My first managed app
  23. 29. My first managed app
  24. 30. My first managed app
  25. 37. My first managed app
  26. 38. My first managed app
  27. 39. Don’t stand alone <ul><li>Native code </li></ul><ul><ul><li>Extending applications: </li></ul></ul><ul><ul><ul><li>Pocket Outlook </li></ul></ul></ul><ul><ul><ul><li>Pocket Internet Explorer </li></ul></ul></ul><ul><ul><ul><li>Windows Media Mobile </li></ul></ul></ul><ul><ul><li>Plug-ins: </li></ul></ul><ul><ul><ul><li>Today screen </li></ul></ul></ul><ul><ul><ul><li>Control Panel </li></ul></ul></ul>
  28. 40. Don’t stand alone
  29. 41. Don’t stand alone
  30. 42. Don’t stand alone
  31. 43. Don’t stand alone
  32. 44. Don’t stand alone http://dalelane.co.uk/page.php?id=39
  33. 45. Don’t stand alone <ul><li>Managed code </li></ul><ul><ul><li>Pocket Outlook Object Model (POOM) </li></ul></ul><ul><ul><li>Phone calls </li></ul></ul><ul><ul><li>SMS </li></ul></ul><ul><ul><li>System resources </li></ul></ul><ul><ul><li>State and Notification (SNAPI) </li></ul></ul>
  34. 46. Don’t stand alone
  35. 47. Don’t stand alone
  36. 51. Don’t stand alone
  37. 53. Don’t stand alone
  38. 54. OpenNetCF http://www.opennetcf.com/library/sdf/
  39. 55. OpenNetCF <ul><li>// get wifi adapters </li></ul><ul><li>AdapterCollection adapters = Networking.GetAdapters(); </li></ul><ul><li>string accessPointsFound = “”; </li></ul><ul><li>// look through each adapter in turn for the Wifi one </li></ul><ul><li>// (e.g. don't use ActiveSync, bluetooth etc.) </li></ul><ul><li>foreach (Adapter adapter in adapters) </li></ul><ul><li>{ </li></ul><ul><li>if (adapter.IsWireless) </li></ul><ul><li>{ </li></ul><ul><li>// look for access points known to the adapter </li></ul><ul><li>AccessPointCollection accessPoints = adapter.NearbyAccessPoints; </li></ul><ul><li>// look through each known access point in turn </li></ul><ul><li>foreach (AccessPoint ap in accessPoints) </li></ul><ul><li>{ </li></ul><ul><li>accessPointsFound = accessPointsFound + “, “ + ap.Name; </li></ul><ul><li>} </li></ul><ul><li>} </li></ul><ul><li>} </li></ul>
  40. 56. Creating an installer
  41. 58. Creating an installer
  42. 60. Creating an installer
  43. 63. Creating an installer
  44. 66. An introduction to Windows Mobile development <ul><li>Dale Lane </li></ul><ul><li>[email_address] </li></ul><ul><li>IBM Hursley Park </li></ul>

×