Android Kotlin基礎講座 05.1: ViewModelとViewModelProvider

Android Kotlin基礎講座

タスク:スターターコードについて

このタスクでは、スターターアプリをダウンロード、起動します。またそのコードについて調べていきます。

ステップ1:開発準備

  1. GuessTheWordスターターコードをリンクからダウンロードしてAndroid Studioで開いてください。
  2. アプリを実機、またはエミュレーターで起動してください。
  3. ボタンをタップしてください。Skipボタンを押すと次の単語が表示され、スコアが1減ることを確認してください。Got Itボタンを押すと次の単語が表示され、スコアが1増えることを確認してください。End Gameボタンの機能は実装されていないので、タップしても何も起こりません。

ステップ2:コードについて

  1. Android Studioでスターターコードを見ながら、アプリがどのように動作しているのか、雰囲気でいいので把握してください。
  2. 以下に示されているファイルを見てください。特に重要なファイル群です。

MainActivity.kt

このファイルにはデフォルトのテンプレートコードのみが含まれています。

res/layout/main_activity.xml

このファイルにはアプリのメインレイアウトが含まれています。NavHostFragmentはユーザーがアプリを遷移する際に他のフラグメントのホストとして機能します。

UI fragments

スターターコードにはcom.example.android.guesstheword.screensというパッケージがあり、その下に、三つの異なるパッケージがあり、さらにその中にそれぞれフラグメントが含まれています。

  • タイトル画面用のtitle/TitleFragment
  • ゲーム画面用のgame/GameFragment
  • スコア画面用のscore/ScoreFragment

screens/title/TitleFragment.kt

TitleFragmentはアプリが起動すると最初に表示される画面です。ゲーム画面に遷移するためのクリックハンドラーがPlayボタンにセットされています。

screens/game/GameFragment.kt

これがメインのフラグメントで、ゲーム中のアクションのほとんどはここで起こります。

  • 現在の単語と得点用の変数が定義されています。
  • resetList()メソッドの中に定義されているwordListはゲームで使われる単語のサンプルリストです。
  • onSkip()メソッドはSkipボタン用のクリックハンドラーです。これによって得点を1ずつ減らし、nextWord()メソッドによって次の単語を表示します。
  • onCorrect()メソッドはGot itボタン用のクリックハンドラーです。このメソッドはonSkip()メソッドとほぼ同じように実装されています。一つだけ異なることは得点を1増やすという点だけです。

screens/score/ScoreFragment.kt

ScoreFragmentはゲームの最終画面で、プレイヤーの最終得点を表示します。この記事では、この画面をゲームで表示できるように実装していきます。

res/navigation/main_navigation.xml

ナビゲーショングラフはナビゲーションを通してフラグメントがどのようにつながっているのかを表示します。

  • TitleFragmentからはGameFragmentに遷移することができます。
  • GameFragmentからはScoreFragmentに遷移することができます。
  • ScoreFragmentからはGameFragmentに遷移することができます。

コメント

プロフィール

プロフィール
コードラボJP

大学卒業後SEに就職、現在は退職しフリーランスとして活動中。
『初心者でも挫折せずに一人でプログラミングを学べる』をモットーに、コードラボJPを開設
お問い合わせ等はcodelabsjp@gmail.comまで

コードラボJPをフォローする
タイトルとURLをコピーしました