WindowsPhoneハッカソンin広島vol2終了しました

日曜日 , 15, 4月 2012 Leave a comment

 4月14日に広島でWindowsPhoneハッカソンの2回目を行いました。

 1月にAndroidの会さんと合同で開いたハッカソンも含めると広島では3回目。

 

 今回は参加者の活発な質問と、上級者の方の適切な回答が行き来して良い感じで回っていたと思います。

 (私の準備不足、告知不足はおいておいて・・・)

 

 遠く山口から参加してくれる方なんかもいました。感謝!!

 

内容

 

 午前中にテンプレートに沿った簡単なアプリ作成講座。

 続いて午後からはもくもくとハッカソン。

 最後に制作したアプリの発表して終了

 

フィードバック

 

 午前の部で利用したテンプレートは高橋忍さんのブログにある「MyClockテンプレート」

 予行練習として事前に運営メンバーと集まって模擬的にテンプレートの動作を確認しておきました。

 

 当日のスライドはこちら

 

 今後同じテンプレートを使ってハッカソン、ハンズオンをしたいコミュニティ向けにポイントを紹介。

 

 【MyClockはVer1.1とVer1がある】

 どちらでも構わないと思いますが、参加者と違うページを見ていると話が食い違うことがありますので、事前にどちらを使うか、2つある旨を告知しておくと良いと思います。

 

 【VisualStudioExpressエディションではデバッグとリリースを選ぶプルダウンがデフォルトで表示されていない】

 

 微妙に差異のあるVisualStudioのエディション。

 プラグインがインストールできない、ソリューションエクスプローラーからフォルダが開けない(実はBlendからなら開ける)、高度な設定にしないと今回みたいに表示されない項目があるなどがハッカソン・ハンズオンで引っかかるポイントですね。

 

 

 

 【時計の針が0の位置に来た時にとまる】

 理由は針をアニメーションさせる処理が繰り返し指定になってないためです。

 タイムライン処理なのでずっと表示させているとずれてきそうなので、タイマーイベントで都度設定したほうが良さそうですが、今回は繰り返し処理する方法を紹介。

 

 セッションではBlendとVisualStudio両方で設定する方法を紹介しましたが、

 ここではBlendで設定する方法を紹介します。

 

 1.プロジェクトエクスプローラーでAnalogClock.xamlを開きます。

 2.オブジェクトとタイムラインをクリック「Minutes」「Hours」「Seconds」がそれぞれ分・時・秒のアニメーションです。とりあえずどれかを選択しましょう。

 3.選択したらオブジェクトタイムラインタグの下部の選択した文字をクリックします。

 4.右ナビのプロパティに以下ように「RepeatBehavior」が1xになっていると思います。これが繰り返し回数です。

 これをForeverに設定します。

 

 

 【アナログ時計をクリックすると秒針が現れる】

 AnalogClock.xaml.csにイベントが設定されています。

 デフォルトで表示しっぱなしにしたい場合は以下のように修正します。

 

        private void UserControl_Loaded(object sender, RoutedEventArgs e)
        {
            // 追加行
            viewSeconds = true;

            if (viewSeconds)
            {
                S.Visibility = System.Windows.Visibility.Visible;
                Seconds.Begin();
                Seconds.Seek(new TimeSpan(0, 0, DateTime.Now.Second));
            }

            Minutes.Begin();
            Hours.Begin();
            Minutes.Seek(new TimeSpan(0, DateTime.Now.Minute, DateTime.Now.Second));
            Hours.Seek(new TimeSpan((DateTime.Now.Hour + timediff) % 12, DateTime.Now.Minute, DateTime.Now.Second));
        }

 

UserControl_Tapイベントも書き換えてあげるといいですね。

 

【テーマをホワイトにすると文字が読めない場所がある】

 

 そのまま申請すると落ちるので、白いテーマ時にも文字が見えるように調整しましょう。

 

【MyClockみたいなテンプレートはどうやって作るの?】

 

 作成中のプロジェクトをテンプレートとして生成するには

 「ファイル」→「テンプレートのエクスポート」

 

 

【ラジオアプリでAugumentException】

 

 機種によって対応してない周波数を設定するとえーらになりました。

 70~80Hz帯はIS12Tでは大丈夫でしたが、海外端末のLumia800だとエラー。

 この辺はTryCatchで掴むのが妥当な処理ですかね。

 

今後について

 

 参加者の作品はアップされ次第、可能なものは紹介していきます。

 広島では今後もWindowsPhoneハンズオンとして平日の夜に、2か月おきぐらいに土日を使ってハッカソンを続けていきたいと思いますので、WindowsPhoneハンズオンin広島のfacebookグループやこのブログをウォッチしていてください。

 


Please give us your valuable comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です