09:00 ~ 10:00
: 오늘 계획 세우기10:30 ~ 12:00
: 실전 프로젝트13:00 ~ 18:00
19:00 ~ 20:00
: TIL 작성하기20:00 ~ 21:00
: 마무리 회고 진행버튼 text가 대문자로 보임 → 버튼 속성 : android:textAllCaps="false"
안드로이드 activity 생명주기 순서를 설명하세요
답변 : Activity를 실행하면 가장 먼저 onCreate()가 실행됩니다. 그리고 나서 onStrart(), onResume()이 실행되고 Activity화면이 실행됩니다. 그리고 만약 다른 화면을 띄우게 된다면 그 화면이 투명한 속성을 가지게 되면 기존 Activity는 onPurse()가 실행되며 일시 중지 되며 새롭게 띄운 화면이 종료되면서 onResume()으로 되돌아가 실행됩니다. 만약 다른 화면이 불투명하다면 기존 Activity는 onStop()이 실행되며 새로 띄운 화면이 종료되면 onRestart()를 실행시켜 onStart()에서 다시 시작됩니다. 그리고 화면을 종료하게 되면 ondestroy()가 실해되면서 Activity가 종료됩니다.
첨삭 1 : activity를 실행하면 먼저 onCreate()가 실행됩니다. 이때 초기 설정 및 리소스가 할당됩니다. 그 다음에 onStrart()가 화면생성 직전에 실행됩니다. 그리고나서 onResume()이 실행되며 이때부터 사용자와 상호작용을 할 수 있으며 입력값을 받을 수 있습니다. 만약 다른 화면으로 넘어가야 한다면 기존 activity는 onPause()를 실행하여 일시중시합니다. 그리고 onResume()을 실행하여 화면으로 돌아옵니다. 그리고 만약 화면이 완전히 가려지게 된다면 onStop()을 실행하고 전환된 화면에서 다시 돌아올 때, onRestart()를 실행하여 onStart()에서 부터 화면을 새로 그리게 됩니다. 그리고 finish()등으로 화면을 종료하게 되면 onDestroy()가 실행되며 activity가 종료됩니다.
덧붙임 : Dialog는 Activity의 일부이기 때문에 Dialog를 부르거나 꺼도 어떠한 함수도 불러오지 않습니다.
Kotlin이 정적 타입 언어라고 하는데 이유가 무엇일까요?
답변 : 정적 타입 언어는 컴파일시 변수의 타입을 결정합니다. Kotlin은 변수를 선언할 때 변수의 타입을 지정해서 안정성이 높으므로 정적 타입 언어입니다. 정적 타입 언어의 반대는 동적 타입 언어인데 동적 타입 언어는 실행할 때 타입을 결정합니다. 그만큼 유연하지만 안정성이 떨어지므로 잘 선택하여 사용해야 합니다.
안드로이드 액티비티 생명주기(Life Cycle)
정적언어(타입)과 동적언어(타입)