모바일&임베디드/안드로이드 5

[Kotlin] TS(NavHostFragment), [xX][mM][lL]"과 일치하는 처리 명령 대상은 허용되지 않습니다.

NavHostFragment 트러블 슈팅이랄 것도 없지만, 강의에서 나온 코드로 하니까 안됐는데 다음과 같이 하면 됨 //MainActivity class 내부 lateinit var navController : NavController // MainActivity.kt 안에 onCreate 함수 안 navController = nav_host_fragment.findNavController() 고친 후: import androidx.navigation.fragment.NavHostFragment // 중략 val navHostFragment = supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment val na..

[Kotlin] 간단 앱 개발

Joyce님의 3강으로 끝내는 코틀린 강의를 들어보았다. 나중에 앱을 만들다가 궁금한 점이 있으면 영상을 보면 되지만 영상에 내가 원하는 파트를 딱딱 찾기가 쉽지 않으니까 기억을 살려서 중요한 뼈대 정도면 정리해보았다. https://www.youtube.com/watch?v=M1e2tLnzVPo&t=11s 이 분의 강의를 참고했다. 강의는 총 3시간이었는데, 나는 왜 24시간은 걸린 것 같을까 ㅎㅎ 아무튼 Navigation component 를 이용해서 좀더 직관적으로 앱을 구성할 수 있다. https://developer.android.com/guide/navigation/navigation-getting-started 탐색 구성요소 시작하기 | Android 개발자 | Android Develop..

[Kotlin] 고급 문법2(Data class, Object, Companion Object)

3. Data Class 데이터만을 다루는 클래스에 대한 것 * 선언: ()안에는 parameter을 저장해주면 된다. data class Ticket(val companyName : String, val name : String, var date : String, val seatNum : Int) * 제한사항 1) 기본 생성자에 최소 하나의 파라미터 필요 2) 기본 생성자의 파라미트는 val or var 3) data class는 abstract, open, sealed, inner가 될 수 없다 * 특징 - 하나의 프로퍼티처럼 사용 가능하다 - toString, hashcode생성 등 자동으로 가능해짐 -> canomical methods라고 부름 * CANOMICAL METHOD - Any 에 선언..

[Kotlin] 고급 문법1(Lamda, Class)

1. Lamda * 람다식은 마치 value 처럼 다룰 수 있는 익명함수이다. * 최근에 리액트인지 노드js에서 배운 것처럼, 바로 리턴하는 함수를 만들어주는 것 1) 메소드의 파라미터로 넘겨줄 수가 있다. fun maxBy(a: Int)에서 함수를 parameter로 넣어주기 2) return 값으로 사용할 수 있다. * 람다의 기본 선언방식: val lamdaName : Type = {argumentList -> codeBody} * Type: (parameter) -> (return type) // 람다를 이용해서 제곱을 구하기 // 1. 첫 번째 방법 val square : (Int) -> (Int) = {number -> number*number} // int 형이 패러미터고 int 형이 반환형..

[Kotlin] 기본 문법

1. 함수 선언 // 1. 함수 fun helloWorld() : Unit{ println("Hello world") } fun add(a : Int, b : Int) : Int { return a+b } - return하지 않으면 Unit을 더해줘야 하지만, redundant라서 굳이 넣지 않아도 된다. - 변수 타입이 나중에 온다 (변수이름 : 자료형) 2. 변수 선언 // 2. val vs var // val = value : 불변한다 fun hi(){ val a : Int = 10 // val은 상수 var b : Int = 9 //변할 수 있음 variable // a = 100 에러 뜸 b = 100 val c = 10 //이렇게 해도 변수형 정의 안해줘도 알아서 int로 알아들음 var d ..