Android(91)
-
Android RecognitionListener로 음성 인식하기
Android에서 RecognitionListener는 SpeechRecognizer를 통해 음성 인식을 수행할 때,음성 인식 과정의 다양한 단계에서 발생하는 이벤트들을 수신하고 처리하기 위한 인터페이스이다.이를 통해 음성 인식의 흐름을 파악하고, 인식 결과를 활용하거나 오류 상황에 대처할 수 있다. 1. onReadyForSpeech(Bundle params)호출 시점: 음성 인식기가 사용자의 말을 들을 준비가 완료되었을 때.역할: "말씀하세요" 같은 UI 안내 표시, 마이크 아이콘 활성화 등.2. onBeginningOfSpeech()호출 시점: 사용자가 실제로 말을 시작한 것이 감지되었을 때.역할: "듣고 있어요..." 같은 UI 피드백, 녹음 애니메이션 시작 등.3. onEndOfSpeech()호..
2025.05.26 -
[삽질기] JDK 17.0.9에서 17.0.11로 올렸더니 Kapt가 말썽? 해결 방법 공유!
나는 JDK 17을 사용 중이었고, 새로운 프로젝트 파일을 받게 되었다.모든 세팅을 JDK 17로 맞춰놓고 빌드 시도 !!java.lang.IllegalAccessError: superclass access check failed: class org.jetbrains.kotlin.kapt3.base.javac.KaptJavaCompiler (in unnamed module @...) cannot access class com.sun.tools.javac.main.JavaCompiler (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.main to unnamed module @...응? 잠깐만…왜..
2025.05.23 -
Jetpack Compose에서 나만의 커스텀 테마 만들기
Step 1. 색상 정의 (Color.kt)import androidx.compose.ui.graphics.Colorobject AppColors { val PrimaryBlue = Color(0xFF01b9ff) val BackgroundGray = Color(0xfff7f7f7) val TextRed = Color(0xffff4b4b) val ButtonRed = Color(0xFFEDC9C9) val TextBlue = Color(0xff264d92) val ButtonBlue = Color(0xFFBCD6ED)}Step 2. 폰트 스타일 정의 (Typography.kt)import androidx.compose.material3.Typographyimport and..
2025.05.19 -
JCenter 종료와 Android 개발자의 대응법
내가 유지보수 하는 회사의 앱은 너무 오래된 앱이다. (약 10년...?)그러다보니 JCenter 시절 올라온 현재는 유지보수 되지 않는 라이브러리들이 너무 많다.이걸 다 리팩토링하자니 시간이 부족하기 때문에, 최대한 라이브러리를 살려 사용하는 방법을 설명하고자 한다. 1. JCenter란?JCenter는 JFrog에서 운영하던 Java 및 Android용 오픈소스 라이브러리 저장소로,jcenter()한 줄만으로 많은 라이브러리를 빠르게 가져올 수 있었기 때문에한때 Android 개발자들 사이에서 사실상 표준 저장소처럼 사용되었음.2. 왜 종료됐나?운영사 JFrog의 전략적 서비스 종료 결정 (2021년 발표, 2024년 8월 완전 종료)공식 사유는:비용 및 운영 리소스 부담Maven Central 등으..
2025.05.15 -
Google Play 사진 및 동영상 권한 정책 변경: 개발자가 알아야 할 모든 것 (2025년 5월 업데이트)
📌 변경 배경사용자 개인 정보 보호 강화를 위해, Google은 사진·동영상 파일 접근에 대한 정책을 강화했다.✅ 적용 기준1. 일회성 / 빈번하지 않은 사용READ_MEDIA_IMAGES, READ_MEDIA_VIDEO 권한 사용 불가Android 사진 선택 도구 사용 의무사용자가 직접 선택한 파일만 접근 가능전체 갤러리 접근 불가2. 핵심 기능에 해당하는 지속적 사용예: 채팅 앱에서 빈번한 사진/영상 전송 등Play Console에서 사용 사례 제출 → 승인 필요피상적 설명은 불승인, 구체적 사용 이유 필수🛠 대응 방법일회성 접근: 권한 삭제 + 사진 선택 도구 사용핵심 기능: 선언서 제출 + 승인을 받아야 권한 유지 가능⏰ 마감 기한2025년 5월 28일까지 반드시 정책 준수미준수 시 Googl..
2025.05.13 -
Android Compose 앱에서 발생한 오류: java.lang.NoSuchMethodError
1. 오류 내용앱 실행 시 다음과 같은 치명적인 런타임 오류가 발생:java.lang.NoSuchMethodError: No static method setContent$default(...)V in class Landroidx/activity/compose/ComponentActivityKt;1-1. 발생 환경Kotlin 2.0.21Compose Compiler 1.5.13org.jetbrains.kotlin.plugin.compose 플러그인 사용단일 모듈 구조 (멀티모듈 아님)2. 원인build.gradle.kts (app 모듈)에서 아래 설정 누락:buildFeatures { compose = true}해당 설정이 없으면 Compose 관련 코드가 컴파일조차 되지 않음.그로 인해 런타임 시 ..
2025.05.12