본문 바로가기

안드로이드14

서울의 미래를 바꾸는 청년, 새싹톤 해커톤을 마치고 글의 초안은 6월에 작성해놓았으나 회사 이직 후 미루고 미루다 후기를 작성하네요 다행히 사진과 문서로 기록해 놓은 것들이 있어 이를 토대로 작성하려합니다. Sba X goorm, 2023 새싹톤에 참여하기까지 올해 이직하기 전인 5월, 지인의 소개로 서울시와 구름에서 진행하는 해커톤에 참여하게 되었습니다. 이번 해커톤은 팀 별로 진행하기에 5명을 모아야했는데, 처음에는 지인의 팀에 합류하여 주제에 대해 토론하다가 인원이 조금씩 줄더니 접수 마지막날에 팀이 해체되었습니다. 다행히 팀을 구하지 못한 개인이여도 심사를 통해 선별하여 팀을 꾸려준다하여 그렇게 저희의 팀 프로젝트는 시작하게 되었습니다 우선 팀원으로 선별된 맴버는 기획 디자이너 백엔드 개발자 프론트앤드 개발자 안드로이드 개발자 으로 안드로이드 앱을.. 2024. 2. 5.
[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.
[안드로이드] 2023년 4월 정책 업데이트 Android의 2023년 4월 정책 업데이트 영상이 올라왔습니다. 주요 변경사항은 아래와 같습니다. Play store 새로운 데이터 보안 양식 답변 필요(2023년 12월까지) 사용자 탈퇴 앱, 웹 리소스 제공 앱을 제거한 사용자도 탈퇴할 수 있도록 합니다. Android 14 이상 타겟팅 시 포그라운드 서비스 제약 적용 사용자 리뷰를 통한 리워드 유도 금지 기존에도 존재하였으나 이번에 더욱 강화하는 듯 합니다. Target API 수준 최소 31 타겟팅 현재 운영하는 앱 서비스는 타겟 API외에 변경에 팔로업을 진행해야하는 상황이네요. 시대의 변화가 참 빠른 것 같습니다. 2023. 4. 10.
[Gradle] Kotlin Java toolchains(툴체인) 관련 오류 해결 방법, with AGP 8.1 며칠 전 안드로이드 컨퍼런스에서 지인분께 드린 카카오뱅크 과제 Repository가 빌드가 되지 않는다는 제보를 받았습니다. 제가 사용하는 환경에서는 정상적으로 빌드되는 것을 확인하여, Canary build인 Giraffe 버전을 사용하여 AGP 버전을 8.1.0-alpha9 이상 빌드 시 아래와 같은 오류가 발생함을 확인하였습니다. Caused by: org.gradle.api.GradleException: 'compileDebugJavaWithJavac' task (current target is 1.8) and 'kaptGenerateStubsDebugKotlin' task (current target is 17) jvm target compatibility should be set to the .. 2023. 4. 6.
[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.
모바일 앱 아키텍처 종류와 특징 (MVVM, MVC, MVP, MVI) 이번주 스터디 그룹의 주제는 디자인 패턴 중 앱 아키텍처 패턴으로, 대표적인 4가지 아키텍처에 대해 살펴보고자 합니다. 🔧 아키텍처 패턴(설계 패턴)이란 사전적 정의로 아키텍처 패턴은 공통적으로 자주 발생하는 문제를 해결하는 재사용 가능한 해결방법입니다. 이는 소프트웨어 아키텍처보다 큰 범주를 가집니다. 과거 UI를 가진 프로그램에서 데이터를 기반으로 화면에 렌더링 할 책임이나, 비즈니스 로직을 아까 말한 책임과 함께 묶는 방법에 대한 정의가 명확하지 않았습니다. 아키텍처 패턴은 이를 해결하기 위해 만들어진 디자인 패턴입니다. 🔧 모바일 앱 4대 아키텍처 아래 4가지는 현대 개발자가 주로 사용하는 아키텍처로, 밑에서 이들의 차이점을 설명하고자 합니다. MVC (Model-View-Controller) M.. 2023. 2. 15.
클린 아키텍처(Clean Architecture) 개념 및 원칙 개발이란 마치 여러 개의 기반이 되는 블록을 만들어 설계 원칙에 따라 조립하여 완성해 나아가는 과정이라고 생각합니다. 여기서 설계 원칙은 수 많은 디자인 패턴들을 의미하며, 이번 주는 아키텍처 패턴에 속하는 클린 아키텍처에 대해 알아보는 것으로 이번 주 스터디 그룹의 주제를 선정하였습니다. 화자는 실무에서 MVVM 패턴과 클린 아키텍처를 함께 사용 중이나, 이 둘에 대한 설명에 명확한 답변을 할 수 있을지 의문을 가져 이번 기회에 명확히 알아두고자 합니다. 클린 아키텍처를 사용해야 하는 이유 기원 엉클 밥(Robert C. Martin)은 애자일 방법론의 지지자이자, SOLID (객체지향 설계 원칙)의 창시자로 알려져 있습니다. 그는 'Clean code'와 'Clean architecture'등의 책의.. 2023. 2. 1.
[Android Compose] 컴포즈 캠프 굿즈 수령후기 안드로이드 굿즈 모습 배지도 앙증맞고 부직포 가방도 안드로이드를 큼직하게 박아놔서 마음에 드네요! 머그컵은 회사에 가져가서 쓰려다가 얼음 넣기 크기가 널찍한 게 마음에 들어서 집에서 자주 쓸 듯합니다. ⓒ 굿햄 2022. daryeou@gmail.com all rights reserved. 2023. 1. 19.
안드로이드 Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent 에러 해결방법 구글 AdMob관련 에러 AdMob 라이브러리를 포함한 상태로 컴파일 후 앱 실행 시 런타임 에러가 발생하는 경우가 있습니다. 이와 관련한 증상 및 해결방법 입니다. AdMob 라이브러리를 추가 후 Target Version을 SDK 31 이상으로 설정 후 앱을 런타임 실행하면 아래와 같은 에러로그를 볼 수 있습니다. 이에 대한 내용은 PendingIntent FLAG로 `FLAG_IMMUTABLE` 또는 `FLAG_MUTABLE`을 지정해줘야 한다는 내용인데, AdMob 20.4.0 버전 릴리즈를 보면 이와 관련한 버그 픽스 방법이 기재되어있습니다. https://developers.google.com/admob/android/rel-notes 릴리즈 노트 | Android | Google Develo.. 2023. 1. 4.