728x90
30개 프로젝트로 배우는 Android 앱 개발 with Kotlin 초격차 패키지 Online
강의 목표
- 프로젝트를 따라해보며 앱개발에 필요한 기술을 학습할 수 있습니다.
- 프로젝트를 따라해보며 앱개발에 필요한 기술을 학습할 수 있습니다.
- 앱 개발시 원하는 기능을 구현하기 위해 어떤 기술이 필요한 지 알 수 있습니다.
- 디자인 아키텍처 패턴, 비동기 처리 등 효율적인 앱 개발 방법을 익힐 수 있습니다.
목차 02 Basic - Ch02. 로또 번호 추첨기
인트로(완성앱&구현기능소개)Collection 개념 소개로또 번호 추첨 알고리즘 생각해보기Constraintlayout 이용하여 기본 UI 그리기(1)Constraintlayout 이용하여 기본 UI 그리기(2)- 기능 구현하기(1)
- 기능 구현하기(2)
- Resource를 이용하여 꾸며보기
- 아웃트로(정리)
기능 구현하기(1)
- 번호 추가를 위해 예외 처리를 해줬으므로 직접적인 View에 추가하는 코드를 추가한다
- 먼저 로또 번호를 표시할 6개의 TextView를 List로 받아올 수 있다
private val numberTextViewList: List<TextView> by lazy {
listOf<TextView>(
findViewById<TextView>(R.id.num1),
findViewById<TextView>(R.id.num2),
findViewById<TextView>(R.id.num3),
findViewById<TextView>(R.id.num4),
findViewById<TextView>(R.id.num5),
findViewById<TextView>(R.id.num6),
)
}
- 그리고 번호 추가 버튼을 눌렀을 때
- 해당 차례의 textView가 보여야한다 (defalut는 gone 상태)
- textView의 text부분이 numberPicker의 값으로 되야한다
- 중복 검사를 위한 pickerNumberSet에도 numberPicker의 값이 추가되어야한다
val textView = numberTextViewList[pickNumberSet.size]
textView.isVisible = true
textView.text = numberPicker.value.toString()
pickNumberSet.add(numberPicker.value)
기능 구현하기(2)
- 초기화 버튼의 동작도 정의해주도록 한다
- numberSet 이 초기화 되고
- 모든 추출한 번호인 textView를 보이지 않도록하고
- didRun을 false로 돌려준다
private fun initClearButton() {
clearButton.setOnClickListener {
pickNumberSet.clear()
numberTextViewList.forEach {
it.isVisible = false
}
didRun = false
}
}
- 💡forEach : 순회 반복문이며, it 으로 원소에 접근할 수 있다
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
수강인증샷
링크
728x90
'Android > Challenge' 카테고리의 다른 글
패스트캠퍼스 챌린지 18일차 (0) | 2022.02.10 |
---|---|
패스트캠퍼스 챌린지 17일차 (0) | 2022.02.09 |
패스트캠퍼스 챌린지 15일차 (0) | 2022.02.07 |
패스트캠퍼스 챌린지 14일차 (0) | 2022.02.06 |
패스트캠퍼스 챌린지 13일차 (0) | 2022.02.05 |