Android 12

[Android] 가볍게 시작하는 Android Task

이전에 fragment Manager에 대해 알아보면서 간단하게 백 스택 구조에 대해 알아본 적이 있다. https://androidhelper.tistory.com/28 [Android] Fragment Manager, Basic 편일반적으로 운영 애플리케이션 담당 업무를 하게 되면,페이지 이동 같은 작업은 기존에 설계되어 있는 방식 따르면 되었기 때문에이 부분에 대해 신경을 잘 쓰지 않게 되었고, 따로 공부할 계기androidhelper.tistory.com 이때 간단하게 백 스택에 대해 알아보았는데, 오늘 이 백 스택과 일부 관련된 Task에 대해 한번 가볍게 더 알아보기로 하였다.ㅎㅎ 사실 담당하는 프로젝트가 다중 task를 생성하는데 이 부분이 꼬인 버그가 발견된 게 계기가 되었.. Task ..

Android/학습 2026.05.30

[Android] 실전 예제로 보는 MVP Pattern의 장단점

회사에서 프로젝트 팀이 병합됐다.그리고 병합된 프로젝트는 Android 역사를 함께하며, MVP의 Presenter와 ViewModel이 공존하였다.신생 프로젝트에서 MVI로 Compose를 갈기던 입장에서 위기감을 느끼고 안드로이드 역사 공부를 다시 하기로 했다. MVP(Model-View-Presenter) Android 앱을 개발하다 보면 “UI 코드와 비즈니스 로직이 뒤섞이는 문제”를 자주 겪게 된다.이 문제를 해결하기 위해 등장한 대표적인 구조 중 하나가 바로 MVP(Model–View–Presenter) 패턴이다.MVP는 역할을 명확히 나눠서 코드의 가독성, 유지보수성, 테스트 용이성을 높이는 데 목적이 있다.ModelModel은 애플리케이션의 데이터와 비즈니스 로직을 담당하는 계층이다.API..

Android/학습 2026.04.12

[Android] Android 16 (target SDK 36) 대응

이전 버전인 Android 15 대응 날짜를 살펴보면, 아마 Google Play의 기존 앱 Android 16(API 36) 이상 target 대응은 2026년 11월쯤으로 예상된다. Android 15(API 수준 35) 대응은 새 앱 기준 2025년 8월, 기존 앱 기준 2025년 11월로 안내되었다. (관련 출처 페이지)Android 17(API 수준 37)도 나온 마당에 정말 얼마 남지는 않았을 것이다.Android 17을 대상으로 하는 앱대형 화면(sw>=600dp)에서 화면 방향, 크기 조절 가능성 및 화면 비율 제약 조건을 무시하도록 플랫폼 API가 변경되었습니다.개발자는 SDK 36에서 이러한 변경 사항을 적용하지 않도록 선택할 수 있지만, Android 17 이상을 대상으로 하는 앱에서..

Android/학습 2026.03.14

[Android] targetSdk와 compileSdk의 차이, 그에 따른 영향.

android application을 개발하다 보면,특히 앱 서비스를 운영하다 보면 버전 대응을 하게 된다. 조금만 더듬어 봐도, 분명 Android 15가 나온 지 얼마 안 되었던 것 같은데, 어느새 구글 스토어에서 "너네 앱이 Android 15로 타케팅 하지 않으면 스토어에서 내려버리겠다!"라고 협박받게 되어 부랴부랴 버전 대응을 하게 된 경험이 스쳐 지나간다. 미리미리 준비하면 좋겠지만, 기획과 운영을 치다 보면 분명 저 멀리서 홀홀 쳐다보던 신규 버전이 등에 칼을 들이대고 있다. 이제 곧 Android 16 대응도 슬슬 준비해야 하는 시즌이 되어 가는데,겸사겸사 Android의 target SDK와 compile SDK에 대해 정리해 보면 좋을 것 같다고 생각했다. comileSdk소스 코드를..

Android/학습 2026.02.22

[Android] 딥링크(deeplink) - App Link

웹링크가 사용자를 특정 웹 사이트로 이동시키듯이, 딥링크는 사용자를 특정 앱으로 이동시켜서 원하는 화면을 보여주거나, 사용자 액션을 유도한다. URI 스킴 방식 (Custom Scheme)해당 방식은 가장 오래되고 널리 사용되는 딥링크 유형이며, Android/iOS 두 곳 모두에서 사용이 가능하다.앱에 해당 URI Scheme을 등록하여 사용할 수 있으며, Android에서는 다음과 같이 등록할 수 있다. AndroidManifest.xml 참고로 커스텀 스킴의 형식은 다음과 같이 앱 스킴, 호스트, 패스(Path), 파라미터로 구성되어 있다. 앱 스킴(App Scheme)은 이동하고 싶은 앱을 특정,패스(Path)는 앱에서 들어가고 싶은 페이지를 특정하는 역할을 수행한다...

Android/학습 2025.10.12

[Android] LiveData란 (vs StateFlow)

LiveData 란? 관찰 가능(observing)한 데이터 홀더 객체로,Activity, Fragment, Service 등의 앱 구성요소의 수명 주기(LifecycleOwner)를 인식한다. 그리고 수명 주기 인식을 통해 "활동 수명 주기 상태"에 있는 앱 구성요소 관찰자(observer)만 업데이트가 가능하다. LiveData의 이점관찰자(Observer) 패턴LiveData는 데이터가 변경될 때 Observer 객체에게 알리며, 이러한 관찰자 패턴으로 데이터가 변경될 때마다 UI를 자동으로 업데이트시킬 수 있다.생애 주기 인식LiveData의 Observer는 Lifecycle 객체와 결합되어 있어 연결된 생명주기가 종료되면 자동으로 삭제된다.관찰자 수명주기가 비활성화 상태(backstack 등..

Android/학습 2025.07.19

[Android] RecyclerView의 동작 과정

RecyclerViewAdapterLayout Manager 목록 UI를 설계할 때 개발자로는 기본적으로 이 3가지 요소로 RecyclerView 목록을 구현하고는 하는데,오늘은 목록의 동작 과정에 대해 좀 더 자세히 알아보도록 하자. 다음은 Recyclerview의 주요 구성요소에 대한 간단한 설명이다.RecyclerViewitemView가 나열되어 있는 viewGroup(ViewHolder 패턴을 강제화, 컴포넌트 패턴)Layout Manager목록의 개별 요소(ItemView)를 올바른 위치에 배치(정렬)해주는 컴포넌트 개별 항목의 위치를 정하며 사용자에게 더 이상 보이지 않는 항목 뷰(View)를 재사용할 시점을 결정한다.레이아웃 매니저(Layout Manager)는 View를 재사용하기 위해 ..

Android/학습 2025.05.16

[Android] Paging3의 PagingSource, PagingConfig와의 관계

목록형 UI를 구현할 때 개발자는 고려해야 할 것이 있다.만약 목록의 모든 데이터를 가져와 보여주려고 한다면 해당 페이지를 보여줄 때 엄청나게 많은 부하와 로딩 시간이 필요할 것이다. 그래서 개발자가 사용하는 기법은 사용자한테 보여주는 데이터 일부만을 가져와 부분 부분 보여주는 기법인데,컴퓨터에서 크롬과 같은 웹 페이지에서 1페이지 2페이지로 넘어가는 것과는 다르게 모바일에서는 폰을 그대로 스크롤하며 주르륵 뜨는 UX를 많이 경험했을 것이다. Paging 라이브러리는 로컬 저장소에서나 네트워크를 통해 대규모 데이터 세트의 데이터 페이지를 로드하고 표시할 수 있고, 앱에서 네트워크 대역폭과 시스템 리소스를 모두 더 효율적으로 사용할 수 있도록 구현된 라이브러리이다.Paging 라이브러리의 이점은 다음과 같..

Android/학습 2025.03.29

[Android] Fragment Manager, Basic 편

일반적으로 운영 애플리케이션 담당 업무를 하게 되면,페이지 이동 같은 작업은 기존에 설계되어 있는 방식 따르면 되었기 때문에이 부분에 대해 신경을 잘 쓰지 않게 되었고, 따로 공부할 계기 및 우선순위가 계속 늦춰지고 있었다. 하지만, 처음부터 완벽하게 만들어지면 좋겠지만 그렇지 않은 경우는 늘 존재하고우리 프로젝트도 이 부분에 대한버그 픽스와 리펙토링이라는 큰 백로그가 만들어지게 되었다. 현재 프로젝트에서는 FragmentManager를 관리하여 페이지 이동을 담당하는 Object Class가 존재하였고 엄연히 Activity의 생명주기에 의존적일 수밖에 없는 FragmentManager를 Object로 어디서든 접근하여 안전장치 없이 사용되는 로직은 실제로 운영에서도 Exception을 많이 일으키고 ..

Android/학습 2025.02.16

[일상] 2025 안드로이드 탐구 영역 - 2025학년도 개발능력시험 문제지 안드로이드탐구 영역

며칠 기다리던 우편이 있었다.그것은 바로바로 2025학년도 개발능력시험 문제지안드로이드 탐구 영역  GDG Korea Android에서 진행한 활동으로 수능, 모의고사 컨셉의 이벤트!5,900원의 응시료를 제출하고 참여할 수 있었다. 아니, 말차라떼 한번 안 먹는 돈으로 이런 이벤트?! 바로 진행시켜!   사실 자취하고 있는 곳이 근린생활시설이라, 우편함이 호실마다 있지 않고 층마다 있다.그래서 호옥시 우편물을 잃어버릴까 봐 조마조마했다.(지금도 주인을 알아볼 수 없는 우편물이 폭발 직전으로 꽂혀있다) 그런데 다행히 우편이 아닌 안전하게 택배로 배달되었다! 야호! 문자 메시지까지 발송 구성품안내문/준수사항 (총 2장)안드로이드탐구 영역 문제지 경우에 따라 사은품도 동봉되어 있다고 한다.운이 좋은 참여자는..

Android 2024.12.08