본문 바로가기

전체 글127

코틀린에서 변성(variance)이란 무엇인가 - 상세 설명 변성(variance)이란? 기저 타입(base type)이 같고 타입 인자(type argument)가 다른 경우 서로 어떤 관계가 있는지 설명하는 개념 아래의 코드에서 List는 기저 타입 / , 는 타입 인자이다 List, List 단, 여기서 String은 Any의 하위 타입이지만 List은 List의 하위 타입이 아니다 그렇기 때문에 다음과 같은 코드는 에러가 발생한다 fun addStringList(list: MutableList) { list.add("text") } fun addNumberList() { val numbers = mutableListOf(1, 2, 3) // 에러 발생 addStringList(numbers) } 만약 위 코드가 에러가 발생하지 않을 경우 list에 의도하지.. 2023. 2. 18.
[해결] Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0 안드로이드 스튜디오 Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0. 해결하기 빌드를 했는데 발생 터미널에서 커맨드 라인을 실행했는데 발생 HTML 삽입 미리보기할 수 없는 소스 해결 방법 사실 해결 방법은 이미 안드로이드 스튜디오에서 제시하고 있다고 생각합니다. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. 즉, --warning-mode all 옵션을 줘서 gradle과 호환을 무시하고 실행하도록 해라 다음과 .. 2023. 2. 17.
안드로이드 코틀린 editText 자동 focus 막기 안드로이드 editText 자동 focus 막기 레이아웃 클릭시 editText에 자동으로 focus가 가는 현상을 막아본다 HTML 삽입 미리보기할 수 없는 소스 EditText는 기본적으로 자동으로 포커스(Focus)가 주어진다. 그래서 EditText가 있는 창이 열리면 키보드가 자동으로 올라오게 된다. 애초에 키보드가 자동으로 올라오게 하고 싶으면 그냥 원래 그대로 사용하면 되는데 경우에 따라 자동 포커스를 막아야 할 때가 있다. 이 현상을 막으려면 xml 코드에 딱 2줄만 추가해주면 된다. android:focusable="true" android:focusableInTouchMode="true" 어디에 추가하느냐? 일반적으로는 상위 레이아웃에 추가한다. 아니면 다른 데 원하는 곳에 추가해도 된.. 2023. 2. 14.
안드로이드 OutOfMemoryError: Java heap space 오류 해결 방법 안드로이드 OutOfMemoryError: Java heap space 오류 해결 방법 OutOfMemoryError: Java heap space 발생 원인 OutOfMemoryError: Java heap space 문제 해결 방법 HTML 삽입 미리보기할 수 없는 소스 OutOfMemoryError: Java heap space 발생 원인 일반적으로 개인 프로젝트를 할 때는 자주 만나기 힘든 에러이다 그 이유는 Heap 영역의 공간이 부족해서 발생하는데 프로젝트 내에 큰 파일(Res, Raw)이 있을 때 발생한다 그렇기 때문에 해당 파일들을 최적화 하던가 해서 해결하는 방법도 있지만 시간도 오래 걸리고 해야할 일도 많기 때문에 쉽지 않다 하지만, Heap 영역을 늘려서 해결하는 방법이 있는데 해당 .. 2023. 2. 4.