저번 파트에서는 findViewbyId를 통해 UI 요소들을 Kotlin 코드로 불러왔는데 이번에는 viewbinding을 사용했음.
findViewbyId를 사용하면 여러개의 xml에서 id값이 중복되는것이 있다면 오류가 발생할 수 있지만 viewbinding을 사용하면 뷰바인딩 클래스를 이용하여 xml을 inflate하기 때문에 해당하는 xml에 있는 UI요소들만 불러올 수 있어 중복으로 인한 오류를 없앨 수 있음
isNullOrEmpty는 null값이나 값을 모두 없앴을때 오류가 발생할 수 있음을 미리 방지함
화면 전환으로 인해 값이 변경될 수 있는데 onSaveInstanceState를 이용해서 값을 유지할 수 있음
onSaveInstanceState 클래스의 번들에 유지해야할 값을 저장하고 onRestoreInstanceState에서 저장한 값을 불러오는 방식
화면이 전환되면 pause, stop, destroy를 거친 후에 다시 onCreate가 호출되는데 이때 데이터를 저장해놓지 않으면 화면 전환시 값을 유지할 수 없음
onStop이 호출되고 나서 onSaveInstanceState로 값을 저장한 후 destroy, onCreate가 되면 값을 그대로 유지하는 방식