酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

WP7 SDK 開発のレシピ 001: 実機とエミュレータで動作を切り替える

本屋で「Android SDK 開発のレシピ」と「iPhone SDK 開発のレシピ」が並んでいるにも関わらず、「Windows Phone 7 開発のレシピ」がなかったのでなんやら書いていきたいと思います。

最初のレシピは、エミュレータとデバイスで動作を切り分ける方法です。Windows Phone Developer ToolsもBeta版の時は本来再生できる動画でもエミュレータでは動かないという実機とエミュレータの差違が存在しました。

差違といえば、GPS等のデバイス系がその代表です。無いものをからデータを取得なんて出来ないので当たり前といえば当たり前なんですが……

エミュレータ上ではダミーデータを使い、実機上ではデバイスから位置情報を取得するようにすれば開発がスムーズかと思います。

実機とエミュレータの切り分けには、Environmentクラス(Microsoft.Devices名前空間)のDeviceTypeプロパティを使いましょう。

DeviceTypeプロパティが、DeviceType.Deviceであれば実機、DeviceType.Emulatorであればエミュレータ上での動作です。

  if (Microsoft.Devices.Environment.Devicetype == Microsoft.Devices.DeviceType.Device)
  {
      Console.WriteLine("This DeviceType is Device.");
  }
  else
  {
      Console.WriteLine("This DeviceType is Emulator.");
  }

開発用に実機が欲しいですね。HD 7がすんなり手に入るお店はありませんでしょうか。