본문 바로가기

Repository

(5)
[배달의민족2] 클론코딩 - 4. 약관 상세 화면(Domain 레이어) 안녕하세요! 허접 샴푸입니다. 이번 편은 약관 상세 화면입니다. 글이 매우 길어지는 것 같아 Domain 레이어에 대해서만 먼저 설명하도록 하겠습니다. [만들고자 하는 화면] 1. 이용약관 화면 2. 과거 약관을 선택할 수 있는 하단 팝업 화면 [필요 사전 지식] 1. 안드로이드 2. 코틀린 * 일단 사전 지식이 없더라도 따라 만들면서 부족한 점은, 인터넷 찾아보면서, 학습하시면 됩니다. [내용] 1. ViewModel, ViewModelFactory 2. MVVM, MVI 디자인 패턴 3. ViewPager2 4. UI (Event + State), State Pattern 5. Flow, Observable Pattern 6. Fragment간 통신 7. Clean Architecture, Andro..
[배달의민족2] 클론코딩 - 3. 약관 상세 화면(Data 레이어) ㄹ안녕하세요! 허접 샴푸입니다. 이번 편은 약관 상세 화면입니다. 글이 매우 길어지는 것같아 Data 레이어에 대해서만 먼저 설명하도록 하겠습니다. [만들고자 하는 화면] 1. 이용약관 화면 2. 과거 약관을 선택할 수 있는 하단 팝업 화면 [필요 사전 지식] 1. 안드로이드 2. 코틀린 * 일단 사전 지식이 없더라도 따라 만들면서 부족한 점은, 인터넷 찾아보면서, 학습하시면 됩니다. [내용] 1. ViewModel, ViewModelFactory 2. MVVM, MVI 디자인 패턴 3. ViewPager2 4. UI (Event + State), State Pattern 5. Flow, Observable Pattern 6. Fragment간 통신 7. Clean Architecture, Android..
[배달의 민족] 따라만들기 10-3편 (Dagger-Hilt) 안녕하세요! 허접 샴푸입니다. 오늘은 Dagger-Hilt 3편입니다! 지난 포스트 (2편)에서 이어 나가겠습니다. 가장 먼저 기본적인 세팅을 끝났으니, 이제는 무엇을 모듈로 만들지를 정해야 합니다. 가장 먼저 저희는 Repository를 모듈로 만들고자 합니다. 1) RepositoryModule 생성 먼저 "di"라는 package를 생성 후 RepositoryModule 코틀린 파일을 만듭니다. (Object) 2) Dagger-Hilt 속성 작성 위와 같이 작성을 해줍니다. Module은 단순히 Dagger 그래프를 위해 @Module이라고 Annotation 작업을 한 클래스입니다. 모듈 안에서 의존성들을 @Provides Annotation과 함께 정의할 수 있습니다. Repository Pa..
[배달의 민족] 따라만들기 9편 (RecyclerView, ListAdapter, DIffCallback, Flexbox, Glide) 안녕하세요 허접 샴푸입니다~! 오랜만에 배달의 민족 따라 만들기 9편입니다! 이번 시간에 구현할 것은 아래 뭐 먹지 화면입니다. 물론 실제 배달의 민족 앱에서는 그림이 아닌 동영상이지만, 저는 동영상을 그림으로만 표시하였습니다. 동영상을 재생하기 위해서는 ExoPlayer을 사용해야 하는데 이는 추후에 다루도록 하겠습니다. 아래 화면을 구현하기 위해서는 RecyclerView + Adapter, Glide, Flexbox라고 생각됩니다. [START] 1. 뭐 먹지 리스트용 Fake 데이터이며 이에 맞는 Data class를 작성합니다. title, imageUrl, tags라는 String 변수들입니다. [예 - 왼쪽 그림을 예시로...] title : "캠핑한끼 리얼 까르보나라" imageUrl : ..
[배달의 민족] 따라만들기 8-2편 (Repository, ViewModel, MVVM) 안녕하세요 허접샴푸입니다~! 오랜만에 배달의 민족 따라 만들기 8편입니다! 이번 시간에 구현할 것은 안드로이드 앱 아키텍처 패턴의 일부인 Repository와 ViewModel을 작성해보겠습니다. Guide to app architecture https://developer.android.com/jetpack/docs/guide#common-principles 불러오는 중입니다... 위 문서를 보다 보면 제일 중요하게 봐야 할 것이 아래 그림입니다. Activity나 Fragment는 ViewModel에 의존하고 ViewModel은 Repository에 의존하고 Repository는 Room(Sqlite database library)이나 Retrofit 클래스와 같은 여러 다른 클래스에 의존합니다. 이..