728x90
반응형

android 12

[코루틴 (2)] 코루틴의 기초 API: suspend, launch, async

지난 1편에서 코루틴 탄생 배경과 기본 개념을 간단히 살펴보았습니다.이번 글에서는 코루틴의 기초 API를 좀 더 구체적으로 파악하고, 비동기 로직을 간결하게 작성할 수 있는 방법을 예제를 통해 알아보겠습니다.  핵심 키워드 • suspend 함수 • launch • async / await • runBlocking • CoroutineScope1. suspend 함수 복습하기 1.1 suspend란 무엇인가suspend는 코루틴 환경에서 “일시 중단 가능한 함수”를 의미합니다.내부적으로 비동기 I/O나 지연(Delay) 작업을 수행할 때, 스레드를 고정적으로 점유하지 않고 일시 중단(suspend)했다가, 필요한 시점에 다시 재개(resume)하여 계속 코드를 실행할 수 있게 해줍니다.suspend f..

코딩 2025.01.16

Gradle 빌드 속도 & 성능 최적화

이번 글에서는 Gradle 빌드 속도와 성능 최적화에 초점을 맞춰,실제 빌드 시간을 단축하고 개발 생산성을 높이는 다양한 팁을 공유하고자 합니다.1. Gradle 빌드 속도를 진단하는 방법 1.1 Gradle Console & Build Analyzer • Gradle Console • 안드로이드 스튜디오(AS) 하단의 ‘Gradle Console’를 살펴보면, 어떤 태스크(Task)가 몇 초 걸렸는지 기본적인 정보를 확인할 수 있습니다. • Build Analyzer • AS 메뉴에서 View → Tool Windows → Build로 이동하여 Build Analyzer를 열면, 어떤 플러그인이나 태스크가 빌드 시간을 가장 많이 소비하는지 시각적으로 파악할 수 있습니다. 1.2 Gradle Profil..

코딩 2025.01.13

안드로이드 빌드 시스템과 Gradle 기초

이번 글에서는 안드로이드 개발에서 핵심적인 역할을 하는 Gradle의 기초와, 앱이 빌드되는 기본 과정을 살펴보려고 합니다.“Gradle이 무엇이고, 어떻게 동작하는지”부터 “안드로이드 빌드 프로세스”의 큰 흐름까지 간단히 정리해보겠습니다.1. Gradle이란 무엇인가? 1.1 빌드 시스템의 역할 간단히 말해, 빌드 시스템은 소스 코드와 리소스 등을 모아 실행 파일(혹은 패키지)로 만들어주는 도구입니다.안드로이드에서의 최종 산출물은 APK(AAB) 형태가 되죠. • Android Gradle Plugin(AGP)은 안드로이드 앱 빌드를 위해 특별히 제공되는 플러그인입니다. • Gradle은 이러한 빌드 프로세스를 유연하고 확장성 높게 관리할 수 있게 돕습니다. 1.2 Gradle의 장점 1. 의존성(De..

코딩 2025.01.10

Compose 애니메이션, 퍼포먼스 & 테스트

1. Compose에서 애니메이션 다루기 1.1 기본 애니메이션 APIJetpack Compose는 애니메이션을 간단히 구현할 수 있는 여러 API를 제공한다. 대표적으로 animate*AsState 계열 함수가 있다.@Composablefun SimpleAnimation() { var expanded by remember { mutableStateOf(false) } val size by animateDpAsState(targetValue = if (expanded) 200.dp else 100.dp) Box( modifier = Modifier .size(size) .background(Color.Red) .cli..

코딩 2025.01.09

Compose Navigation & 아키텍처 컴포넌트 연동

1. 왜 Navigation이 중요한가?1.1 여러 화면 전환의 필수 요소실제 앱은 단일 화면으로만 구성되지 않는다. 회원가입 화면, 메인 화면, 설정 화면 등 다양한 화면을 이동하며 데이터를 전달할 필요가 있다. • 기존에는 Fragment나 Activity 간 전환을 위해 Intent, Bundle, FragmentManager 등을 주로 사용했다. • Jetpack Compose에서는 Navigation Compose 라이브러리를 통해 선언형(Declarative) 방식으로 화면 전환과 인자 전달을 처리할 수 있다. 1.2 Navigation Compose의 장점 • 코드의 간결화: NavHost, NavController 등 Compose 전용 API를 통해 화면 전환 로직을 직관적으로 작성 가능..

코딩 2025.01.06

추억을 소환하는 어드벤처 게임: 원숭이 섬으로의 귀환

어렸을 때의 추억은 우리가 성인이 된 후에도 특별한 감정을 불러일으킵니다.Return to Monkey Island(원숭이 섬으로의 귀환)은 어린 시절 많은 사랑을 받았던 The Secret of Monkey Island(원숭이섬의 비밀)의 후속작으로, 클래식 어드벤처 게임의 매력을 현대적인 방식으로 되살린 작품입니다.이번 포스트에서는 이 게임의 매력을 소개하고, 어린 시절 추억과 연결된 특별한 경험을 공유하고자 합니다.‘원숭이 섬으로의 귀환(Return to Monkey Island)’ 개요Return to Monkey Island는 Lucasfilm Games와 Ron Gilbert가 제작한 어드벤처 게임으로,1990년대 클래식 시리즈의 정통 후속작입니다.플레이어는 Guybrush Threepwood..

기타 2025.01.06

Material Design & 테마 커스터마이징

이번 글에서는 안드로이드 앱 전체 분위기를 좌우하는 Material Design과 테마(Theme) 커스터마이징에 대해 살펴보려고 한다. Compose에서는 MaterialTheme와 다양한 Material 컴포넌트(Button, TextField, Card, etc.)를 손쉽게 활용할 수 있는데,이를 통해 일관된 브랜드 아이덴티티와 UX를 구현하는 방법을 알아보자.1. Compose와 Material Design1.1 Material Design이란?Material Design은 구글에서 제안하는 디자인 시스템으로, 일관성 있는 UX와 UI를 구축하기 위해 색상, 타이포그래피, 레이아웃, 모션 등을 체계화한 개념이다. • Material 2 (고전적인 Material)과 Material 3 (Mater..

코딩 2025.01.05

Lumino City: 아름다운 종이 세상에서 펼쳐지는 퍼즐 어드벤처

이전 글에서 썼듯이 구글플레이패스를 구독중입니다.이런저런 유료게임들을 무료로 해볼수 있어 맛보고 있습니다.인상깊었던 게임들에 대해 가끔씩 소개해보고자 합니다.모바일 게임의 발전은 기술적인 측면뿐 아니라, 예술적 표현에서도 놀라운 성과를 이루고 있습니다.오늘 소개할 게임 Lumino City는 독특한 아트 스타일과 창의적인 퍼즐로 주목받는 어드벤처 게임입니다.이 게임은 단순한 재미를 넘어 하나의 예술 작품처럼 느껴지는 경험을 제공합니다. 게임의 기본 개요Lumino City는 State of Play Games에서 개발한 어드벤처 퍼즐 게임으로,플레이어는 주인공 루미(Lumi)가 실종된 할아버지를 찾아 떠나는 여정을 따라갑니다.이 게임의 가장 큰 특징은 게임 속 모든 환경이 실제 종이, 카드보드, 미니어처..

기타 2025.01.04

Compose 상태(State)와 Recomposition, Layout 기초

이번 포스트에서는 Compose에서 매우 중요한 개념인상태(State)와 Recomposition, 그리고 레이아웃(Layout) 기초에 대해 살펴본다.Compose가 선언형(Declarative) UI를 지향한다는 점을 제대로 이해하기 위해서는,상태 변화에 따른 UI 자동 갱신 과정을 익히는 것이 필수적이다.1. Compose의 상태(State) 개념1.1 선언형 UI와 상태 관리Jetpack Compose는 선언형 UI 패러다임을 따르기 때문에, 화면(UI)은 “현재 데이터 상태”를 토대로 자동으로 렌더링된다. • 예를 들어, @Composable 함수가 특정 값을 표시하고 있을 때, 그 값이 변경되면 별도의 코드(notifyDataSetChanged() 등)를 호출하지 않아도 UI가 자동으로 다시 ..

코딩 2025.01.03

Mini Metro: 단순하지만 중독성 있는 지하철 노선 설계 게임

현대인에게 지하철은 일상과 떼려야 뗄 수 없는 존재입니다.매일 이용하는 교통수단이지만, 그 복잡한 노선과 연결 방식을 직접 설계해본 적은 없을 것입니다.오늘 소개할 게임 Mini Metro는 바로 이러한 상상을 현실로 만들어주는 게임입니다.단순한 그래픽과 간단한 조작법으로 플레이어가 직접 지하철 노선을 설계하고 도시를 연결하는 독특한 경험을 제공합니다. 게임의 기본 개요Mini Metro는 인디 게임 개발사 Dinosaur Polo Club이 제작한 전략 퍼즐 게임입니다.플레이어는 도시의 지하철 네트워크를 설계하여 승객들을 빠르고 효율적으로 목적지로 이동시키는 것이 목표입니다.처음에는 단순한 노선으로 시작하지만, 시간이 지날수록 승객 수와 요구 사항이 늘어나며 복잡도가 높아집니다. 게임의 특징 1. 미니..

기타 2025.01.03
728x90
반응형