본문 바로가기

Android8

[안드로이드] Execution failed for task ':app:kaptDebugKotlin' 상황 Git에서 clone한 프로젝트를 빌드하는 과정에서 아래와 같은 에러가 발생했다. Execution failed for task ':app:kaptDebugKotlin'. > A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptWithoutKotlincTask$KaptExecutionWorkAction > java.lang.reflect.InvocationTargetException (no error message) 해결 구글에 검색해보면 해결 방법이 다양하게 나오는데 필자의 경우 프로젝트 생성시 사용한 JDK 버전을 다른것으로 설정되어 gradle로 부터 라이브러리를 가져오지 못해 오류가 발생했다고 생각된다. 설정.. 2022. 3. 24.
[데이터 바인딩] Fragment에서 DataBinding 사용하기 시작하기 본 글에서는 Fragment에서 데이터 바인딩을 사용하는 방법에 대해서 알어보도록 한다. 데이터 바인딩의 기본 사용 방법은 이전글을 참고한다. [DataBinding] 데이터 바인딩 사용하기 Fragment 생성 안드로이드 스튜디오에서 빈 플레그먼트를 생성하면 자동으로 코드가 생성된다. 바인딩 객체는 UI를 초기화하는 시점인 onCreateView 콜백 함수에서 초기화할 수 있다. 기존 소스코드 override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { // Inflate the layout for this fragment return inflater.. 2021. 7. 9.
[데이터 바인딩] DataBinding 사용하기 시작하기 데이터 바인딩을 사용하기 앞서 빌드 환경을 구축한다. 코틀린 프로젝트를 사용하는 경우 kapt 플로그인을 추가한다. /* build.gradle (:app) */ apply plugin: 'kotlin-kapt' dataBinding 요소를 추가한다. /* build.gradle (:app) */ android { ... dataBinding { enabled = true } }데이터 객체 생성 데이터 바인딩에 사용될 객체를 정의한다. package com.sungje365.databindingtest.data.model data class User( val firstName: String, val lastName: String ) 레이아웃 및 결합 표현식 작성 데이터 바인딩 레이.. 2021. 7. 2.
[안드로이드] UI 요소 지연 초기화 1. 개요 코틀린에서 Non-null로 선언된 프로퍼티는 선언과 동시에 초기화해야 한다. 만일 초기화 하지 않으면 'Property must be initialized or be abstract' 라는 에러 메시지가 발생한다. 특정 UI 요소를 여러 콜백 함수에서 사용할 때 지연 초기화를 사용하면 유용하다. 2. 지연 초기화 기법 코틀린에서 지연 초기화를 위한 두 가지 방법을 제공한다. lateinit by lazy 자세한 내용은 공식 사이트를 참고한다. 3. 소스코드 다음은 MainActivity.kt의 일부 소스코드이다. class MainActivity : AppCompatActivity() { private lateinit var displayTextView: TextView // .. 2021. 6. 11.