
안녕하세요. 이번 시간에는 퀴즈 앱 만들기 두 번째 시간 - 퀴즈 만들기 및 보여주기를 만들어보겠습니다.
이전 포스팅은 아래 링크를 들어가시면 됩니다.
2022.11.21 - [안드로이드] - [안드로이드 코틀린]간단한 퀴즈 앱 만드는 방법 part1 - 메인화면 구성과 설정
[안드로이드 코틀린]간단한 퀴즈 앱 만드는 방법 part1 - 메인화면 구성과 설정
안녕하세요. 이번 시간에는 퀴즈 앱 만들기 첫 번째 시간 - 메인화면 & 설정을 해보겠습니다. 목차 1. 실행 화면 2. 바인딩 설정 3. 문자 리소스 string.xml 4. 답변 drawable option_background.xml 5. 메인 화면
aries574.tistory.com

- 설명 -
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 - 프로젝트 생성
[안드로이드 코틀린] 파이어베이스 사용자 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
| [안드로이드 코틀린] 간단한 퀴즈 앱 만드는 방법 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 |
댓글 영역