2016年7月19日火曜日

東北TECH道場青森道場夏季2日目開催しました

東北TECH道場青森道場夏季2日目を、2016年7月18日(月・祝)に、青森駅前の新町プラザ フリーカフェ新町(まちまちプラザ)で開催しました。



今回も高校生と大学生の道場入門者が十数名集まり、スタートを切りました。


最初に前回の復習です。
まず、Android Studioで空のアクティビティを選んでプロジェクトを作ります。
次に、Android端末を接続して、端末上でアプリを実行させます。
そして、SourceTreeを起動して、リポジトリを作成し、作ったプログラムをコミットして記録します。
最後に、GitLabにプロジェクトを作り、そこにプログラムをプッシュしてアップロードします。

また、他人の作ったプログラムをGitLabからダウンロードしてみました。
まず、GitLabで共有されている他人のプロジェクトを見てみます。
そして、SourceTreeを使って、そのGitLab上のリポジトリのURLから、自分のコンピュータにプログラムをクローンして複製します。
クローンしたプログラムを、Android Studioで開いて、Android端末で実行してみました。

これら一連の操作には、GitLabのアカウントを覚えておき、アクセスできるようになっている必要があります。
道場入門者のみなさんは忘れないようにしましょう。
また、作った自分のプロジェクトは、プロジェクトの設定からGroupsを選び、東北TECH道場青森道場のグループに対して、最大のアクセスレベルをレポーターにして共有しておきましょう。

前回学んだことを復習し、いよいよ今回の内容に入りました。
今回のテーマはトランプを使ったカードゲームです。

まず、講師の星孝哲さん((株)サマリー)から、Android OSのユーザー・インターフェイスの名称、AndroidアプリのGUI部品を紹介がありました。



そして、道場入門者たちは、ボタンを押すと1〜13までのいずれかの数を表示するプログラムの開発に取り組むことになりました。

前回、ボタンを押すと画面の中の文字を書き換えるプログラムを作っています。
まずこのプログラムのことを思い出す必要がありました。
アプリの画面をデザインするXMLのプレビュー表示で、テキスト・ビューとボタンを配置します。
そして、ボタンのクリックに対するイベントリスナーを用意して、その中にテキスト・ビューを書き換えるプログラムを書きます。
そのとき、前回は固定された文字列でテキスト・ビューを書き換えましたが、今回は1から13までの乱数を作り、その値で書き換えます。
Javaで乱数の作り方を検索して調べて実装していきました。



次に、通常のトランプのように、1のときA、11のときJ、12のときQ、13のときKを表示するように書き換えました。
これは単純には、if〜else文やswitch文を用いて、カードの番号が1、11、12、13のときだけ特殊な表示を行わせることで実現できました。
これ以外にもいろいろな方法があるので、是非、自分なりに工夫してみてください。



それから、ボタンをクリックしたときに表示するカードの枚数を3枚にしました。
まず、アプリの画面をデザインするXMLのプレビュー表示で、テキスト・ビューを追加します。
このとき、追加したテキスト・ビューのidを確認しておきましょう。
そして、追加したテキスト・ビューそれぞれに、これまでと同様に乱数でカードの番号を生成して、その値で書き換えるプログラムを書きました。


しかし、そうすると、同じようなプログラムを何回も記述することになります。
プログラムを書くときに大切なことの一つは、同じことを何回も繰り返し記述しないことです。
そこで、乱数でカードの番号を生成して、その値でテキスト・ビューを書き換えるプログラムを抽出して、名前をつけて抽象化し、メソッドにします。
そして、その引数は、テキスト・ビューのidにします。
これにより、3つのテキスト・ビューを書き換えるために3回書いていたプログラムを、1回書くだけで済むようになりました。



次に、3枚のカードの合計値も表示するプログラムに取り組みました。
最初に、アプリの画面をデザインするXMLのプレビュー表示で、合計値を表示させるテキスト・ビューを追加します。
次に、これまでメソッドの中でカードの番号を乱数で生成していましたが、これを分離することにしました。
そのために、ボタンをクリックしたときに実行されるメソッドを新しく用意します。
そのメソッドの中で3枚のカードの番号を乱数で生成します。
そして、テキスト・ビューを書き換えるメソッドに、カードの番号とテキスト・ビューのidを引数として渡すようにしました。
また、カードの番号を合計し、それを表示させます。
最後に、カードの番号を複数個扱うのに、個別に変数を用意するよりも、配列を使用した方が便利なので、配列を使用するように書き換えました。

最後に本日の開発内容を保存し、SoureTreeでコミットし、リモートリポジトリにプッシュしました。



道場入門者のみなさん、次回に向けて、今回の内容を是非復習してみてください。
また、GitLabにテキストがありますが、上級の課題がありますので、取り組んでみてください。

講師、道場主、スタッフ一応、次回も楽しみにみなさんをお待ちしております。

0 件のコメント:

コメントを投稿