본문 바로가기

안드로이드47

[번역] UI Layer - 안드로이드 앱 아키텍처 1. 왜 앱 아키텍처 설계를 해야 할까? 2. UI 레이어가 하는 일 3. UI 레이어를 구현하는 방법 3-1. UI 상태를 정의하는 방법 3-2. UI 상태의 생산을 관리하는 방법 3-3. UDF 원칙에 따라 관찰 가능한 데이터 유형으로 UI 상태를 노출하는 방법 3-4. 관찰 가능한 UI 상태를 소비하는 UI를 구현하는 방법 이 글은 안드로이드 공식문서 중 "앱 아키텍처 학습 과정" 페이지를 공부하며 작성한 글입니다. 개인적인 생각이나 의견이 포함되어 있음을 알려드립니다. 1. 왜 앱 아키텍처 설계를 해야 할까? 건물을 지을 때 설계도를 그려야 올바른 구조를 잡을 수 있다. 만약 올바른 구조가 없다면 건물이 무너질 수 있다. 앱도 마찬가지다. 올바른 구조가 없다면 앱도 무너지기 마련이다. 그렇다면 앱.. 2022. 11. 11.
[이펙티브 코틀린] 1장. 안정성 1. 책을 열며 1-1. 책을 읽게 된 계기 1-2. 지은이의 말 2. 안정성 2-1. 가변성을 제한하라 2-2. 변수의 스코프를 최소화하라 2-3. 최대한 플랫폼 타입을 사용하지 말아라 2-4. 예외를 활용해 코드에 제한을 걸어라 2-5. 결과 부족이 발생할 경우 null과 Failure를 사용하라 2-6. 적절하게 null을 처리하라 1. 책을 열며 1-1. 책을 읽게 된 계기 회사에서 안드로이드 팀원분들과 스터디를 하기로 했다. (정확히는... 막내인 나를 위해 해 주시는 것 같다!) 컴포즈 스터디를 진행하게 될 뻔 했으나 기초에 먼저 충실하자는 의미로 코틀린을 먼저 스터디하게 되었다. 스터디하기로 한 책은 바로 이펙티브 코틀린! 1달~2달 정도안에 책을 다 읽고 매번 이렇게 정리해서 포스팅을 하기.. 2022. 11. 4.
[번역] 앱 아키텍처 가이드 - Android 공식 문서 1. 아키텍처 1-1. 아키텍처란 무엇일까? 1-2. 그렇다면 왜 아키텍처가 필요할까? 2. 아키텍처 설계 원칙 2-1. 관심사 분리 2-2. 데이터 모델에서 UI 도출하기 2-3. 단일 소스 저장소 2-4. 단방향 데이터 흐름 3. 권장 앱 아키텍처 3-1. UI 레이어 3-2. 데이터 레이어 3-3. 도메인 레이어 4. 안드로이드 아키텍처를 위해 추천하는 방법들 4-1. Layered architecture 4-2. UI Layer 4-3. ViewModel 4-4. Lifecycle 4-5. Handle dependencies 4-6. Testing 4-7. Models 4-8. Naming conventions 이 글은 안드로이드 공식문서 중 "앱 아키텍처 가이드" 페이지를 공부하며 작성한 글입니.. 2022. 11. 1.
Bottom Sheet Dialog 예제 : Modal, Persistent, 모서리 둥글게 등 1. Bottom Sheet Dialog 1-1. 개념 1-2. 종류와 차이 2. Modal Bottom Sheet 2-1. 기본 예제 2-2. 모서리가 둥근 예제 2-3. 버튼이 있는 예제 2-4. Modal 위에 텍스트 2-5. RadioButton 사용 예제 3. Persistent Bottom Sheet 3-1. 기본 예제 3-2. 활용 예제 4. 알아두면 좋은 정보 4-1. Expanding Bottom Sheet 4-2. UI/UX 5. 전체 코드 1. Bottom Sheet Dialog 1-1. 개념 앱을 사용하다 보면 위 사진처럼 아래에서 빼꼼하고 나오는 창이 있다. 화면 가운데에 뜨는 Dialog와 별도로 이 창의 정식 명칭은 Bottom Sheet Dialog이다. 개인적으로 앱 처음 .. 2022. 9. 14.
안드로이드 다이얼로그 만들기(Custom Dialog까지) 1. Dialog 1-1. 개념 1-2. 생명주기 2. 기본 Dialog 2-1. 텍스트만 2-2. 부정/긍정 버튼 2-3. 부정/긍정/중립 버튼 2-4. 리스트 2-5. 라디오 버튼 2-6. 체크박스 3. Custom Dialog 3-1. Dialog를 상속받는 방법 3-2. theme를 만드는 방법 4. 예제 링크 1. Dialog 1-1. 개념 다이얼로그는 사용자에게 결정을 내리거나 추가 정보를 입력하라는 메시지를 표시하는 작은 창이다. 보통 사용자가 다음으로 진행하기 전에 조치를 취해야 하는 모달 이벤트에 사용된다. 실제 사용 예시를 들자면 위 스크린샷처럼 앱 접속 시 뜨는 광고에도 쓰이고 뭔가를 삭제할 때 정말 삭제하시겠습니까? 처럼 의견을 물을 때도 쓰이고 사용처가 다양하다. 1-2. 생명주기.. 2022. 9. 9.