안드로이드 프로젝트를 멀티 모듈 구조로 변경하면서 build.gradle.kts 파일이 많아 관리가 힘든 문제 발생common.gradle파일을 사용해 공통되는 부분을 줄였지만, 여전히 파일을 하나하나 관리해야 함build-logic 모듈을 사용해 플러그인 형태로 관리
각 알림이 화면에 등장할 때 애니메이션으로 표시삭제 버튼을 누르면 퇴장 애니메이션 후 알림 제거알림을 삭제할 때 목록에서 바로 삭제하면 애니메이션 없이 삭제되버린다.삭제 애니메이션이 끝나 후 삭제하게 만들어야 함함목록에서 아이템을 id로 구별하고 애니메이션도 id를 기
로그인 기능을 구현할 때, 비밀번호나 민감한 데이터를 서버에 평문으로 전송하면 보안상 위험 이를 방지하기 위해 클라이언트에서 SHA-256 해시 함수를 이용한 암호화를 적용할 수 있음
osmdroid를 사용하여 지도에 커스텀 타일을 추가할 때, 기본 타일은 잘 보이지만 추가한 타일 오버레이가 일부만 보이는 현상 발생이는 타일은 다운로드되었지만, 실제 그리기 작업이 이루어지지 않았기 때문으로 보임임기본 타일 소스는 정상적으로 전체 영역 표시됨추가한 타
Jetpack Compose에서 LazyColumn이나 LazyRow를 사용할 때, 스크롤이 리스트의 시작 또는 끝에 도달했는지를 검사하는 코드LazyListState의 layoutInfo.visibleItemsInfo를 활용하여 현재 화면에 보이는 아이템 정보를 가져
홀로렌즈 2는 웹에서 실시간 스트리밍을 지원하는 API를 제공이 API를 활용하면 앱에서도 화면 미러링을 할 수 있음 본 글에서는 ExoPlayer를 이용해 미러링을 구현하는 방법을 소개Galaxy Tab S6 Lite, Galaxy Z Flip 4 Android A
Kotlin Multiplatform(KMP)의 데스크탑에서 화면 캡처 기능이 필요한 경우, Java AWT의 Robot 클래스를 활용하여 지정된 화면 영역을 이미지로 저장할 수 있다.캡처할 영역을 내가 지정해 줘야하는 문제점이 있음
Android Studio의 Gradle Tool Window에서 Gradle tasks가 보이지 않는 문제 발생Gradle tasks 조회는 무거운 작업이라 관련 설정이 비활성화되어 있으면 표시되지않음실험적 기능(Experimental Settings) 에서 해당 옵
Android Studio에서 앱을 실행할 때마다 Logcat 창을 수동으로 열어야 해서 번거롭습니다.실행/디버그 설정에서 Logcat 창을 자동으로 표시하도록 설정할 수 있습니다.실행 버튼 옆 톱니바퀴 아이콘 클릭 → Edit Configurations 선택 좌측에
🌮흐름 코틀린에서는 코드 흐름과 관련된 표현식이 있다. return: 값을 반환하고 함수를 종료 break: 가장 가까운 반복문을 종료 continue: 가장 가까운 반복문의 다음 단계 진행 🌮label 그리고 코틀린에는 c의 goto 같은 것이 있다. 다행히 c의 goto와 달리 반복문에만 사용할 수 있다. 🌮jump 일반적으로 goto는 코드...
🍕Default value Kotlin에서는 생성자에 기본 값을 설정할 수 있다. 🍕Hilt inject Hilt를 사용해서 의존성 주입을 하면 보통 다음 코드처럼 한다. 그런데 생성자에 다음과 같이 default value를 설정하려고 하면 오류가 발생한다. Hilt에서 String 타입으로 주입할 객체를 찾지 못해서 그런 거 같다. 🍦해결 ...