The Mango developer tools require Visual Studio 2010 and Service Pack 1. The package includes a Mango emulator image and new project templates. The tools allow you to work with (and create new) projects for Windows Phone 7.0 as well as 7.1 (which is how the tools describe the Mango release. Previous rumours had suggested 7.5. The full list of 7.1 project types is below.
There are no visible difference to the developer tools, you have the same XAML editor and code editors as before and the same Toolbox items.
New Functionality in Microsoft.Phone
Microsoft.Devices namespace now holds classes for working directly with the camera, allowing you to put a live viewfinder in your app and access and manipulate the raw data.
Microsoft.Phone contains a base BackgroundAgent class and the BackgroundAudio and BackgroundTransfer namespaces contain specific implementations for audio and file transfers.
Microsoft.Phone.Info adds new properties and a new way of accessing them. Rather than the GetValue/TryGetValue approach there is a DeviceStatus class with strongly typed properties. The new properties are:-
- IsKeyboardDeployed (for devices with sliding keyboards)
- PowerSource (Battery or External)
There are events for PowerSource and IsKeyboardDeployed so you can monitor when these change.
Microsoft.Phone.Net.NetworkInformation (short and snappy!) exposes a lot more information about network connectivity. DeviceNetworkInformation exposes not just current network availability but also whether Cellular Data or Wifi are enabled. In the case of Cellular Data you can determine if the phone is roaming. This method also exposes the ability to dom a DNS lookup for a server. Via NetworkInterfaceList you can get a full list of all the network interfaces and their characteristics. Extension methods are provided for WebRequest and Socket classes so that you can specify which network you want them to use.
Microsoft.Phone.Notification contains some small improvements to the HttpNotificationChannel functionality. You can now query the connection status and monitor when it changes.
Microsoft.Phone.Scheduler contains classes for scheduled actions, either background tasks, timed alarms or system-wide reminders.
Microsoft.Phone.Shell adds improvements for tiles and the system tray. For tiles you can modify data locally without a round-trip to the notification server. You can also create secondary tiles for functionality within your application. The SystemTray finally lets you change the background color and also allows you to expose progress text or a progress bar in the system tray as the built-in applications currently can.
Microsoft.Phone.Tasks contains some new Launchers/Choosers:-
- AddressChooserTask – Pick a mailing address from your contacts
- BingMapsDirectionsTask – Get directions to a specific location
- BingMapsTask – Center a map on a specific point
- GameInviteTask – Start a multiplayer game
- SaveRingtoneTask – Allow a user to save an audio file you provide to their ringtones on the phone
Microsoft.Phone.UserData contains classes to access (read-only) Contact and Calendar data on the phone.
Of course this is merely scratching the surface. These improvements (especially features like background tasks) open up whole new possible features in our apps!
Download the tools now : http://www.microsoft.com/downloads/en/details.aspx?FamilyID=77586864-ab15-40e1-bc38-713a95a56a05