프로젝트에 데이터바인딩을 적용 후 다음과 같은 에러가 발생했다. 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) 처음에는 gradle 문제인 줄 알고 gradle을 이것저것 바꿔보고, 구글링 해보니 room 문제라는 말도 있어서 room 파일들도 다시 한 번 살펴봤는데 오류가 해결되지 않았다. 그러다가 오류를 더 자세하게 확인해 아래 오..
프로젝트 리팩토링 진행 중 프래그먼트 연결 부분에서 다음과 같은 오류가 발생했다. java.lang.IllegalArgumentException: No view found for id 0x7f080056 for fragment MainFragment id=0x7f080056} at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:305) at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1185) at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1..
자바에서 int, String 등 자료형으로 변수를 선언했던 것과 달리 코틀린의 변수는 val과 var 키워드를 이용해 선언한다. val과 var의 차이와 사용법을 알아보자. //java int a = 1; String str = "Hello World"; //kotlin val a = 1 val str = "Hello World" 1. val과 var의 차이 val: read-only(읽기 전용) 변수. 자바의 final에 해당 var: variable(값을 바꿀 수 있는) 변수. 자바의 일반 변수에 해당 변수의 값이 변경되지 않아야 하는 경우 val을 이용하고, 값이 변경되어야 한다면 var을 이용해 변수를 선언한다. val로 변수를 선언해 놓고 변경해야 하는 경우 var로 바꾸는 방법을 사용하면 오..
문제 문제 출처 https://programmers.co.kr/learn/courses/30/lessons/43162 문제 설명 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution 함수를 작성하시오. 제한 사항 컴퓨터의 개수 n은 1 이상 200 이하인 자연수..
문제 문제 출처 https://programmers.co.kr/learn/courses/30/lessons/42890 문제 설명 프렌즈대학교 컴퓨터공학과 조교인 제이지는 네오 학과장님의 지시로, 학생들의 인적사항을 정리하는 업무를 담당하게 되었다. 그의 학부 시절 프로그래밍 경험을 되살려, 모든 인적사항을 데이터베이스에 넣기로 하였고, 이를 위해 정리를 하던 중에 후보키(Candidate Key)에 대한 고민이 필요하게 되었다. 후보키에 대한 내용이 잘 기억나지 않던 제이지는, 정확한 내용을 파악하기 위해 데이터베이스 관련 서적을 확인하여 아래와 같은 내용을 확인하였다. 관계 데이터베이스에서 릴레이션(Relation)의 튜플(Tuple)을 유일하게 식별할 수 있는 속성(Attribute) 또는 속성의 집..
문제 안드로이드 액티비티에서 Toast message를 띄우고자 할 때 코드에 문제가 없는데도 메시지가 뜨지 않는 문제가 발생했다. Toast.makeText(this, "toast test", Toast.LENGTH_SHORT).show() 디버깅을 통해 해당 코드를 실행하는 것까지 확인했는데 에뮬레이터에 메시지가 뜨지 않아 검색해본 결과 다음 방법으로 해결할 수 있었다. 해결 방법 Tools > AVD Manager에 들어가서 사용 중인 에뮬레이터의 데이터를 삭제한다. (Wipe Data) 결과 toast 메시지가 정상적으로 뜨는 것을 확인할 수 있다. 어떤 게 문제인지 이것저것 바꿔보면서 시간을 많이 썼는데 간단한 방법으로 해결되어서 허무했다. 참고 https://www.youtube.com/wat..
1. 클린 아키텍처란? 클린 아키텍처는 의존성 규칙을 따라 관심사를 분리하고, 본질적으로 테스트하기 쉬운 시스템을 만들 수 있는 아키텍처 구조이다. 클린 아키텍처를 적용하면 변화의 위치가 명확하기 때문에 생산성을 증대시킬 수 있고 변화에 더 잘 대응할 수 있다. 레이어의 가장 바깥 쪽이 사용자와의 접점에 있는 Presentation이고 가장 안쪽의 Entities가 사용자가 실제로 생각하는 개념 단위이다. 클린 아키텍처에서는 서버 쪽 내용이지만 안드로이드에도 이 원리를 적용시켜 UI를 독립시키고, Database를 분리시키고, 외부적인 설정에 독립적인 구조를 적용하면 프레임워크에 의존적이지 않은 코드를 짤 수 있다. 각 레이어의 역할 1) Entities 애플리케이션에서 핵심적인 기능인 Business ..
문제 문제 출처 https://programmers.co.kr/learn/courses/30/lessons/42578 문제 설명 스파이들은 매일 다른 옷을 조합하여 입어 자신을 위장합니다. 예를 들어 스파이가 가진 옷이 아래와 같고 오늘 스파이가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야 합니다. 종류이름 얼굴 동그란 안경, 검정 선글라스 상의 파란색 티셔츠 하의 청바지 겉옷 긴 코트 스파이가 가진 의상들이 담긴 2차원 배열 clothes가 주어질 때 서로 다른 옷의 조합의 수를 return 하도록 solution 함수를 작성해주세요. 제한 사항 clothes의 각 행은 [의상의 이름, 의상의 종류]로 이루어져 있습..
- Total
- Today
- Yesterday
- 우선순위큐
- MutableLiveData
- 변수
- programmers
- 라이브 데이터
- Android
- 알고리즘
- Naver AI Burning Day
- hilt
- Algorithm
- Kotlin
- 코틀린
- architectural pattern
- 프로그래머스
- 백준
- 아키텍처 패턴
- heap
- 힙
- livedata
- 후기
- gradle
- 안드로이드
- SCPC2021
- error
- 뷰모델
- java
- 자바
- BAEKJOON ONLINE JUDGE
- androidx.core
- viewmodel
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |