이번 포스팅부터는 내가 새로 사용한 기능들의 역할을 위주로 서술할 것이다.
그 이유는 모든 과정들을 전부 나열하면, 나중에 까먹거나 기능을 찾고 싶을때, 난잡한 포스팅들 사이에서 찾아야만하기 때문이다.
쓰레드와 쓰레드간의 통신을 엮어주는 기능. 우리가 항상 작업하는 메인쓰레드에서 무거운 작업을 돌리기 힘들때나, 네트워크 통신 등 다른 작업이 필요할 때는, 쓰레드를 열어주거나 Handler기능을 사용해줄 수 있다.
앱을 종료하더라도 정보가 사라지지 않도록 해주는 기능이다. getSharedPreferences로 선언해 인자로 name 과 context를 받는다.
경고 알림을 띄우는 기능이다. 빌더패턴을 이용했으며, 메세지와 타이틀, positive에 확인버튼을 추가해줬다. negative 버튼을 사용해줄 수도 있다.
private fun showErrorAlertDialog() {
AlertDialog.Builder(this)
.setTitle("실패!")
.setMessage("비밀번호가 틀렸습니다")
.setPositiveButton("확인"){ _, _ -> }
.create()
.show()
}
Theme과 manifest에 NoActionBar기능을 추가해줌으로 상단의 거치적거리는 액션바를 없앨 수 있다.
그리고 ActionBar의 스타일도 바꿀 수 있다.
passwordPreferences.edit(true){
putString("password", passwordFromUser)
}
ktx를 이용해 sharedpreferences를 edit이라는 기능을 이용해 저장한 것이다. edit에서 제공하는 기능에는 두 가지가 있다.