4択クイズアプリ

Android Studio 4択クイズアプリ開発講座 第4回「クイズを表示する」

ここまでの記事はこちら
 

前回はクイズを管理する配列を作成しました。

今回はその配列からクイズを実際に表示してみます。
MainActivity.javaファイルを開いてはじめていきましょう!
 


 

動画

【Android Studio】4択クイズアプリ開発講座 #4 クイズを表示する

 
 

クイズ出題用のメソッド

6~37行目を追加してください。

 

必要なImport


 
RandomとCollectionsに警告が出た場合は、前回と同じように「alt」「return」を同時に押して警告を消してください。

コードを直接書いて警告を消すこともできます。

import java.util.Collections;
import java.util.Random;

 

ランダムな数字

11~12行目では、quizArrayからランダムにクイズを取り出すために、ランダムな数字を生成しています。

nextInt()を使うと「0から指定した値未満の整数」を返してくれます。
 
例えば

random.nextInt(5)

とすると、0から5未満の整数、つまり0・1・2・3・4のどれかを返します。
 

ここでは、quizArrayからランダムにクイズを取り出したいので、
0から配列の要素数マイナス1の範囲でランダムな数字を生成しています。
 

ArrayList<String> quizの中身

ArrayList<String> quizには、この順番で要素が入っています。
{"都道府県名", "正解", "選択肢1", "選択肢2", "選択肢3"}

questionLabel.setText(quiz.get(0));
rightAnswer = quiz.get(1);

問題文には都道府県名を表示するので、quiz.get(0)
rightAnswerには正解を入れておくので、quiz.get(1)
と書いています。
 

選択肢のシャッフル

27行目 Collections.shuffle(quiz);

都道府県名は24行目で削除しているので、残っているのは正解と3つの選択肢です。
これら4つの順番をCollectionsクラスのshuffleメソッドを使ってシャッフルします。

シャッフルしてから回答ボタンにセットすることで、選択肢を毎回違う順番で表示できるようになります。
 

クイズを削除

36行目 quizArray.remove(randomNum);

同じ問題が出題されないように、最後にquizArrayから忘れずに削除しておきます。

 
 

showNextQuizを呼び出す

8行目を追加します。

 

アプリを起動してMainActivityが呼び出されたときにクイズが出題されるようにshowNextQuiz()を呼び出します。
 
 

エミュレーターで確認する

ここまでのコードが上手く動くかエミュレーターで確認してみましょう!
 

 
クイズが表示されましたか?
 

ランダムに出題されるかを確認するために、一度アプリを閉じて再度開いてみてください。
 

問題文が変わって、回答ボタンの順番もシャッフルされているでしょうか?
もし上手く表示されない場合は、次のサンプルコードと比較してみてください。
 
 

次に行うこと

次回はクイズで一番重要な機能「正解・不正解」を判定する処理を書いていきます。

第5回「正解・不正解チェック」に進む

 

ここまでのコード

 
 

ABOUT ME
Sara
Sara
「わかりやすく・シンプル」をモットーに、携帯アプリ・ウェブアプリの作り方を紹介します。 独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています🙂
独学は難しそうと感じたら

 
独学でプログラミングを勉強するのは難しそう、効率的にプログラミングを学びたいという方はオンラインスクールがオススメです。

オンラインスクールを選ぶときのポイント

  • 無料体験があること
  • 個別サポートがあること

自分にあったスタイルを見つけるために、無料体験のご利用をオススメします。(無料体験後に自分には合わないなと感じたらハッキリ断ってしまって問題ありません。)
 
個別サポートもプログラミング学習に挫折しないために重要なポイントです。エラーや困った時にすぐに個別対応をしてくれるスクールを利用して下さい。

ここでは3つのオンラインスクールを紹介します。
全て無料体験がありますので、ぜひ自分に合ったスクールを見つけてみて下さい????
 

1. TechAcademy(テックアカデミー)

オンライン完結で勉強できるスクールで、コースがとても充実しています。チャットで質問すればすぐに回答を得られるのが一番のおすすめポイントです。
オリジナルのサービスやアプリの開発もサポートしてくれるので、開発したいものが決まっている人にもオススメです。

無料体験はこちら

2. CodeCamp(コードキャンプ)

一対一で受講できる個別指導のプログラミングスクールです。
Webデザイン・Webサービス開発・アプリ開発などを幅広く学習することができます。
マンツーマンなので自分のペースで学習できて、質問もその都度できるのがメリットです。

無料体験レッスンはこちら

3. Treehouse

英語でも良い、英語とプログラミングを同時に勉強したいという方は Treehouse がオススメです。月25ドルで始めることができて、たくさんのプログラミング言語を学ぶことができます。
個別サポートはありませんが、掲示板が充実しています。ほとんどの場合、質問してから30分程度で回答を得ることができます。

7日間の無料体験はこちら

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA