본문 바로가기
5번 프로그래밍/Kotlin, 안드로이드 스튜디오

안드로이드 스튜디오 - Udacity 챕터2, 3장 11절 Exercise : Conditional navigation 연습 조건부 탐색

by 하늘나는 곰 2021. 6. 26.

이번 것도 일단 강의대로 따라가면 크게 문제가 되지 않는다

 

우리는 차후에 Fragment를 만드는 것을 공부할 필요가 있어보인다

 

그 부분을 빼먹고 지금 연결하는 것만 설명을 하는데

 

왠지 화가 난다.

 

 

동영상 강의 1분 18초 부분에서 단순하게 코드를 집어넣어서

클릭으로 화면이 전환되게 만드는 기능을 추가한다가

 

view.findNavController().Navigate(R.id.action_gameFragment_to_gameWonFragment

 

를 추가하여 맞을 때 화면을 추가해 주는 것이다.

 

처음 코드를 따라작성하니 에러가 발생한다.

혹시나 실행이 될까봐 실행을 해보았는데 역시 실행이 안되는 것 같다.

 

기계는 거짓말을 하지 않는다.

 

이번 경고창은 뭔가 아주 자연스럽게 설명을 해주고 있다.

 

androidx.navigation.findNavController? Alt+Enter 하면서

androidx 용으로 바꾸라는 것 같다.

 

또 함부로 무언가 바뀌면 실행이 안될 것 같지만

이번에는 별도의 검색을 하지 않고 순수하게 저것을 믿고 해보자.

 

단순히 Alt + Enter를 해주었더니 노란색으로 활성화가 되었다.

 

최초로 순둥순둥하게 넘어가게 되었다.

 

아무 문제없이 실행까지도 되지만...

내가 생각하던 그림이 아니다.

 

뭔가 이상하다?

 

이번 동영상 강의는 '성공 화면'과 '실패 화면' 두가지로 경로가 나눠지는 것을

보여주기 위한 것이었는데 그냥 꺼져버린다.

 

무언가 잘 못한 것일까?

 

동여상 강의에서는 잘 진행이 된다.

 

알고보니 코드 작성을 잘못한 것이었다.

 

그리고 자동완성 기능에 의지하다 보니 오타가 발생하였다.

 

이전 과정에서

view.findNavController().navigate(R.id.action_titleFragment_to_gameFragment)를 계속 쓰다보니

자연스럽게 자동완성으로 이것을 입력해 버렸다.

 

영타 연습겸 코드를 자동완성을 쓰지 않고 타자로 치는 연습을 하고 있는데

마지막에 자동완성에 의지하다 보니 이런 일이 발생하였다.

 

그리고 코드도 한줄 빼먹은 것이 보였다.

 

다시 재대로 잘 작성을 해보자.

 

그런데 이번에는 또 뭔가 이상한 것이 발견되었다.

 

1분 30초 경 GameOver 화면을 연결해 주는 Fragment의 아이디가 다르다

동영상에서는 action_gameFragment_to_gameOverFragment 라고 나오지만

 

지금 작성하는 Fragment의 id는 action_gameFragment_to_gameOverFragment2 라고 나와있다.

 

혹시나 몰라서 gameOverFragment 로 입력을하면 당연히 에러가 발생한다.

Class / xml 파일 둘 다 확인을해봐요 gameOverFragment라는 id는 보이지 않는다.

 

id를 찾는 것도 지금 할 줄 모른다는게 확인되었다.

문제가 심각하다.

 

일단 작성을하고 나며 실행까지 되는 것이 문제없이 확인되었다.

 

댓글