Android
-
MediaSessionService - Foreground 음악 재생Android 2024. 5. 23. 23:47
오픈소스인 compose-sample의 Jetcaster는 Android, Wear, TV 등의 다중 플랫폼에 Compose로 음악 플레이어 UI를 구현하는 방법을 제공하고 있는 프로젝트입니다. 현재는 음악 플레이어에 대한 UI만 구현되어 있고, 기능이 구현되어 있지 않아서 이를 구현하여 기여하고 싶었습니다. 이후 여러 플랫폼에서 플레이어를 제어할 수 있는 MediaSession을 구현하기로 결정했습니다. 구조기능 구현에 앞서, Jetcaster는 다중 플랫폼을 지원하기에 프로젝트가 Multi-module 환경으로 되어있습니다.이로 인해 먼저 아래와 같은 구조로 설계를 진행하였습니다.Media Module백그라운드 재생을 설정하려면 별도의 Service 내에 Player와 MediaSession을 ..
-
Compose와 Hilt 의존성 주입Android 2024. 5. 8. 19:37
이 글을 아래 포스팅을 기반으로 필요한 내용만 골라서 작성하였습니다. 자세한 내용은 아래 포스팅을 참고해주세요. Dependency Injection in ComposeLearn how Hilt provides and scopes dependencies in a traditional Android app and Compose changes our approach.medium.com Composable은 클래스가 아닌 간단한 함수로 구성되어 있어, 클래스 기반 의존성 주입 패턴을 사용할 수 없습니다. Composable은 인스턴스화되지 않고 상태를 저장하지 않으며(Stateless), 주로 재사용 가능한 UI 로직을 제공합니다. 그러므로 Composable은 생성자 주입이나 멤버 주입을 사용할 수 없고, ..
-
Compose - Strong skipping modeAndroid 2024. 4. 26. 20:28
이 글은 아래 포스팅을 기반으로 필요한 내용만 골라 작성하였습니다. 자세한 내용은 아래 포스팅을 참고해 주세요. Jetpack Compose: Strong Skipping Mode ExplainedStrong skipping mode changes the rules for what composables can skip recomposition and should greatly reduce recomposition.medium.com ‘Strong skipping mode’는 ‘Compose Compiler 1.5.4’ 이상에서 실험적으로 추가된 기능 중 하나이며, Composable이 ReComposition을 건너뛸 수 있는 조건을 변경함으로써 unstable 파라미터를 가진 Composable의 Re..
-
Android Compose - Composable Component API GuidelineAndroid 2024. 2. 29. 20:40
다음의 글을 안드로이드 개발자 입장에서 생각하면서 번역했습니다. 본문과 다를 수 있습니다. API Guidelines for components in Jetpack ComposeAPI Guidelines for @Composable components in Jetpack Compose Last updated: July 19, 2023 Set of guidelines and recommendations for building scalable and user-friendly @Composable components. The requirement level of each of these guidelines is specified usandroid.googlesource.comBefore you create a..
-
Android Compose - API GuideLineAndroid 2024. 2. 28. 22:34
다음의 글을 안드로이드 개발자 입장에서 생각하면서 번역했습니다. 본문과 다를 수 있습니다. API Guidelines for Jetpack ComposeAPI Guidelines for Jetpack Compose Last updated: March 10, 2021 Who this document is for The Compose API guidelines outline the patterns, best practices and prescriptive style guidelines for writing idiomatic Jetpack Compose APIs. As Jetpack Compose code iandroid.googlesource.comKotlin StyleBaseline style guidel..
-
Android Standby BucketAndroid 2022. 7. 1. 13:56
Android 9(API 28) 이상에서 앱 대기 버킷 지원 앱 대기 버킷은 최근에 사용자가 앱을 얼마나 자주 사용하였는지에 따라 앱의 리소스 요청 순위를 시스템이 지정하는데 판별함 앱 사용 패턴은 5가지 우선 순위 버킷 중 하나에 배치됨 시스템은 앱이 존재하는 버킷에 따라 각 앱에서 사용할 수 있는 기기 리소스를 제한함 Priority Bucket 시스템은 각 앱을 우선 순위 버킷에 동적으로 할당한 뒤, 필요에 따라 앱을 우선순위 버킷에 재할당을 한다. 시스템은 머신러닝을 통하여 각 앱이 사용될 가능성을 예상하여 결정하고, 머신러닝의 경우 적절한 버킷에 앱을 할당하기 위해 사전 로드된 앱을 참고할 수 있다. 현재 시스템에 로드된 앱이 없으면 시스템은 기본적으로 최근에 사용한 시간을 기준으로 앱을 정렬한..
-
Component - ServiceAndroid 2021. 10. 24. 18:15
Service 역할 Service는 Application이 Background 상태에서 계속 실행하기 위한 다목적 진입점이다. 간단히 Application이 Background에서 실행해야 하는 작업을 위한 Component라고 할 수 있다. Activity와 다르게 UI를 제공하지 않는 Component이다. 이에따라 UI가 없기에 Background에서 오랜 시간 동안 작업을 수행하거나 Remote Process를 위한 작업을 수행한다. 위 항목에 대한 내용을 풀어보자. Service는 Application이 Background 상태에서 계속 실행하기 위한 목적을 가지고 있는데 이는 다시 말해 한번 시작된 Service는 작업이 완료될때 까지 시작된 Service를 계속 실행하도록 System에게 지..