[Android] Data Binding이란?
·
기타/Android
Data Binding이란? : 프로그래밍 방식이 아니라 선언적 형식으로 레이아웃의 UI 구성요소를 앱의 데이터 소스와 결합할 수 있는 지원 라이브러리다. 프로그래밍 방식 findViewById(R.id.sample_text).apply { text = viewModel.userName } Data Binding 방식 Data Binding을 사용하는 이유 Activity/Fragment에서 많은 UI 프레임워크 호출을 삭제할 수 있어 파일이 더욱 단순화되고 유지관리 또한 쉬워진다. findViewById를 사용할 때 발생할 수 있는 null 포인터 예외를 방지할 수 있다. 메모리 누수를 방지할 수 있다. 사용하기 build.gradle(Module)에서 다음 코드를 입력해야 한다. android { ...
[Android] 안드로이드 Go to the documentation to learn how to Fix dependency resolution errors. 에러 해결 방법
·
기타/Android
안드로이드 스튜디오에서 빌드를 하다 보면 다음과 같은 에러가 발생할 수 있다. 이럴 때 gradle.properties (Project Properties) 에 들어가서 가장 하단에 다음과 같이 입력한 후 Sync Now를 누르고 빌드를 하면 된다.
[Android] Android Activity Lifecycle 정리
·
기타/Android
Activity Lifecycle 와 Lifecycle callbacks 사용자가 앱을 탐색하고, 앱에서 나가고, 앱으로 다시 돌아가면, 앱의 Activity 인스턴스는 수명 주기 안에서 서로 다른 상태를 통해 전환된다. Activity 클래스는 activity의 상태 변화를 알아차릴 수 있는 여러 콜백을 제공한다. 각 콜백은 상태 변화에 적합한 특정 작업을 실행할 수 있도록 한다. Lifecycle callbacks 개념 및 구현 정보 onCreate() Activity를 생성할 때 호출, 필수적으로 구현해야 한다. Activity의 전체 수명 주기 동안 한 번만 발생해야 하는 기본 애플리케이션 시작 로직을 실행한다. savedInstanceState : Activity의 이전 저장 상태가 포함된 Bu..
[Kotlin] This expressions 란?
·
기타/Android
this가 쓰이는 상황 this의 의미 클래스 안 클래스의 현재 객체를 참조 확장 함수 안 점의 왼쪽에 전달 된 리시버 파라미터를 참조 리시버가 있는 함수 리터럴 안 점의 왼쪽에 전달 된 리시버 파라미터를 참조 Qualified this @label 없으면 가장 안쪽에 있는 스코프를 참조한다. this를 통해 외부 스코프(클래스, 확장 함수, 리시버가 있는 label 함수 리터럴)에 접근 할려면 this@label로 작성하면 된다. class A { // label @A inner class B { // label @B fun Int.foo() { // label @foo val a = this@A // A class를 참조하는 this val b = this@B // B class를 참조하는 this ..