유튜브 강좌 : https://youtu.be/M1e2tLnzVPo
워크북
wrap_content : 객체의 크기를 객체의 Content 크기만큼 설정하겠다는 뜻이다.
match_parent: 객체의 크기를 그 부모의 크기만큼 설정하겠다는 뜻이다.
view와 Layout과 관련된 blog: https://codechacha.com/ko/properties/
- ex) app:layout_constraintTop_toTopOf="parent" 와 같이 constraint layout은 제약을 주는 대상과, 받는 대상의 위치를 to - of로 나타내고 제약을 주는 대상을 “” 사이에 적는다. start 는 왼쪽 end는 오른쪽을 의미한다.
- 원래는 다양한 디바이스에서도 보여지는 크기 차이가 없도록 하기 위해서 view를 dp가 아닌 %로 설정한다.
- lateinit var : 현재 정의하지않고, 나중에 정의하겠다는 의미이다. -> 아래와 같이 사용된다.
lateinit var navController:NavController
navController = ~
- nav_graph 탐색구성 : https://developer.android.com/guide/navigation/navigation-getting-started
트러블슈팅
1. MainActivity에서 NavController를 설정할때 nav_host_fragment를 찾지 못하는 오류 발생.
navController = nav_host_fragment.findNavController 를
아래와 같이 바꾸니까 해결됨.
navController = findNavController(R.id.nav_host_fragment)
2. AVD 무한로딩 발생 (waiting for target device to com online)
맨 오른쪽 아래 화살표를 누르고 wipe data를 누르면 해결됨.
3. MainFragment에서 btn_next를 찾지못하는 문제 발생
문제상황: XML 파일에서 선언한 id를 Kotlin파일에서 찾지 못하는 문제
코드: btn_next를 클릭시 navController가 mainF-> questionF로 action하는 것을 구현.
해결방법: build.gradle의 plugins에 kotlin-android-extensions 를 추가하면 된다.
plugins {
id 'kotlin-android-extensions'
}
'Android > 공부' 카테고리의 다른 글
[Android] 안드로이드 기본 dialog 생성하기 (0) | 2022.10.25 |
---|---|
[Android] Activity와 Fragment 생명주기 (1) | 2022.10.25 |
[Android 오류] error: failed linking file resources (0) | 2022.10.12 |
[Android] palette View 모음 (0) | 2022.09.29 |
Kotlin 강좌 3강 : 심리테스트앱 만들기 - 22/07/08 (0) | 2022.07.08 |