作って学べる
プログラミング講座
アプリを作りながら学習
自分のペースですぐに始められる
困ったら何回でも質問可能
4択クイズアプリ

【Android Studio】クイズアプリ開発講座 第5回「正解・不正解を判定する」

Sara

Android Studio Iguana | 2023.2.1 での動作確認を完了しました。(2024年4月)

ここまでの記事はこちら

今回はクイズの正解・不正解を判定できるようにしていきます。

クイズの正解・不正解はダイアログを使って表示してみましょう。

解説

1. クイズの出題数を設定する

まずは「クイズを何問出題するか」を決めます。

3行目を追加してください。

ここではクイズを5問出題するように設定しました。

10問出題したい場合は

static final private int QUIZ_COUNT = 10;

としてください。

出題済みのクイズは quizArray から削除されていきます。出題数は quizArray の要素数を超えない範囲に設定してください。

2. クリックリスナーの用意

ボタンを押したときに処理を実行するためにクリックリスナーを用意します。

1行目の implements・17~20行目・29~32行目を追加します。

3. onClickメソッド

ボタンが押されたら呼ばれる onClick メソッドにコードを書いていきましょう。

7~35行目を追加します。

8~9行目:どの解答ボタンが押されたかを取得

Button answerBtn = findViewById(view.getId());
String btnText = answerBtn.getText().toString();

押された解答ボタンを見つけて、そのボタンのテキストを取得しています。

12~17行目:正解・不正解の判定

12行目では解答ボタンのテキストと rightAnswer が一致するかで正解・不正解を判定しています。

if (btnText.equals(rightAnswer)) {
  alertTitle = "正解!";
  rightAnswerCount++;
} else {
  alertTitle = "不正解…";
}

正解の場合は、このあと作成するダイアログのタイトルを「正解!」として、正解数をカウントする rightAnswerCount に1を加算します。

不正解の場合は、ダイアログのタイトルを「不正解…」とするだけです。

20行目~:ダイアログを表示する

20行目からはダイアログを作成しています。

まずはタイトル・メッセージ・OKボタンを追加します。

23行目からは OK ボタンが押された時の処理を書いています。

if (quizCount == QUIZ_COUNT) {
  // 結果画面へ移動
} else {
  quizCount++;
  showNextQuiz();
}

最初に設定した出題数 QUIZ_COUNT と quizCount が同じになったら結果画面に移動します。

QUIZ_COUNT に達していない場合は quizCount に1を足して、再び showNextQuiz メソッドを呼びます。

これでクイズを続けて出題できるようになります。

34行目の setCancelable はダイアログの外側をタップしたときにダイアログを閉じるかどうかを指定しています。

false にしているので OK ボタンを押さないとダイアログを閉じることはできません。

ダイアログの表示には DialogFragment を使うべきですが、このクイズでは画面を固定すると想定していること、より簡単に実装することを理由に使用していません。講座の完全版では DialogFragment を使う方法も紹介しています。

4. エミュレータで確認

エミュレータでアプリを実行してみて下さい。

正解・不正解の判定が正しく行われ、クイズが連続して出題されるでしょうか?

上手く動かない場合は下にサンプルコードを貼ってあるので確認してみてください。

結果画面を作成していないので、5問目終了時のダイアログで「OK」ボタンを押すとアプリが強制終了されてしまいます。現時点では問題ないので、このまま進んでください。

次に行うこと

これでメインのクイズ機能は完成です!

次回からは結果画面を作成していきましょう。

ここまでのコード

Q
MainActivity.java
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
ABOUT ME
Sara
書籍やオンライン講座でプログラミングを勉強してフリーランスのプログラマーになりました。
このサイトでは「わかりやすく・シンプル」をモットーに、プログラミングの基礎からアプリ開発まで紹介します。
独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています。
主な使用言語:Java / Kotlin / PHP
>> 詳しいプロフィールはこちら
>> 書籍を出版しました!
>> お問い合わせはこちら
本格的に学びたい方へ

Code for Fun プログラミング講座

Code for Fun プログラミング講座では、プログラミングの基礎からアプリ開発まで学ぶことができます。

わかりやすく・シンプルをモットーに

  • 同じコードを書けば必ず完成できること
  • 専門用語を使いすぎないこと

を重視しています。

POINT 01

動くコード

プログラミングの文法だけを学んでも、そこから動くアプリを開発をするのは難しいです。

Code for Fun のプログラミング講座では、ゲームやカレンダーなど「アプリとして機能するもの」を作りながらプログラミングを学ぶことができます。

POINT 02

自分のペースで

オンライン講座なので、ご自身のペースで学習を進めて頂けます。

分からないことがあっても、前のレッスンに戻ることができるので安心です。

お申し込みしたその日からからすぐに始めることができます。

POINT 03

個別サポート

プログラミング学習では、エラーが起きることはよくあります。そんな時はお気軽にお問い合わせください!

コメント欄またはメールによるサポートを回数無制限でご利用頂けます。(*講座に関連するご質問のみ対応)

今すぐ無料でお試し

0
この記事にコメントするx
記事URLをコピーしました