코틀린에서 ViewModel를 만들 때 아래와 같이 ViewModelProvider를 사용해서 만듭니다. viewModel = ViewModelProvider(this)[TodoViewModel::class.java] 하지만 위 같은 형식은 TodoViewModel에 파라미터를 넘기지 못하죠 그럴 땐 아래와 같이 ViewModelFactory를 생성해줍시다. 저는 TodoViewModel에 String으로 yyyy-mm-dd 형태의 값을 넘기려 하기에 아래처럼 만들어 줍시다. class ViewModelFactory(date: String?): ViewModelProvider.Factory { private var date: String? = null init { this.date = date } ove..
Android Kotlin/Study
안드로이드 스튜디오의 디바이스 에뮬레이터 다운로드 사용 시 아래처럼 영어 자판을 기본으로 지원합니다. 하지만 영어는 영 불편하기 때문에 한글로 바꿔줍시다 1. 에뮬레이터 생성이 플레이 스토어 지원하는 버전으로 생성합니다. 2. 기본 언어를 한글로 바꿉니다. Settings에서 검색으로 Langauges를 검색해서 언어를 바꿔줍니다. Add a language로 한국어를 추가해줍시다. 추가 후 언어 설정 맨 위로 올려주면 언어가 한글로 바뀝니다. 이제 아래처럼 한글 자판이 바뀌었을 것입니다. 에뮬레이터 버전에 따라 다를 수 있습니다. 저는 Nexus 5를 사용했습니다.
안드로이드 스튜디오에서 md 확장자 파일에 대한 프리뷰가 보이지 않는 경우가 발생할 경우 상당히 README.md 파일을 만들기 어려워집니다. 프리뷰 되는 IDE에서만 README를 작업할 순 없으니 아래 방법으로 문제를 해결하시면 됩니다. 우선 [CTRL] + [SHIFT] + [A]을 누르시거나 Help -> Find Action으로 아래 검색창을 띄워주세요. 그 후 Choose Boot Java Runtime for the IDE 문구로 검색해주세요. 이제 가장 select box에서 가장 위에 있는 jbr를 선택하고 적용하면 재시작됩니다. 재시작이 완료되면 아래와 같이 프리뷰가 활성화됩니다.
1. Java와 비슷하지만 훨씬 간결하다. Kotlin 소스를 보면 Java와 유사한 느낌을 주지만 훨씬 더 간결한 코드로 기능 구현이 가능합니다. 또한 Java와의 엄청난 상호운용을 보여주며 Kotlin에서 Java 코드 사용이 가능하며 반대의 경우 @(annotaion) 사용으로 가능하다. 2. 구글에서 코틀린을 밀어줌. 구글이 오라클과 Java API 저작권 분쟁을 통해서 인지 구글은 Java를 통한 안드로이드 앱 개발보다 Kotlin을 통한 개발을 미뤄주는 경우가 보입니다. (Java 예시보다 Kotlin 예시가 먼저 올라옴) 3. 안드로이드 말고도 사용할 수 있다. Kotlin 하면은 아무래도 구글로 인해 안드로이드가 먼저 생각나지만 Kotlinlang 홈페이지에서도 나오다 싶이 크로스 플랫폼(..