본문 바로가기

Android5

[Android] Compose를 활용한 Collapsing Toolbar Scaffold 제작기 ✏️ 안드로이드 Compose 기반의Collapsing Toolbar Scaffold 제작기 현재 회사에서 서비스중인 앱 중 일부를 기존 명령형 UI 방식인 View에서, Compose 기반으로 변경하게 되었습니다. 그러던 도중 아래와 같이 View 시스템의 CoordinatorLayout을 이용하여 Collapsing Toolbar와 TabRow 및 ViewPager2가 구현된 곳을 발견하였고, 이를 Compose에서 어떻게 구현할 것인지 고민이 되었습니다. Compose에서는 CoordinatorLayout이 없으며, CollapsingToolbarLayout 또한 없기에 한번 직접 구현해보기로 하였습니다. 구현해야 할 사항을 나열하면 아래와 같습니다. 아래로 스크롤 시, 헤더 영역(게임 주요 정보).. 2023. 7. 23.
[2023 GDG Android Korea] Retrofit2 대신 Ktor는 어떠신가요? 토요일 아침 안드로이드 개발자 컨퍼런스 Super init 4기에 참여하기 위해 서울로 향했습니다. 이 날 행사장 내부가 거의 찰 정도로 인원이 많이 모인 것을 볼 수 있었습니다. 연령대도 20부터 30대까지 다양한 모습을 보니 색달랐습니다 ㅎㅎ 행사는 총 6개의 부로 나뉘어 있었습니다 안드로이드 주니어, 시작점에 서기까지 / 임준섭님 API 통신, Retrofit 대신 Ktor 어떠신가요? / 유광무님 선언형 UI가 대세임을 "선언"합니다. (Compose 학습부터 적용까지의 일대기) / 이현우님 지라 자동화 어디까지 가능할까요? / 이하나님 개발자의 글쓰기 - 우당탕탕 Design Document 작성기 / 정세희님 인생게임 - ver. 모바일개발자 / 손예진님 이 중 눈에 가장 띄었던 Ktor에 대.. 2023. 4. 12.
[Kotlin][Android] Compose에서 Flow 활용하기 Subject 반응형 프로그래밍을 Kotlin에서 구현할 때, 사용하는 라이브러리 중 대표적인 것으로 Flow가 있습니다. 이번 파트에서는 Flow의 구조와 Android에서의 기본적인 사용 방법에 대해 기록하고자 합니다. 또한 Xml을 위한 DataBinding의 KSP 미지원 등의 제약이 생김에 따라 추세에 맞추어 권장사항인 Compose를 기반하여 작성합니다. Kotlin Flow Flow는 Coroutine을 기반으로 동작하는 비동기 데이터 스트림입니다. Flow는 Sequence(Collection의 상위 클래스)를 생성하는 Iterator(Collection에 저장된 요소를 순회하기 위한 인터페이스)와 비슷하지만, Suspend(정지 함수)를 사용하여 비동기적으로 생성하고 소비합니다. 이로인해.. 2023. 3. 15.
[Android] Kotlin android extensions에서 View binding으로 전환 오늘에서야 Kotlin 1.7.21을 떠나보내고, 성능이 개선된 1.8.0으로 업그레이드하려던 찰나 Kotlin android extension 플러그인을 더 이상 지원하지않는다는 에러가 나에게 찾아왔다. The 'kotlin-android-extensions' Gradle plugin is no longer supported. Please use this migration guide (https://goo.gle/kotlin-android-extensions-deprecation) to start working with View Binding (https://developer.android.com/topic/libraries/view-binding) and the 'kotlin-parcelize' pl.. 2023. 3. 8.
[Android Compose] 컴포즈 캠프 굿즈 수령후기 안드로이드 굿즈 모습 배지도 앙증맞고 부직포 가방도 안드로이드를 큼직하게 박아놔서 마음에 드네요! 머그컵은 회사에 가져가서 쓰려다가 얼음 넣기 크기가 널찍한 게 마음에 들어서 집에서 자주 쓸 듯합니다. ⓒ 굿햄 2022. daryeou@gmail.com all rights reserved. 2023. 1. 19.