전체 글(368)
-
Android에서 파일을 관리할 때, MIME 타입은 무엇일까?
Android에서 멀티미디어 파일을 관리하다 보면 MIME 타입을 설정하는 게 나온다.평소에는 그저 단순하게 확장자 명을 따지는건가? 싶긴 했는데정확하게 어떤 개념인지 몰라 정리해봤다. MIME 타입이란?Android에서 MIME 타입이란 Multipurpose Internet Mail Extensions Type의 약자이다.파일이나 데이터의 형식을 나타내는 문자열을 의미한다. 일반적으로 콘텐츠의 유형을 식별하고, 이를 적절하게 애플리케이션과 연결하는 데에 사용된다. MIME 타입의 대표적인 종류파일 유형MIME 타입텍스트 파일text/plainHTML 파일text/htmlJSON 데이터application/json이미지 파일 PNGimage/pngJPEGimage/jpegGIFimage/gif비디오 ..
2025.02.05 -
Caused by: com.android.aaptcompiler.ResourceCompilationException: Failed to compile values resource file
🌟 들어가기 전앱에서 하드코딩 된 string을 전부 resources 파일로 고치는 작업을 하였는데,빌드하는 과정에서 오류가 발생했다.**Caused by: com.android.aaptcompiler.ResourceCompilationException: Failed to compile values resource file** 흔히 오류는 몇번째 줄에서 났는지 알려주면 그 부분만 체크하면 되는데이번 오류는 그냥 “빌드 오류나쪄~~~” 만 있으니까 찾아내기가 너무 답답… 이 경우에 체크해봐야 할 사항은 뭘까? 🔍 세부 내용특수문자를 체크하자나는 딱 values-en 을 빌드하는 과정에서 오류가 발생했다.하지만 리소스 형태도 그렇고 틀린 부분이 없었다.그렇다면 ‘영어’라는 특수성에서 시작된 문제일까? ..
2025.02.04 -
Android UI 관리하기 | 하드코딩 된 string을 모두 resource 파일로 옮기기
🌟 들어가기 전요즘 같은 국제적인 시대에 앱에서 다국어 처리는 매우 중요하다.strings.xml 리소스 파일을 통해 다들 다국어를 지원하고 있을 것이다. 하지만 개발을 하다보면 “나중에 해야지~” 하고 우선 큰 따옴표로 하드코딩 텍스트를 박아놓고 까먹은 경우가 있지 않을까?아니면 내가 신규로 맡은 앱에서 이전 개발자가 귀찮다는 이유로 리소스 관리를 하지 않은 경우도 있지 않을까? 그렇다면 나는 어떻게 하드코딩 된 string을 한번에 찾아낼 수 있을까? 🔍 세부 내용첫번째 방법. 전체 검색을 활용하자우리에겐 Ctrl+Shift+F 라는 전체 검색 기능이 존재한다. 하지만 단순 검색이 아니다.검색을 할 때도 정규표현식을 이용하여 검색하면 더 쉽게 검색할 수 있다.“.*” 라는 정규 표현식을 사용하면 ..
2025.02.04 -
Kotlin에서 launch와 async는 무엇이 다를까?
🌟 들어가기 전오늘은 launch와 async의 차이점에 대해 학습했다. 두 개 모두 코루틴을 실행할 때 사용되지만, launch는 결과를 반환하지 않고 단순 실행하는 반면,async는 값을 반환할 수 있다는 차이가 있다. 그동안 개발을 해오면서 두개의 차이를 정확하게 모르고 사용했다.그냥 예제 긁어서 복붙…. ㅠㅠ 그래서 파헤쳐본 launch와 async는 무엇이 다를까? 🔍 세부 내용1. launch vs async 차이점launch → 결과를 반환하지 않고, 단순히 새로운 코루틴을 실행async → 결과를 반환하는 Deferred 객체를 생성해서 await()로 값을 받을 수 있음2. 예제 코드import kotlinx.coroutines.*fun main() = runBlocking { ..
2025.02.03 -
KMP vs CMP
🌟 들어가기 전지난 번에는 Android와 iOS 모두 개발 가능한 KMP를 알아보았다.그런데 이건 UI를 각각 네이티브에 맞춰 따로 개발해야 하는 이슈 !!! 그럼 내가 SwiftUI를 다시 배워야 하냐구우~?!?!?!?!!! 그래서 그럴 필요가 없는 CMP를 체크 ✅ 🔍 세부 내용KMP (Kotlin Multiplatform)정의: Kotlin을 사용하여 여러 플랫폼(Android, iOS, JVM, JS 등)에서 동작하는 코드를 작성할 수 있도록 하는 기술.주요 특징:공유 코드: 비즈니스 로직, 네트워크, 데이터 레이어 등을 공통 모듈에서 구현 가능.각 플랫폼별 구현 가능: expect/actual 키워드를 사용해 플랫폼별 코드 작성 가능.UI 분리: 각각의 플랫폼에 맞춰 UI 제작CMP (Co..
2025.01.25 -
Kotlin Multiplatform (KMP)
🌟 들어가기 전하이브리드 앱 하면 흔히들 떠올리는 게 RN과 플러터일까?하지만 안드로이드에는 KMP가 있다 ~!! 심지어 KMP로는 android, ios 뿐만 아니라 서버까지 가능하다구!!!!!!그러면 대체 KMP는 무엇이란 말인가. 🔍 세부 내용Kotlin Multiplatform (KMP)Kotlin Multiplatform (KMP)는 JetBrains가 개발한 Kotlin 언어를 기반으로여러 플랫폼(Android, iOS, 웹, 데스크톱 등)에서 공통 코드를 작성하고 재사용 할 수 있도록 지원하는 기능이다.이를 통해 중복된 코드를 줄이고 생산성을 높이면서도 각 플랫폼의 고유한 기능을 활용할 수 있다.코드 공유: 비즈니스 로직, 데이터 처리, API 호출 등 플랫폼 간 중복된 코드를 통합.플랫..
2025.01.24