2011年08月15日

[Windows Phone] はじめてのWindows Phone アプリ開発

Windows phone アプリをちょっと作ろうと思って検索しました。
で、Googleさんで一番上に出てきたのがこちらのページ。
マイクロソフトのページですね。

http://msdn.microsoft.com/ja-jp/windowsphone/ff191182

ページが Windows phone のメトロUIっぽくなってます。
「Windows phone 概要」の中に「モバイル開発を始める」という項目があったのでクリック。

http://msdn.microsoft.com/ja-jp/ff380145

ページの最初に「1.基礎」という項目があり、ビデオがあったので見てみました。
音声は英語でしたが、ちゃんと字幕がついていました。
夜中に見たせいか、眠くなって途中で見るのをやめてしまいましたが…。

続いて「2.ツールを入手する」の最初の「今すぐインストール」をクリック。
インストーラが保存されたので実行しました。
必要なアプリがインストールされるようです。
結構待たされましたが、いろいろインストールしてくれたようです。
そのほかの「今すぐインストール」もクリックしてインストールを済ませました。

これで環境構築は完了のようですね。簡単です。
続けて、何かアプリを試しに作ってみたいと思います。
ページはコチラ。

http://create.msdn.com/ja-JP/education/quickstarts/Get_Started_Creating_a_Windows_Phone_Application

ここの「creating a new project」というところから進めてみました。
まずは「Microsoft Visual Studio 2010 Express for Windows Phone」を起動します。
[File]→[New Project]→[Silverlight for Windows Phone]→[Windows Phone Application]を選んで、
プロジェクト名に[HelloWorld_Phone]と付けました。んで、OKボタンですね。
すると、Windows Phoneアプリのひな形が出来上がるようです。
このまま起動できそうなので、とりあえず画面の実行ボタン(右向き三角)を押してみました。
なんかエラーが出て実行できませんでした。
「Zune software is not installed. Install the latest version of Zune software.」ですって。
Zuneってソフトが足りないようです…。
あれ?これって自動でインストールされるんじゃないわけ?

って思ったら、何も考えずに実行ボタンを押したのが良くなかったみたいですね。
実行ボタンの横のスピナを「Windows Phone 7 Emulator」に変更すれば良いみたいです。
ここはAndroidと違って、実機がないときでも自動的にエミュレータに切り替わらないんですね。
もう一度実行ボタンを押してみたら、今度はきちんとエミュレータが起動しました。
エミュレータの起動は圧倒的にWindows Phoneが早いですね。
とりあえず起動した画面がこちら。文字が表示されているだけです。

start.png

さて、起動ができたところでアプリを少しいじってみます。
「page name」と書かれた下の広い部分に、ToolboxからTextBlockをドラッグしました。
AndroidでいうTextViewでしょう、きっと。
Androidに慣れているせいか、ドロップは何処でも良い(自動的に左上に配置される)と
考えてしまったのですが、Windows Phoneは絶対座標でレイアウトを決めるんですかね?
ドロップした位置にTextBlockが配置されました。マージンで調節しているようです。
レイアウトはAndroidと同じようにXMLですね。XAML(ざむる)というんですかね。
左マージン、上マージンを調節して左上に配置されるようにしました。
あとフォントサイズ(FontSize)と高さ(Height)も調整しました。
実行結果はこちら。

hello_world.png

どんどんいきましょう。
実機で動かすところは飛ばします。持ってないですし。
青い楕円を描きます。これはXMLを直接編集しました。

ellipse.png

続いて、ボタン。これもXMLの直接編集です。
イベントを追加するときは、追加したボタンをGUI編集ウィンドウで選択して、
プロパティウィンドウのイベントタブをクリック、Clickの項目をダブルクリックしたら、
自動的にクリックイベントハンドラが記述された状態でコードが開きます。
コードは見ていたページに載っていたのをそのまま使いました。
C#は知らんのですけど、〜 as string って何でしょね?
Javaでいうinstanceofと値の比較を同時にできるような機能でしょうか。便利ですね。

ellipse.png

アニメーションもAndroid同様、XMLで記述できるようです。
レイアウトを書くXMLにアニメーションの定義も書いてしまえるようで、
Androidに慣れていると、ちょっと変な感じですね。

このページに載っていたのはここまでなので、とりあえず僕もここまでにします。
Windows phone アプリ開発も慣れるまでは大変そう。
タグ:WindowsPhone
posted by t2low at 23:30| Windows Phone