[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 ..
[Kotlin] Sealed class 란?
·
기타/Android
Sealed class 란? Sealed class 와 interface 는 상속에 대한 제어를 제공하는 제한된 클래스 계층이다. when으로 타입 검사할 때 문제점 코틀린 컴파일러는 when을 사용하여 타입을 검사할 때 꼭 else 분기를 덧붙이게 강제한다. 의미 없는 else 분기가 생길 수 있다. 이후 새로운 하위 클래스를 추가하더라도 컴파일러가 when이 모든 경우를 처리하는지 제대로 검사할 수 없다. interface Expr class Num(val value: Int) : Expr class Sum(val left: Expr, val right: Expr) : Expr fun eval(e: Expr) : Int = when(e) { is Num -> e.value is Sum -> eval(..