2012年12月31日月曜日

一年の総振り返り


どうも、まるさ@maruuusa83です!

もうすぐ今年も終わるので、写真とともに振り返るまるさの2012年やりますw

一月
この辺りは記録が少なくてアレです。この時はまだ二年生です。
プロコンが終わったばっかりでゆっくりしています。

沖縄そばを食いながら年を越して、なんとなーく過ごしていました。まだこのときはこの年がここまで怒涛になるとはおもっていません。平和です。


二月
期末試験でHOGEHOGEしています。
予定表も真っ白でとても平和そうです。


三月

XHagoに参加しました。たぶん生まれて初めての発表会(?)です。
競技ばっかりで人前に出てしゃべる機会なんてほとんどないのでアレでした。

これって今年だったんだナァ。このころを思い出すと成長したなーと思います。

そして、初めてのアルバイトを経験しました。
沖縄国際映画祭のレッドカーペットの担当をして、芸能人たくさんみれました。すんげーたのしかったです。きつかったけど。


四月
ここから今年度に入ります。年度初めであれこれバタバタしています。

留学生のチューターを引き受け、ノリで伊江島に行きました。
この辺りから少しずつ行動力が付き始めている気がします。丁度ユリの時期で伊江島はユリ祭りでした。

初めて友達だけとの伊江島だったので、レンタサイクルで島を半周しました。翌日筋肉痛で身動き取れませんでした。

留学生の友達と県外人の友達だったので観光案内しました。なんかへぇへぇ言ってもらえて楽しかったです。バスガイドになるのもいいなと思いました(大嘘)。
楽しかったけどチャリンコは二度とやりたくない。車がいいです。まじ。


五月
この辺から忙しくなり始めます。
ITfrogsの説明会もこの月にありました。とても盛り上がった説明会でとても楽しかったです。でも残念ながら写真は持ってないです。

各大会のアイデア出しを行ったのもこの月でした。
パソコン甲子園にしか出場するつもりはなかったのですが、僕らのチーム以外ほぼみんなプロコンで福岡に行くということで寂しかったので、
プロコンにも出場することを企画書提出締切5日前に決めました。バカスwww

出場を決意した翌日には企画書を書き、名前決めの段階でまったく同じ企画(驚くべきことに名前も中身もまったく同じ)で起業した会社があることが判明し、三日前にしてやり直しとかしてました。


六月
ITfrogsの面接があり、研修が始まった月です。だいぶ面接緊張した気がしますが、始まってしまえばなんとか頑張れることを知りましたw

外国人との英語での交流というのも初体験でした。小さいころから親の「英語はやらねば!」という方針で英語をしていたのですが全く身についておらず、非常につらい思いをしましたw;

でも楽しく英語に触れあうことができて、英語をやりたくなるきっかけになりました。実は英語嫌いだったけれど、今ではそんなことないです!ww


七月
パソコン甲子園モバイル部門の締切がありました。結局締切前のデスマをします。すごく怒られました。
高専祭の企画決定だとか期末試験直前とか学校で緊急集会があったりだとか変なイベントが多かったです。

JICAに訪問し、プレゼンテーションな英語に初めて触れました。キャッチボールがない上に、専門用語も多く全く分からなかったです。「アレ、意外と俺イングリッシュ、ベリーウェルなのでは」という謎の自信を思い切りへし折られました。


八月
色んな事しまくった1ヶ月でした。

初週~2週目は試験・閉寮前のアレコレ。

3週目はビジネスアイデアコンテストのブラッシュアップ会やOVCでの合宿。

4週目もブラッシュアップ会が続き、ITfrogsの話し合いや研修、記者会見などがありシリコンバレーへ出発する準備を整えました。

5週目はアメリカにてシリコンバレー研修。何もかもが初めての経験でした。

まだ全く準備の整っていないOVCにてお手伝いをしつつ合宿をさせていただきました。本当に楽しく有意義な3日間だったと思います。詳しくは記事読んでくださいねw(一日目二日目三日目)。

シリコンバレー研修の初体験は数えきれないほどのもので、企業訪問でも"すげぇ"ばっかりでした。

働くことだとか起業についてとかも勿論ですが、あらゆることの"常識"だとか"感覚"の何もかも変化した10日間だったと思います。

多くの企業の様子を見ることができたので本当に良い経験でした。
これについても記事書いたので読んでくださいねw(こちら

結局この月は一日出かける先がなかったのは1日だけでしたw
その日も製作や準備を行っていたので、人生で一番濃厚な1ヶ月でした。当時も充足感ですごく楽しかったし今でも経験してよかった1ヶ月だとおもいます。大変だったけどw


この月はいろんな人に関わって色んな物を得られたと思います。
関わることのできたみなさん、本当にありがとうございました!!!


九月
シリコンバレーから無事帰沖したのも束の間、沖縄大学院大学(OIST)への訪問や生まれて初めての新聞への寄稿の執筆、帰国後報告会のためのプレゼンづくりなどfrogsでの活動のほか、
東京高専のTeamCoccoloの皆さんが沖縄高専にいらっしゃった際に交流も行いました。

寄稿がすごく慣れない感じで、ものすごく時間がかかった上に全然うまくまとまりませんでした。
ああいう作文は何回も訓練してないといけないんかなーとすごく悲しみに満ちた1週間でした。作文力はつけるべき。

初めての名刺を作って配りました。やっぱり名刺があると話のきっかけになりやすくてとても良いです。そろそろ切れそうなので注文しなおさなければ。


十月
パソコン甲子園モバイル部門の最終提出の締切がありました。やっぱりここでもデスマーチをして怒られます。ごめんなさい。

そして提出直後に高専プロコンの本戦がありました。
初めてハードウェアを使った企画を立てて作ってプレゼン、ということをしました。
ロボコンをやめてからはプログラミングばかりだったのですが回路と少し触れあうことができてとてもよかったです。
そして初めての企画発表で大変な思いをしました。でもすっごくいい経験になったと思います。来年はこの経験生かして目指せ最優秀賞!



全国の大会に出て3位になれたのはとても嬉しかったです。満足、とまではいかないですが初めてなのに取れたのは良かったと思います。

ぎりぎりまでデスマでしたが、一緒に戦ったチームのみんなには大感謝です。このチームじゃなきゃできなかったと思います。

あと、博多でラーメンたくさん食ったのはとってもよかった。一年生とも仲良くなれたしよかった。


十一月
今度はパソコン甲子園の本戦があります。
今回はモノの提出期限が決まっていたので、本戦直前はしっかりプレゼン/デモを作りこむことができました。

さらにプロコンと同じチームだったので、その時の経験だとか蓄積をばっちり活かして挑むことができました。

開発には深くかかわってなく、プレゼンもしてないけれど、きちんとプロデュースすることはできたかな、と思っています。これもいい経験になったと思うので、もっと場数を踏んでいいモノ作っていきたいです。

全国優勝という初体験もできたし、久しぶりに競技プログラミングの大会(パソコン甲子園プログラミング部門)に参加することもできたのでとても楽しい大会でした。

大会中、先生と喜多方でラーメン食ったり温泉行ったりしました。
やっぱりいいよね温泉!ラーメン!

ご当地B級グルメの焼きそばカレーを食ったりだとか初めての新幹線だとかそういう部分でも充実できてよかった^^


十二月
そして今月。
ITfrogsの最終発表がありました。慣れない英語プレゼンで思い切り苦戦し、結局ダメダメなプレゼンでした。
でも人前に立つことがとても自然になっている感じに驚きました。英語ストーリーコンテストとかやってた時は死ぬほど緊張して本番はゴチャゴチャになってたけど、それほどの緊張にはならなくなっていてすごく驚きました。

発表する、という機会もたくさん得ることができて、色んなモノを見ることもできて、本当にたくさんの経験と蓄積を得ることができた研修だったと思います。やってよかった。

これからもOB/OG会としての活動もあります。これから先も結果を残し続けられるように頑張っていきます!

でも写真がなかった・・・。




書きながらいろんなことが思い出されましたw
すんげー忙しい一年だったけど、Xhagoを思い出すと別人のようになれたと思いますwww

年越しのアレコレがあるので、この辺にしておこうと思います。

今年も残り少ないですが、みなさんよいお年を!!!



では、今日はこの辺で ノ
まるさ

2012年12月27日木曜日

はじめてのぎょうむ ~くみこみ~

どうも、まるさ@maruuusa83です。

僕はハードウェアな感じなのが好きですが、なかなか学校では触れることができない分野なのでビミョーな感じにしかEnjoyできてませんでした。
冬休みはなんかしてやろーと思ってたら、先生の紹介もあって、12/24から今日まで組み込み開発のアルバイトに参加することができたので簡単に感想をまとめてみます!

業務プログラミング初体験
組み込みだとかそうでないとか以前に、そもそも業務でのプログラミングが初体験でした。
人に読まれることが前提だとか、人に伝えるためのドキュメントだとか、実践してみると意外とできないものだなーと感じます。

それと、英語のドキュメントを使ってのプログラミングも初めてでした。
組み込みネットワークの通信プロトコルの仕様を読んでの実装でした。最初はすごく身構えてがーがー言ってましたが、意外とやってみると楽しかったです。わかんない単語多かったけど。

組み込みネットワーク初体験
組み込みだとかそうでないとか以前に、そもそもネットワークの実装が初体験でした。
物理層のプロトコルを読むところから始めて、トランスポート層からプレゼンテーション層あたりの実装を行いました。(下のレイヤーはプロトコル読んだだけです。)

それと、バス型ネットワークに触れるのも初めてでした。
もともとそのネットワーク構成がすごく不思議で気になっていましたが、ちゃんと仕様まで読めてすんごく楽しかったです。バス型不思議です。すごい。

また、組み込みネットワークということで、耐障害性も考慮されたプロトコルで読んでてとても楽しかったです。

これからやってみたいこと
実際に機器と戯れたりハードウェアならではの困難があったりとか色々楽しかったです。
仕事納めがすぐだったので4日間という短い期間でしたが、とても楽しいお仕事でした。現場の方々もとても優しくて面白くて、お手伝いさせていただいて本当に有難かったです!

これから冬休みの間は何かアプリを作ろうかと考えていたんですけれども、何かしらのハードをもったガジェットを作ってもいいかなーとか思います。まだ構想練ってないです(てへぺろ☆

学校だとWebアプリだとかスマホアプリだとかばっかりなので、もう少し新しい感じの何かをやりたいです。おかげで浮いてる感あるけど。アプリもがんばる。



というわけで
今日はこの辺で! ノ
まるさ

2012年12月25日火曜日

Win8アプリ開発チュートリアルまとめ

どうも、まるさ@maruuusa83です!

大会の副賞でWin8PC(タッチできないけどw)を手に入れ、折角なのでWin8アプリに挑戦することにしました。
というのも、アプリストア見てたらアプリまだ少ないようなので、こんなまるさでも売れるアプリを作れるのではとかいう浅はかな考えで御座いますww

そこで今回MSDNのWin8App開発チュートリアルをやってみました。
というわけで開発で必要そうな大事なところをまとめていきます。
Win8に挑戦する人に中身を紹介しつつ、自分用のリファレンス。という感じで書いていきます。

※開発に必要なことだけ知りたい!という人向けです。じっくり練習するならチュートリアルをおすすめします。

目次
1、開発環境
  ・開発環境について
  ・XAMLについて

2、プロジェクトの作成
  ・プロジェクトの作成
  ・テンプレートの紹介

3、アプリのビルド・起動・終了
  ・アプリの起動法
  ・アプリの終了法

4、ページの追加
  ・プロジェクトの追加の方法
  ・ページ追加の時の注意

5、UI要素の追加
  ・GridレイアウトへのUI要素の追加
    ○タイトルバーを作る
    ○タイトルをつける
    ○ボタンの追加
    ○実行する

6、ページの遷移
  ・ボタンクリックによるページ遷移の方法
    ○章を始める前に
    ○ボタンにイベントハンドラーメソッドを登録する
    ○遷移のための手続きをイベントハンドラーに記述する
  ・スタートページの変更の方法

7、ページレイアウトについて少し詳しく
  ・レイアウトを構成するためのUI要素
  ・実際に書いてみる
    ○Gridの設置
    ○Gridにパーツを追加していく
    ○Gridのさらなる整形
  ・柔軟なレイアウトの構築
    ○ビューのシミュレートの方法
    ○スナップビューに対応させる

8、その他について



1、開発環境
今回の僕の開発環境はWindows8上で動いているMicrosoft Visual Studio Ultimate 2012で開発を行い、開発言語はC#およびXAMLを使っています。

Windows8Appは以下のような多くの言語を簡単に連携させてプログラミングすることができるようです。基本的には処理を記述する言語とUIを記述する言語の組み合わせで書かれるようです。

・JavaScript / HTML
・C# or Visual Basic / XAML
・C++ / XAML
・C++ / DirectX

XAML
XAMLは宣言型言語の一種で、アプリ上で表示されるUI要素をXAMLマークアップで作成できます。
XAMLで別のコードを関連付けてイベントに応答することの設定だとかもここでします。



2、プロジェクトの作成
[ファイル>新規作成>プロジェクト] で図のような新しいプロジェクトのダイアログが立ち上がってきます。
左側のウィンドウで[インストール済み>テンプレート>Visual C#>Windows ストア]の順に展開し、新しいアプリケーションを選択します。
そして赤で囲んだ「名前」のテキストボックスにプロジェクト名を入れて[OK]を押してしまえば完了!

新しいプロジェクト

ここで幾つかテンプレートの紹介をします。

新しいアプリケーション
定義済みのコントロールもレイアウトもないテンプレートです。
最低限必要なコードが含まれてます。

グリッド アプリケーション
Topページ(図上)コンテンツをグリッドに配置して閲覧できるようになってるものです。
コンテンツをタップすると詳細画面(図下)が表示されます。グループ名をタップするとグループ詳細画面も表示できます。
Grid Template

分割アプリケーション
Topページ(図上)にグループが並び、グループをタップするとコンテンツが縦に並ぶページ(図下)を表示するテンプレートです。
RSSリーダに便利かもしれないです。
Split Template



3、アプリのビルド・起動・終了
アプリの起動
プロジェクトは作成するだけで実行可能なアプリケーションになっています。
起動するには、F5キーを押します。F5キーを押すことでデバッグモードでのビルド・展開・起動が行われます。最初にスプラッシュ画面が表示された後、アプリが表示されます。

ビルドだけ行いたいという場合は、[ビルド>ソリューションのビルド]でビルドを行えます。

アプリの終了
アプリを閉じるためのボタンやコマンドはないです。
閉じるためのジェスチャーを行うか、Alt+F4 キーで閉じることができます。

デバッグモードで起動した場合、デバッグモードを終了しなければなりません。
VisualStudioに戻って、[デバッグ>デバッグの停止]でアプリを閉じます。Shift+F5でもよいです。



4、ページの追加
次は、アプリにページを追加する方法について書いていきます。

[プロジェクト>新しい項目の追加]で図のようなダイアログが表示されます。

新しい項目の追加

好きなレイアウトを選択しましょう。右側に出る説明でどんなテンプレートなのか大体想像つくと思いますw
最低限のものが備えられている「基本ページ」が基本です。
選択したら、下にある「名前」の項目で名前を付けて追加をクリック。

そのプロジェクトに初めて追加するレイアウトの場合、
この追加テンプレートは、プロジェクトに含まれていないファイルに・・・ファイルを自動的に追加しますか?」
というダイアログが表示されます。必要なファイルを自動でインクルードしてくれるので、「はい」を選択しておきましょう。

その後、デザイナーが表示されますが、エラーが表示されます。これは新しくインクルードしたファイルがビルドされていないためで、一度ビルドすればエラーは表示されなくなります。

※僕の環境だとVS起動中にPCがスリープからの復帰を経験しているとなぜかVSがハングアップします。
一度VSを立ち上げなおすときちんと読み込むことができます。データ破壊が怖いので、僕はインクルード直前に一度保存してVSを再起動してから行っています。



5、UI要素の追加
ページを追加することができたので、今度はページにUI要素を追加していこうと思います。
だんだん開発っぽくなってきたww

XAMLに直接書き込むのもいいですが、Visual Studioには強力なXAMLのビジュアルデザイナーが搭載されてるので、今回はこれを使ってUIを作っていきます。

この章では、試しにタイトルをつけることと、ボタンの追加を行いました。


GridレイアウトへのUI要素の追加
新しいアプリケーションを立ち上げて、MainPage.xamlにちょっとしたUIを作ってみようと思います。
MainPage.xamlは基本ページなので目に見えるUI要素は最初は何も含まれていません。ただ、全体にGridというUI要素が配置されています。

Gridは行と列で構成されるグリッド領域を作ることができます。これによってレイアウトを作って部品が配置しやすくなります。最もよく使うレイアウトだと思うのでこれを使ってみます。

タイトルバーをつくる
Gridの上と左にグリッドレールと呼ばれる点線が表示されてます。このグリッドレールの上にカーソルを移動するとオレンジの線が表示され、クリックすると行もしくは列を追加することができます。

とりあえずタイトルバーを作ってみましょう。
左側のグリッドレールの上にカーソルを移動して適当な場所に1行追加します。

GridPanel

するとGridの左端に行の幅を示す数字が出るので、そのあたりにカーソルを置きます。ポップアップが出たら下矢印をクリックして「ピクセル」を選択してください。
もう一度ポップアップを出して、左にある数字を140に書き換えると、幅が140ピクセルの行が作られます。これは、XAML上でのHeightプロパティが編集されています。

・タイトルをつける
今度は、画面左端にある「ツールボックス」ウィンドウを開いて、[すべてのXAMLコントロール]の中のTextBlockを先ほど作ったタイトルバーの適当な所にドラッグ&ドロップしてください。


そして、追加したTextBlockを選択した状態でプロパティウィンドウのレイアウトの中のHorizontalAlignment, VerticalAlignment, Marginのプロパティをリセットします。
リセットは、プロパティのボックスの右にある■をクリックするとメニューが出てくるので、リセットをクリックしてください。
リセットしたら、Marginの←の値を50に変更してEnterキーを押しましょう。
これで配置は完了です。

次に、スタイルを設定します。
プロパティの[寄せ集め]の中にあるStyleの右にある□をクリックして[ローカルリソース>PageHeaderTitleStyle]を選択してください。これでレイアウトの設定は完了です。

最後にテキストの内容を設定しましょう。
プロパティの[共通]の中にあるTextプロパティを編集します。■をクリックしてメニューから「新しいリソースに変換」を選択してください。
ダイアログが立ち上がったら、リソースの定義先を[このドキュメント>TextBlock<名前なし>]に変更すると、自分自身をリソースとして持ちます。
もう一度Textプロパティのメニューを開くと、[リソースの編集]が選択可能になっているので選択し、値を「Hello, Windows App!」に変更しましょう。

タイトルの設定

これでやっと、やっとタイトルが付きましたw(汗)

・ボタンの追加
さて、今度はボタンの追加です。TextBlockを追加したように、Buttonを下の広いグリッドの適当な場所にドラック&ドロップしましょー!

プロパティの[レイアウト]で配置していきます。
HorizontalAlignmentをLeft, VerticalAlignmentをTopに指定して、Marginの←と↑を100に設定しましょう。

これで追加は完了です!!(適当)

・実行してみる
F5キーを押して試しにアプリを実行してみてください。きっとタイトルと押しても何も起きないボタンが表示されるだけのしょぼいアプリができていると思います!はい、喜んで!

Hello, Windows App!

このままだと面白くないので、次の項目でボタンにアクションをつけてみます。



6、ページの遷移
さて、ページとUI部品が追加できたので(しろめ)、ページ遷移のやり方を覚えましょー。
今回はボタンにアクションをつける方法も一緒に書いていきます。


ボタンクリックによるページ遷移の方法
ボタンクリックによってページ遷移をするには、まずボタンを設置しなければならないです。
今回は、前の項目で書いたHello, Windows App!のアプリを使って説明していきます。

また、この章を始める前に
アプリの中に、遷移先となる適当な新しいページを追加しておいてください。(方法については「4、ページの追加」の中で説明しています。)
今回は「基本ページ」をBasicPage.xamlとして追加してあります。

・ボタンにイベントハンドラーメソッドを登録する
ボタンをクリックしたときにアクションをしてもらうには、そのボタンにイベントハンドラーになるメソッドを登録しなければなりません。
このメソッドは登録したタイミングで自動的にそのxamlのなかのcsファイルに追加されます。
とりあえずやってみましょう。

まず、イベントを付けたいボタンを選択し、プロパティの下図の稲妻マーク[イベント]ボタンをクリックします。
稲妻マークのイベントボタン
すると、イベントごとにハンドラーを設定するための画面が開くので、その中からClickの項目を探し出します。
見つけたら、「Button_Click」と入力してEnterキーを押します。

すると、コードエディタにジャンプし、自動でButton_Clickメソッドが作成されていると思います。
ボタンがクリックされるとこのメソッドが実行されます。

・遷移のための手続きをイベントハンドラーに記述する
先ほど自動生成されたハンドラーに、以下のようなコードを追加します。


MainPage.xaml.cs
if (this.Frame != null)
{
    this.Frame.Navigate(typeof(BasicPage));
}


赤字ボールドの部分を遷移先に指定したいページのリソース名にすることで設定できます。
新しい項目の追加から追加を行っているページであれば、追加の時に指定したxamlの名前でOKのはずです。VSが補完してくれると思います。

ナビゲーションのサポートが組み込まれたLayoutAwarePageクラスに基づいたページであれば、戻るボタンを追加せずとも自動で戻るボタンが追加されます。超便利です。

「空白のページ」でなければ基本的に追加されていると思います。追加するページは「基本ページ」を使いましょうww


スタートページの変更の方法
ページ遷移をしようと言いつつスタートページの変更の仕方も説明しておきますw ニーズ多い気がしたので解説します。
スタートページというのはアプリを起動して一番最初に表示するページです。

VisualStudioの「ソリューション エクスプローラー」という枠(デフォルトの設定だと画面右上)の「App.xaml」を展開した中にある「App.xaml.cs」をダブルクリックしましょう。コードエディターにソースが表示されます。

ソリューション エクスプローラー

OnLaunchedメソッドの中に、以下のような部分があるので探してください。


App.xaml.cs
if (rootFrame.Content == null)
{
    // ナビゲーション スタックが復元されていない場合、最初のページに移動します。
    // このとき、必要な情報をナビゲーション パラメーターとして渡して、新しいページを
    // 構成します
    if (!rootFrame.Navigate(typeof(MainPage), args.Arguments))
    {
        throw new Exception("Failed to create initial page");
    }
}


赤字とボールドで強調した「MainPage」の部分をスタートページにしたいページのリソース名にすることで設定できます。
新しい項目の追加から追加を行っているページであれば、追加の時に指定したxamlの名前でOKのはずです。VSが補完してくれると思います。


これで画面遷移周りはどうにかなる(はず)!!



7、ページレイアウトについて少し詳しく
「5、UI要素の追加」の中で少し触れましたが、レイアウトの自由度を上げるために組み方をもう少し掘り下げてみましょう。
また、ページレイアウトの様々な方向とビューへの対応についても触れます。

この章では、幾つかUI要素を紹介した後、実際にページを一つ組んでみます。
その後、様々なビューに対応できるように設定していきます。


・レイアウトを構成するためのUI要素
レイアウトを構成するためのUI要素について、幾つか触れていこうと思います。

Grid
5章で使いました。行と列で構成されるグリッド領域の定義が行えます。
基本Gridをベースにレイアウト構築すれば失敗はないような気がしますw
使い方は5章を見てみてください。

StackPanel
一列に子オブジェクトを整列させることができます。水平に並べるか垂直に並べるか指定できます。

これらの要素を使ってゴリゴリとレイアウトを書いてみます。

・実際に書いてみる
6章で遷移先にした基本ページに組んでみます。Microsoftのチュートリアルと同じ画面を作ることにします。
本家チュートリアル

やるんだったら本家がいいと思うけど、とにかく早く作りたいって人は↓をやってみるといいと思います。内容は大体一緒です。


Gridの設置
1、Gridを画面中央に放り込む
2、Gridのプロパティの[レイアウト]を開く
3、Width, Height, HorizontalAlignment, VerticalAlignment, Marginをリセット
4、Marginの←と↓を120に設定
5、左側のグリッドレールを使って行を2つ追加(3行にする)
6、上の行、真ん中の行をピクセルに設定し、幅を50、70に変更する。(下図の通り)(方法は5章参照)

Gridの設定
ちなみに1*というのは「残りのスペースを使いますよ」というのを意味してます。
これでGridの設定はおしまい!

Gridにパーツを追加していく
・GetPhotoボタンの追加
1、ツールボックスから一番上の行にButtonをドラッグ&ドロップ
2、Buttonが選択された状態で、プロパティパネルでHorizontalAlignment、VerticalAlignment、Marginのそれぞれをリセット
3、[共通]の中のContentプロパティを"Get photo"に変更

・写真タイトルの追加
4、ツールボックスから2番目の行にTextBlockをドラック&ドロップ
5、追加したTextBlockが選択された状態で、プロパティパネルでHorizontalAlignment、VerticalAlignment、Marginのそれぞれをリセット
6、[寄せ集め]の中にあるStyleのプロパティを探す。
7、Styleプロパティのメニューの[ローカルリソース>PageSubheaderTextStyle]を選択

・下半分の設計のための準備
8、ツールボックスから下の行にStackPanelをドラッグ&ドロップ
9、StackPanelが選択された状態で、プロパティパネルでWidth、Height、HorizontalAlignment、VerticalAlignment、Marginのそれぞれをリセット
10、プロパティパネルでStackPanelのOrientationプロパティをHorizontalへ変更
11、プロパティパネルの上部にある[名前]の項目をimagePanelに変更しEnter

・Imageパネルを載せるためのBorderの追加
12、StackPanelを選択した状態で、ツールボックスからStackPanelにBorderをドラッグ&ドロップ
13、プロパティパネルの[ブラシ]でBackgrowndとBorderBrushのプロパティを単色ブラシを指定して#FF808080に変更

・追加したBorderにImageを載せる
14、ツールボックスから、BorderにImageをドラック&ドロップ
15、追加したImageの[名前]の項目をdisplayImageに変更
16、[共通]のSourceプロパティのドロップダウンリストから、Logo.pngを選択
17、左端にある[ドキュメント アウトライン]でImageを含むBorderを選択し、プロパティからWidthをリセット

・Imageの情報を載せるためのテキストを追加する
18、先ほど追加したImageの右側の空いている部分に、TextBlockを6つドラック&ドロップ
19、左から1、3、5番目のTextプロパティをそれぞれ"File name:", "Path:", "Date created:"に変更(メニューを開いてリソースの編集をクリック)

ここで、パーツを追加し終わった状態での画面を見てみます。

ここまでの状態

Gridのさらなる整形
・項目をStackPanelによってグループ化
1、ドキュメントアウトラインで、imagePanelの中のTextBlockをすべて選択
2、右クリックから[グループ化>StackPanel]を選択

・グループ化したので、縦にレイアウトを変更
3、先ほど作ったStackPanelのプロパティで[レイアウト>Orientation]をVerticalに変更
4、Marginの←を20に変更

・テキストのレイアウトを変更していく
5、1,3,5番目のTextBlockを選択する
6、プロパティのStyleのメニューを開き、[ローカルリソース>CaptionTextStyle]を選択

7、2,4,6番目のTextBlockを選択する
8、プロパティのStyleのメニューを開き、[ローカルリソース>ItemTextStyle]を選択
9、Marginの←の値を10に設定し、↓の値を30に設定

これでレイアウトができました!

完成したレイアウト

という手順でレイアウトを作っていきます(適当)

・柔軟なレイアウトの構築
Win8アプリはタブレット向けということで、様々な方向や様々なタイプのビューに対応しなければなりません。開発者は大変です。

VisualStudioデザイナーでは、様々なタイプのビューのシミュレートをサポートしています。これで柔軟なレイアウトを構築していきます。

ビューのシミュレートの方法
左端の[デバイス]パネルを開いて右図のようなビューボタンをクリック
これによって、スナップした状態のビューが再現できます。

先ほど作ったレイアウトに実行した結果がこれ

スナップビューのシミュレーション

そのままちょん切れただけで悲惨ですねえ・・・。どうしたらよいのでしょうか。

スナップビューに対応させる
1、スナップビュー表示にした状態のまま、[デバイス]パネルの中の[状態記録の有効化]チェックボックスをONにする
2、contentGridコントロールを選ぶ
3、プロパティの[レイアウト]のMarginの←と↓を20に設定
4、imagePanelを選択
5、プロパティの[レイアウト]のOrientationプロパティをVerticalに設定

これで大丈夫!
実際に実行してスナップビューにしてみます。

修正済みスナップ
ハッ!完璧ネ!
と、このような手順で縦表示だとかにどんどん対応させていきます。
これでレイアウトに関するメモ書きは終わりです!



8.その他について
Microsoftのチュートリアルでは他にも、以下のような話題が挙げられています。

  • 様々なストレージを使っての状態の保存
  • 次回のアプリ起動時にアプリの状態の復元
  • ファイルアクセスとファイルピッカーについて


が、しかし、とりあえずお試しでアプリ作るにはまだ必要のない機能な気がするので(書くのが嫌なだけw)
次回の記事ということにして今回はここまでということにします。

次回は残りの記事の解説、そのあとには紹介したモノを使って実際にアプリを作ってみようかと考えています。

なにか書いてほしい記事があればTwitter(@maruuusa83)とかコメントとかでお知らせくださいw


というわけで
今日はこの辺で ノ
まるさ

2012年12月22日土曜日

近況まとめ

どうも、まるさ@maruuusa83です!

長いこと更新せずにいました;; ごめんなさい。
この更新していない期間、怒涛のイベントラッシュだったので幾つかピックアップして書いていきます!
すごく簡単な紹介ばかりで申し訳ないですがw
強調とかもナシでのぺーっと書いていきます。

高専プロコン
まずは高専プロコン。今回は自由部門に参加しました。

自由部門は、ITを活用した作品を自由に作って発表しようぜというもの。
僕らのチームは節電をテーマにした「かしこん!!」という作品を発表しました。
(かしこん!!については詳しくは別のエントリーで紹介しようと思います)

競技ばかりだったので、初めての開発・企画プレゼン・デモンストレーションでした。
ぎりぎりまでの開発・故障率の高いハードウェアのおかげで大会期間中もパタパタでしたがとても楽しく活動することができましたw

開発を進めることだとか、大会におけるプレゼン・デモンストレーションがどんなものなのか初めて体験して、反省点をたくさん挙げることができたよい大会でした。

結果は第三位にあたる特別賞と、協賛企業特別賞のW受賞でした。
チームとみんなの協力があったからこそ勝ち取れた賞だと思います。本当に良かった!

パソコン甲子園
パソコン甲子園。
今回はプログラミング部門とモバイル部門の二部門に出場しました。

モバイル部門はAndroidアプリを開発してデモ・プレゼンをするという部門で、
プログラミング部門は競技プログラミングと呼ばれるプログラムを使って問題を解いていく部門です。詳しくは「競技とオシロ。」の中で少し触れてるので読んでみるといいかもしれないです。

プログラミング部門に関してはガチ勢としてではなくお試し受験として頑張ってみたらなんとか予選通過することができた!って感じでしたww 
逆にモバイルはワンチャン!ということで前々から取り組んで一生懸命やってきました。ただ、高専プロコンとも並行で進めたのでいろんな方に迷惑がかかったりしましたがww;

本戦1日目ではプログラミング部門。モバイル部門の前日チェックをサボっての参加でしたw
勝たねば!というプレッシャーが比較的少ない中での参加だったので、大いに楽しむことができました。
同校から出場している某ミズゴロウペアを目標に挑んで(まぁ勝てるはずないのですがw)風船を3つ貰って帰ることができました。
久しぶりの競技の大会、ということでとても楽しかったです。

二日目はモバイル部門。
今回プレゼンターは後輩の2年生が行うということで、直前まで練習をやりこみました。
デモンストレーションに関してもどんどん練習を行い、ブースの雰囲気作りも大切にしながら作っていきました。
高専プロコンの反省が大いに生きたと思います。プロコンの時よりも楽しく行うことができました!

結果はなんとグランプリ、優勝。
ぎりぎりまでいろんな人(主にきょーじゅw)に迷惑かけまくったけれど、大きな結果を残すことができて本当に良かったです。結果で恩返しできたかなーと信じてます()

ITfrogs最終成果報告会
最後にITfrogs最終成果報告会がありました。
とても大きな会場での、英語でのプレゼンテーションという初めての体験で、とてもビビりましたw
特に英語というのが;;

作ったサービスのプレゼンテーションそのものはあまりうまくいきませんでしたが、とてもいい体験でした。
あんな会場でプレゼンするのはこれから先二度とないんじゃないか、ってくらいでしたww

frogsもこれで最後のイベント、ということでしたが、この研修が終わってからも目に見える形で成果を残し続けていこうと思います。
今年に負けないくらいたくさんの結果を毎年残せればと思います!



かんたんに書いていきましたが、本当にいろんなことがありました。
この間にお世話になったみなさん、本当にありがとうございました。

今日はこのへんで! ノ
まるさ