An introduction to Windows Mobile development

9,996
-1

Published on

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

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

  • Be the first to like this

No Downloads
Views
Total Views
9,996
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
379
Comments
0
Likes
0
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>

×