2025/04 5

Android Module & Multi-Module

안녕하세요 오늘은 Android 개발에서 프로젝트를 체계적으로 관리하기 위해 꼭 알아야 할 개념, Module과 Multi-Module에 대해 알아보겠습니다.ModuleModule은 하나의 독립적인 코드 단위이다.모듈은 독자적인 build.gradle.kts 파일을 가지고 있고, 독립적으로 빌드하거나 테스트할 수 있다.Application Module: 최종 앱 실행용 모듈 (com.android.application)Library Module: 코드나 리소스를 제공하는 모듈 (com.android.library)Java/Kotlin Library Module: 안드로이드 의존성이 없는 Java 또는 Kotlin 기반 모듈Module 만드는 법new -> module을 누르고Templates에서 하나를 ..

android 2025.04.29

Android clickable

오늘은 Jetpack Compose에서 UI에 인터랙션을 부여할 때 자주 사용되는 도구, Modifier.clickable에 대해 알아보겠습니다.clickableclickable은 Jetpack Compose에서 UI 요소를 클릭할 수 있도록 만들어주는 Modifier이다.Modifier.clickable { // 클릭되었을 때 실행할 코드}이렇게 Modifier에 clickable을 붙이면, 해당 요소는 터치 이벤트를 받을 수 있는 상태가 되며, 사용자가 해당 요소를 누르면 onClick 람다가 호출된다.기본 동작과 특징Ripple 효과 제공머터리얼 디자인의 터치 피드백인 Ripple 효과가 기본으로 적용된다.접근성 자동 지원클릭 가능한 요소로 인식되기 때문에, 스크린 리더 등 접근성 기능과 자연..

android 2025.04.25

Android build-logic

오늘은 안드로이드 프로젝트의 빌드 관리를 더 효율적으로 만들어주는 핵심 도구, build-logic에 대해 알아보겠습니다build-logic이란?공통된 빌드 설정을 한 곳에 모아 플러그인 형태로 정의하고,각 모듈에서 간단하게 재사용할 수 있도록 만든 구조build-logic을 사용하는 이유반복되는 설정을 제거해 코드 간결하게 해준다.설정 일관성있게 유지해서 버그 감소시킨다모듈 추가 시 빠르고 쉽게 설정 가능하다.빌드 스크립트 가독성 향상된다.프로젝트 구조 예시root/├── build-logic/│ └── convention/│ ├── build.gradle.kts│ └── src/main/java/com/school_of_company/convention/│ ..

android 2025.04.14

Android Okhttp

오늘은 Android 앱 개발 시 자주 쓰이는 HTTP 통신 라이브러리, 바로 OkHttp에 대해 정리해보려 합니다.OkhttpOkHttp는 Square에서 만든 HTTP 클라이언트 라이브러리이다. Retrofit도 내부적으로 OkHttp를 사용하고 있을 정도로 핵심적인 라이브러리이다.Okhttp의 장점간편한 사용법.OkHttp는 복잡한 설정 없이도 바로 HTTP 요청을 보낼 수 있다.비동기 요청 지원.기본적으로 비동기 방식인 enqueue()를 제공하기 때문에 네트워크 요청으로 인해 UI가 멈추는 문제를 방지할 수 있다.인터셉터를 통한 요청/응답 제어.인터셉터를 활용하면 요청 전에 헤더를 추가하거나 응답 후 공통 처리를 하는 등 전처리/후처리를 자유롭게 설정할 수 있다.로깅과 디버깅 용이하다.HttpL..

android 2025.04.08

Android Interceptor

오늘은 안드로이드 네트워크 통신의 핵심 도구, Android OkHttp Interceptor를 알아보겠습니다.Interceptor?Interceptor는 클라이언트와 서버 사이에서 HTTP 요청/응답을 가로채서 처리할 수 있는 중간층을 의미한다. Interceptor를 활용하면 요청을 수정하거나, 인증 토큰을 추가하고, 응답을 변형하는 등의 작업을 수행할 수 있다.Interceptor의 2가지Application Interceptor : Application Code(우리가 작성한 코드) 와 OkHttp Core Library 사이에 추가된 Interceptor.이런 Application Interceptor들은 addInterceptor()를 이용한다.val client = OkHttpClient.B..

android 2025.04.01