ぜんのーはIT初心者です

for Winndows8(Windows Store Application)/WindowsPhone8

Windows8のWindowsストアアプリ開発を超絶初心者視点で記録していく怒涛のブログ。
障害を乗り越えるごとに更新。

Windowsストアアプリってキーボードからの情報取得ってどうやるんだろ

皆さんこんばんは。どうでもいいですがブログでは朝でも昼でも「こんばんは」で行こうと思っているぜんのーです。ずっと夜ならずっと寝てられて幸せですよね。

 

突然ですが、友人に罵られました。

 

ホームポジション汚っ!」

 

何を隠そう、ぜんのーはむしろIT音痴ですのでタッチタイピングなんて高等技術を習得しておりません。でもなんか悔しいので、タイピングゲームでもして練習しようと思ったわけですよ。しかしFLASHとかで公開されてるものってネットにつながってないと使えないじゃないですか。なので、

 

ストアアプリとして作って自給自足のスローライフ的な感じでいこう。

 

そう考えました。無いなら探すよりも作ろうというのがぜんのー的思考です。

 

さて、WindowsPhoneのアプリを作っていた時は文字入力するタイミングなんてTextBoxという名の文字入力ができる箱に触れた時くらいのもので、VisualStudioでツールボックスから選んでドラッグアンドドロップしたら画面内に部品(コントロールっていうらしいです)が作れていたわけですよ。こいつ↓ 

f:id:zenno04:20121219125824p:plain

 

何と簡単なのでしょうか。しかしですね、躓きました。

Windows8ってパソコンなんで、普通にキーボードがついてることが多いじゃないですか。で、しかもタイピングゲームってことはTextBoxに打った文字が次々出ていくのもなんか嫌じゃないですか。透明にして使おうにも、クリックしてフォーカス(←今、コンピュータがこの部品を見てるよって感じのものです)をTextBoxに合わせてもらえるのかどうかも怪しいですし。時代は、脱TextBoxですよ。

 

で、調べたらありました。なんか、

「画面全体にフォーカスが合っていて、キーボードの入力があったら何が押されたかを通知する」

みたいな感じらしいです。よくわかりませんが。

 

実際にコードを書いてみました。

 

// キーボードでの入力受付

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    Window.Current.CoreWindow.KeyDown += CoreWindow_KeyDown;
}

 

void CoreWindow_KeyDown(Windows.UI.Core.CoreWindow sender, Windows.UI.Core.KeyEventArgs args)

{

 string str = args.VirtualKey.ToString();  //ここで入力された内容を文字列にします

 str.Equals( /*ここに比較する内容*/ );
}

// ここまで

 

こんな感じで取得したいページの.csファイルに記述をしておけばいい感じにやってくれるっぽいです。あとは文字列同士の比較にEqualsメソッド使って正しければ云々って処理を付けていけばタイピングゲームになりそうですね。
なんかよくわかんないんですが、文字列同士を「==」という論理演算子で比べてしまうと「異なるメモリ領域に記録されている別の文字列だから一緒じゃないですよ」みたいな感じで言われてしまうっぽいので要注意です。

 

あと、取得してきてるVirtualKeyですが、文字のキーは大文字で取得してきますが、マイナスとかは全然違う文字の並びだったので、一度試しにキーボード入力を画面かコンソールに出力して確認した方がいいのかもしれません。

 

そんなこんなで出来上がったのがこの「タイピングドクター 気楽 寂」。これからバージョンアップを重ねていく予定です。

http://apps.microsoft.com/windows/app/248270af-edc3-4c70-bfac-a3b97ff34654

 

そんなこんなでお昼ご飯を食べなければいけませんので本日はこの辺で。

また後日。では。

 

 

 

Linux(CentOS)が入っているPCにWindows8を入れてみました その3

皆様こんばんは。どうでもいいですが最近左のまぶたが痙攣しがちなぜんのーです。早速ですが前回からの続きでUSBメモリにいれたWindows8をDELLのmini9にインストールしてみましょう。

 

まずはUSBを指して、電源ボタンを押して、PCのメーカー名が見えているうちに「0」ボタンを押してブートオプションなるものを出して、USBメモリから起動できるように選択します。この辺の操作とかはマウスが効きませんのでご注意を。また、どのボタンを押すかもお使いのPCによって変わってきます。画面が切り替わるまでに読み取って素早く押してください。

はい、インストールが始まってパーティションを選ぶところまで来ました。その1の記事でお伝えしていた詰まったところの襲来です。なぜかパーティションを選択できません。なんでだ。ちょっと検索してきます。

 

どうやらLinux系はWIndowsとは異なるファイルシステムを用いているため、Windows側で使える記憶領域だと認識できないようです。いやー、PCにもいろいろあるんですねえ。しょうがないのでパーティションを消してみますか。力技ですがぜんのーにはそんな力技でごり押ししかできないのです。

 

と、言うわけでCentOSを起動してコンソールから「su」コマンドでも打って管理者になってみます。確かパーティションの操作は「fdisk」で行けたはず。

「fdisk -l」で自分のパーティションが「/dev/sdb1」と「/dev/sdb2」ってものなのだと知りました。この辺りは使っている方次第だと思いますので適宜読み替えてください。

で、「fdisk /dev/sdb」と入れると「Command (m for help)」とか出て追加でなんか入力しろっていわれます。今回は消したいので「d」と入力。

で、さらに「Partitio number (1-4)」とか出てくるので消したいパーティションの番号を入力します。

今回は1も2も消したいので作業を2回繰り返して両方削除して、コンソールを消してPCも再起動です。この辺結構無茶してる気がします。こんなやり方でよかったのか。まあ、勝てば官軍ですな。

 

と、いうことで、再起動したときもすかさず「0」を押してブートオプションへ。今回は上手く処理が進んで万々歳です。

と、思いきや、解像度が足りなくてストアアプリが起動できない!!おおう、うっかりしてました。

戦慄のあまり試しに出してみたWindowsエクスペリエンスインデックスの評価はまさかの「2.0」かつてない低さに失神するかと思いましたよ。グラフィックとプロセッサの評価が低い低い。

 

しかし、そんな評価とは裏腹に、意外とサクサク動きますねこれ。ネットブックとしての機能は遺憾なく発揮しそうです、が、いかんせんストアアプリが動かないのは致命的すぎますが。

ここから考えると、Windows8は低スペックでも結構動いてくれるOSなのかなと思います。低スペックのPCほどOSを入れ替えてあげるといいのかもしれません。しかし、その際には画面の解像度をしっかりとご検討ください。

というわけで、天井裏で何かの生き物が走りまわっている音がしてしょうがないので本日はこの辺で。

 

また後日。では。

Linux(CentOS)が入っているPCにWindows8を入れてみました その2 

皆様こんばんは。どうでもいいですが、先日電車に乗った瞬間にメガネが曇ったぜんのーです。もう冬ですねえ。

さて、前回からの続きでmini9君にWindows8を入れるための前準備としてWindows8のisoファイルをUSBメモリから使えるようにしたいと思います。

 

というか、そもそもisoファイルって何なの?国際標準化機構関連のなんかですか?状態のぜんのーは今日も調べ物から入りますよ。

どうやらisoファイルはCDやDVDといった光ディスクの中身を一つのファイルとしてまとめたものらしいです。そのまま使うんじゃなくて、CDやDVDで再生できるようにする(CDやDVDに「焼く」と表現する模様)必要があるようです。で、焼いたディスクをマウント(PCに認識させる)すると使えるみたいですね。

どうやらisoファイルを直接マウントして使うこともできるみたいですが、それもOSやソフト次第みたいです。ちなみにWindows8はisoファイルを直接マウントできますよ。万歳。

 

ちなみに今回は32bitマシンに入れるので「×86」って書かれたisoファイルをゲットしてきてます。

 

で、isoファイルをUSBメモリに焼くためのソフトがこちら(Windowsの方限定)↓

http://wudt.codeplex.com/releases/view/37074

この中の、「Windows7-USB-DVD-Download-Tool\installer\ja\JP.exe」をクリックして確認ダイアログの実行を押し、インストールしましょう。完了したら起動します。

すると起動時にこの「次のプログラムにこのコンピュータへの変更を許可しますか」みたいな文章が出るので「はい」を押しときましょう。

で、使いたいisoを選んで「次へ」。
で、「USBデバイス」をクリック。

で、焼きたいUSBメモリを選択して「コピー開始」を押します。

あとは勝手にやってくれるので、お茶を飲みつつ待ちます。なんか大学の同期から電話がかかってきました。小一時間語られてるうちに終わってました。何分かかったのかわかりません。困った。
あと、成功したときにも「やり直す」ボタンが表示されるので、成功した場合は押さずにソフトを閉じてくださいませ。

 

そんなこんなでUSBメモリにisoファイルを書きこむことに成功したので次回はついにインストール作業です。楽しみですね。

また後日。では。

 

 

 

Linux(CentOS)が入っているPCにWindows8を入れてみました その1

皆様こんばんは。Windows8楽しいですよね。どうでもいいですがぜんのーは家にあるPCを軒並みWindows8にしてタイルに囲まれてゲヘゲヘ言ってます。幸せです。

果てしなくどうでもよかったですね。まあ、そういった行動をしていく中で、IT初心者のぜんのーはやはりつまづきました。

「CentOS6.2が入っているもともとはXPだった子(PC)にWindows8をすんなりインストールできない」

 

驚愕ですよ。WindowsXPにCentOS入れようとしたときにはすんなり入ったというのに。そして焦りすぎて作業のスクリーンショットを撮り忘れました。なのでわかりにくかったらすいません。

 

そして、

「OSを入れ替えたその先には、想像もしなかった事態が待っていた」
という状態なので、自己責任なのは変わりないですが、是非、記事をその3まで読んでいただいてからご検討くださいませ。いやー、まさかこんなことになるとは。

 


さて、気を取り直して今回のPCはDELLのInspiron 910(mini9)でございますが、スペックは調べたところこんな感じらしいです。


CPU: Atom N270(1.6GHz)
メモリー:1GB(PC2-6400、S.O.DIMM)
SSD:8GB(Mini PCIe 、PATA IDE)
ディスプレー:8.9インチワイド(1024×600ドット)
重量:1.035kg

 

ぜんのーはこれを姉から譲り受けてOSをCentOS6.2にいれかえてみたものの、金も知識もないので初期スペックのまま放置しておりましたよ。で、じゃあそんな低スペックのPCでWindows8がどれだけ動くのかと思った次第です。
ちなみにmini9はCD/DVDドライブがなく外付けのものも持ってないのでどうインストールすればいいのかからの模索です。

 

どうやら、Windows8のisoファイルを入手(評価版はisoがDLできます。過去の記事を参考にしてください。)して、それをUSBメモリで利用できるようにして、インストールって流れみたいですね。なんかややこしそうなので、何個かのエントリに分けて書きますのでよろしくお願い致します。

また後日。では。

祝!Windows8発売記念、キーボードショートカット抜粋

皆様こんばんは。どうでもいいですけどネットワークスペシャリスト試験で玉砕したぜんのーです。ご無沙汰しております。

 

さて、上記試験の勉強のためにアプリ作成を我慢していたら禁断症状で口内炎ができました。激しく三つも。まあ、どうでもいいですね。

 

8が発売されたものの、全てのデバイスがタッチ対応なわけではないので、今回は簡単な(よく使う)キーボードショートカットを数個書いておきます。
8のキーボードショートカットはWindowsキーを使う便利なものが多いです。スタート画面やチャームなど、今回の新機能はwindowsキーを使うようなイメージがありますね。

では早速、

 

Windowsキー + C

チャームの表示

 

Windowsキー + F

ファイル検索

 

Windowsキー + I

設定

 

Windowsキー + K

デバイス

 

Windowsキー + Q

アプリ検索

Windowsキー + W

設定検索

 

Windowsキー + Z

アプリバーの表示

 

Windowsキー + Tab

Windowsストアアプリの切り替え

 

Alt + Tab

デスクトップアプリとWindowsストアアプリの切り替え

こんなところですかね。まあ、チャームってなんやねんとかWindowsストアアプリってなにするものぞ?とかいろいろあると思いますが、まあその辺はおいおい紹介していきます。

口内炎が痛すぎるので、ほんとこのへんで勘弁してください。

 

また後日。では。

初めてのWindowsストアアプリ(プロジェクトを作ってみよう)

皆様こんばんは。ガムが大好きなぜんのーです。皆様いかがお過ごしでしょうか。

 

今回からついにWindowsストアアプリのあれやこれやについて書いていきたいと思います。

 

早速ですが、嬉し恥ずかし、初アプリ作成ですよ。まずはプロジェクトの作り方をざっくり見てみましょう。

 

f:id:zenno04:20120922210625p:plain

↑「新しいプロジェクト...」から作成。スタートページが出ていないときは、ツールバーの「ファイル(F)」から選んでください。

 

f:id:zenno04:20120922210629p:plain


↑こんな画面が出てきます。6つの中から作りたいものに一番近いものを選びましょう。右側のスペースに簡単な説明も載っています。
「新しいアプリケーション」はまっさらな画面が出てきます。
「グリッド アプリケーション」と「分割アプリケーション」はテンプレートです。選んだだけでアプリっぽい画面が作れるみたいです。
下の3つは初心者のぜんのーにはレベルの高すぎるもののような気配がぷんぷんするので今はスルーしときます。
何もないページを作ると絵的になにも面白くない気がするのでグリッドアプリケーションでも見てみましょうか。あ、名前を付けること御忘れなく。そして「OK」を押してプロジェクト作成。

 

「この判断があんな結果になるなんて、あの時の僕たちは思いもしなかったんだ・・・」

f:id:zenno04:20120922211127p:plain

↑既にそれっぽい画面ができてまが、いきなり「F5」キーかツールバーの「デバック」から「デバックの開始」を選んで動かしてみます。

 

f:id:zenno04:20120922210635p:plain

↑アプリの実行結果がこれ。すでにぐりんぐりん動く形になっています。恐るべし。一旦VisualStudioに戻って「Sift+F5」か「デバックの終了」でアプリを落とし、テンプレートはどんな作りになっているのかな?と思って見てみます。

 

案の定、つまづきました。なんでしょうか、この情報量は。このテンプレートが初見で鼻歌交じりに理解できる日は来るのでしょうか。戦慄。

 

f:id:zenno04:20120922210639p:plain

↑気を取り直してソリューションエクスプローラを見てみましょう。ソリューションエクスプローラは時の左側にある三角形をクリックすると、その下の階層にあるファイルを表示できます。

「Assets」、「Common」、「DateModel」のフォルダと「~.xaml」ファイル、「Package.appxmanifest」らへんがミソでしょうか。

「Assets」はアプリ上で使用する画像ファイルなんかを入れるところみいたいです。

「Common」は何か色々入ってますね。たぶん、「StandardStyles.xaml」が見た目のデザイン。あとはプログラムで共通して使える基本機能なんでしょう。

「DateModel」はテンプレートのでサンプルとして表示する要素のサンプルなんかが入ってるみたいです。

各「~.xaml」ファイルの下の階層には「~.cs」というファイルがあります。xamlが外見、csがプログラムの中身と思っておくといい気がします。

「Package.appxmanifest」は

アプリのタイル(スタート画面に表示されているアレ)や使用する機能について明記します。

どうも、グリッドアプリケーションはWeb上のデータや、ローカル(アプリケーションの内部)に保存されたデータを「SampleDataSource.cs」のような形でアプリ上で使えるデータの入れ物に入れ直して表示するようです。

どうやらMicrosoftがグリッドアプリケーションのサンプルを用意してくれているようです。↓
http://msdn.microsoft.com/ja-jp/library/windows/apps/br211380.aspx

うん、呪文のようなコードですね。パート4とか書いてますし。まずは初歩の初歩からやれということですか。
ということで、今回はざっくりこんな感じですってことで書きました。プログラムを始めたばかりでは複雑に入り組んだコードのすべてを理解することは難しそうです。詳細は、おいおい勉強ですね。

次はサンプルのパート1とかに並ぶ簡単なことをやりながら、「Package.appxmanifest」について書ければなと思います。

また後日。では。