안녕하세요. 이번 시간에는 퀴즈 앱 만들기 두 번째 시간 - 퀴즈 만들기 및 보여주기를 만들어보겠습니다.
이전 포스팅은 아래 링크를 들어가시면 됩니다.
2022.11.21 - [안드로이드] - [안드로이드 코틀린]간단한 퀴즈 앱 만드는 방법 part1 - 메인화면 구성과 설정
- 설명 -
1. 퀴즈 데이터 담는 클래스
2. question
퀴즈 문제
3. option_one
답변 1
4. option_two
답변 2
5. option_three
답변 3
6. option_four
답변
4
7. correct_answer
정답 번호
data class Question(
var id: Int,
var question: String,
var option_one: String,
var option_two: String,
var option_three: String,
var option_four: String,
var correct_answer: Int
)
- 설명 -
1. 샘플 데이터 클래스
2. getQuestion()
샘플 데이터 가져오는 함수
3. queList
퀴즈 문제 담을 리스트
4. q1 ~ q3
퀴즈 샘플 데이터
object QuestionData {
fun getQuestion(): ArrayList<Question>{
val queList: ArrayList<Question> = arrayListOf()
val q1 = Question(
1,
"1 + 1? ",
"1",
"2",
"3",
"4",
2
)
val q2 = Question(
1,
"2 + 2?",
"2",
"3",
"4",
"5",
3
)
val q3 = Question(
1,
"3 + 3?",
"2",
"4",
"6",
"8",
3
)
queList.add(q1)
queList.add(q2)
queList.add(q3)
return queList
}
}
- 설명 -
1. currentPosition
질문 위치
2. selectedOption
선택한 답변
3. score
총 맞춘 개수
4. getQuestionData()
퀴즈 문제 보여주는 함수
5. progressBar.progress
상태바 현재 위치 설정
6. progressBar.max
상태바 최댓값 설정
7. getString
string.xml의 설정값 적용
8. setSubmitBtn
체크 버튼 텍스트 설정
class MainActivity : AppCompatActivity(){
private lateinit var binding: ActivityMainBinding
private lateinit var questionList: ArrayList<Question>
private var currentPosition: Int = 1 //질문 위치
private var selectedOption: Int = 0 // 선택 옵션
private var score: Int = 0 //점수
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
//질문 리스트 가져오기
questionList = QuestionData.getQuestion()
//화면 셋팅
getQuestionData()
}
private fun getQuestionData(){
//질문 변수에 담기
val question = questionList[currentPosition-1]
//상태바 위치
binding.progressBar.progress = currentPosition
//상태바 최대값
binding.progressBar.max = questionList.size
//현재 위치 표시
binding.progressText.text = getString(R.string.count_label, currentPosition, questionList.size)
//질문 표시
binding.questionText.text = question.question
//답변 표시
binding.option1.text = question.option_one
binding.option2.text = question.option_two
binding.option3.text = question.option_three
binding.option4 .text = question.option_four
setSubmitBtn("제출")
}
//제출버튼 텍스트 설정
private fun setSubmitBtn(name: String){
binding.submitBtn.text = getString(R.string.submit, name)
}
}
2022.11.07 - [안드로이드] - [안드로이드 코틀린] 파이어베이스 사용자 CRUD 만드는 방법 part1 - 프로젝트 생성
2022.10.18 - [안드로이드] - [안드로이드 코틀린] 채팅앱 만드는 방법 part1 - 로그인 액티비티
2022.10.06 - [안드로이드] - [안드로이드 코틀린] tic-tac-toe 보드게임 만드는 방법 part1 - 뷰 바인딩 및 화면구성
[안드로이드 코틀린] 간단한 퀴즈 앱 만드는 방법 part4 - 답변 체크 이벤트 (0) | 2022.11.24 |
---|---|
[안드로이드 코틀린] 간단한 퀴즈앱 만드는 방법 part3 - 답변 선택 이벤트 (0) | 2022.11.23 |
[안드로이드 코틀린] 간단한 퀴즈 앱 만드는 방법 part1 - 메인화면 구성과 설정 (0) | 2022.11.21 |
[안드로이드 코틀린] 파이어베이스 사용자 CRUD 만드는 방법 part5 - 사용자 삭제 (0) | 2022.11.11 |
[안드로이드 코틀린] 파이어베이스 사용자 CRUD 만드는 방법 part4 - 사용자 수정 (0) | 2022.11.10 |
댓글 영역