[안드로이드 코틀린] 간단한 퀴즈앱 만드는 방법 part2 - 퀴즈 만들기 및 보여주기
안녕하세요. 이번 시간에는 퀴즈 앱 만들기 두 번째 시간 - 퀴즈 만들기 및 보여주기를 만들어보겠습니다.
이전 포스팅은 아래 링크를 들어가시면 됩니다.
2022.11.21 - [안드로이드] - [안드로이드 코틀린]간단한 퀴즈 앱 만드는 방법 part1 - 메인화면 구성과 설정
[안드로이드 코틀린]간단한 퀴즈 앱 만드는 방법 part1 - 메인화면 구성과 설정
안녕하세요. 이번 시간에는 퀴즈 앱 만들기 첫 번째 시간 - 메인화면 & 설정을 해보겠습니다. 목차 1. 실행 화면 2. 바인딩 설정 3. 문자 리소스 string.xml 4. 답변 drawable option_background.xml 5. 메인 화면
aries574.tistory.com
목차
1. 실행 화면
2. 퀴즈 모델 클래스 Question.kt
3. 퀴즈 데이터 클래스 QuestionData.kt
4. 메인 코드 구현 MainActivity.kt
1. 실행 화면
2. 퀴즈 모델 클래스 Question.kt
- 설명 -
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
)
3. 퀴즈 데이터 클래스 QuestionData.kt
- 설명 -
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
}
}
4. 메인 코드 구현 MainActivity.kt
- 설명 -
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 - 프로젝트 생성
[안드로이드 코틀린] 파이어베이스 사용자 CRUD 만드는 방법 part1 - 프로젝트 생성
이번 시간에는 파이어베이스(Firebase) CRUD 만드는 방법 - 첫 번째 시간 안드로이드 스튜디오 프로젝트 생성, 파이어베이스 프로젝트 생성, 실시간 데이터베이스 생성 하는 방법에 대하여 알아보겠
aries574.tistory.com
2022.10.18 - [안드로이드] - [안드로이드 코틀린] 채팅앱 만드는 방법 part1 - 로그인 액티비티
[안드로이드 코틀린] 채팅앱 만드는 방법 part1 - 로그인 액티비티
이번 시간에는 채팅앱 만들기 첫 번째 시간 로그인 액티비티 만드는 방법을 알아보겠습니다. 목차 1. 실행 화면 2. 뷰 바인딩 3. 백그라운드 drawable 4. 로그인 화면 LogInActivity 5. 홈 화면 변경 1. 실
aries574.tistory.com
2022.10.06 - [안드로이드] - [안드로이드 코틀린] tic-tac-toe 보드게임 만드는 방법 part1 - 뷰 바인딩 및 화면구성
[안드로이드 코틀린] tic-tac-toe 보드게임 만드는 방법 part1 - 뷰 바인딩 및 화면구성
이번 시간에는 Tic Tac Toe 보드 게임의 화면 구성을 해보겠습니다. Tic Tac Toe 게임은 오목처럼 번갈아 가며 클릭을 해서 누가 먼저 한 줄을 만들면 이기는 단순한 게임입니다. 목차 1. 실행 화면 2.
aries574.tistory.com