728x90
20일차
30개 프로젝트로 배우는 Android 앱 개발 with Kotlin 초격차 패키지 Online
강의 목표
- 프로젝트를 따라해보며 앱개발에 필요한 기술을 학습할 수 있습니다.
- 프로젝트를 따라해보며 앱개발에 필요한 기술을 학습할 수 있습니다.
- 앱 개발시 원하는 기능을 구현하기 위해 어떤 기술이 필요한 지 알 수 있습니다.
- 디자인 아키텍처 패턴, 비동기 처리 등 효율적인 앱 개발 방법을 익힐 수 있습니다.
목차 02 Basic - Ch03. 비밀 다이어리
인트로 (완성앱&구현기능소개)기본 UI 그리기- 자물쇠 페이지 구현하기 (로그인, 비밀번호 변경)
- 다이어리 화면 구현하기 (글 작성, 삭제)
- 아웃트로
자물쇠 페이지 구현하기 (로그인, 비밀번호 변경)
- View를 완성했으니 구현을 위해 코틀린 코틀린 코드로 로직을 짠다
- 먼저 numberPicker 뷰파트를 가져오면서, min max 값을 초기화한다
private val numberPicker1: NumberPicker by lazy {
findViewById<NumberPicker>(R.id.NP1)
.apply {
minValue = 0
maxValue = 9
}
}
- apply 를 이용하여 선언과 동시에 min, max값을 초기화 할 수 있다
- lazy 를 사용함으로써 onCreate() 가 생성되기 전에 먼저 선언되는 것을 막는다!
- numberPicker가 사용되는 시점에 초기화된다
- 잠금해제 버튼을 가져오고 핸들러를 달아준다
- SharedPreferences 를 사용하여 local DB를 사용하되, 다른 앱과 공유하지 않음으로 MODE_PRIVATE 으로 사용
- 성공 시 잠금해제, 실패시 경고 창을 띄어준다
unlockBtn.setOnClickListener {
val passwordPreference = getSharedPreferences("password", Context.MODE_PRIVATE)
val passwordFromUser = "${numberPicker1.value}${numberPicker2.value}${numberPicker3.value}"
if(passwordPreference.getString("password", "000").equals(passwordFromUser)){
// 잠금 해제 성공
// TODO 다이어리 페이지 작성 후에 넘겨주기
// startActivity()
} else {
// 잠금 해제 실패
AlertDialog.Builder(this)
.setTitle("실패!!")
.setMessage("비밀번호가 잘못되었습니다.")
.setPositiveButton("확인") { _, _ -> }
.create()
.show()
}
}
- Preference 에 defalut 값으로 000과 비교한다
- Alert 객체를 Builder 패턴으로 생성하여 보여준다
- 닫기 위한 확인 창에는 별다른 핸들러가 필요하지 않음으로 생략된 람다식으로 채워준다
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
수강인증샷
링크
728x90
'Android > Challenge' 카테고리의 다른 글
패스트캠퍼스 챌린지 22일차 (0) | 2022.02.14 |
---|---|
패스트캠퍼스 챌린지 21일차 (0) | 2022.02.13 |
패스트캠퍼스 챌린지 19일차 (0) | 2022.02.11 |
패스트캠퍼스 챌린지 18일차 (0) | 2022.02.10 |
패스트캠퍼스 챌린지 17일차 (0) | 2022.02.09 |