[DI,Android] Dagger2, Hilt 없이 의존성 주입 사용해보기
스터디 목적 DI의 원리를 이해하기 위해서 Dagger2와 Hilt 같은 의존성 라이브러리 없이 로그인 플로우를 구현하는 방식을 배운다. 의존성 라이브러리를 사용하지 않고 구현했을 경우, 차이점과 필요성을 알 수 있다. 우선 프로젝트 구조는 아래와 같다. [ Login Activity ] - > [ Login ViewModel ] - > [ UserRepository ] - > [ UserLocalDataSource ] - > [ UserRemoteDataSource ] - > [ Retrofit ] Login Activity에서 사용자가 데이터에 접근하면, Login ViewModel에 접근할 수 있다. Login Viewmodel은 userRepository를 생성해서 기능을 사용하게 되는데, use..
- [Android] Architecture/[Android] DI
- · 2023. 7. 25.
![[Android] Jetpack Compose (3)](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/cgjYMZ/btsoTnwTEWx/zVW7k5ryRf1MNKPpDVa7s1/img.jpg)
[Android] Jetpack Compose (3)
https://developer.android.com/codelabs/jetpack-compose-migration?hl=ko#0 마지막으로 Compose를 활용해서 리스트 목록과 애니메이션을 추가하는 기능을 알아봤다. Jetpack Compose에서는 리싸이클러뷰처럼 어댑터와 레이아웃을 작성할 필요가 없다. LazyColumn, LazyRow, LazyVerticalGrid 처럼 Composable 함수를 사용해서 작성한다. Compose 함수로 UI를 구성할 때, Ui 상태를 저장하기 위해서 메시지 확장을 추적해야 한다. 이 추적 기능을 구현하기 위해서 remember와 mutableStateOf 함수를 사용해야 한다. Message Card 생성 리스트 뷰의 각 아이템에 애니메이션을 적용하고, 아이..
- [Android] Tech,Study/[Android] Compose
- · 2023. 7. 25.
![[Android, Kotlin] 댓글, 답글 기능 구성하기 +Swipe 메뉴로 댓글 삭제, 추가 기능 구현 [2]](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/bmRd2c/btsg3VCUyKD/Yrv4EZ6KRHTjPKSYIYSra0/img.png)
[Android, Kotlin] 댓글, 답글 기능 구성하기 +Swipe 메뉴로 댓글 삭제, 추가 기능 구현 [2]
https://jinudmjournal.tistory.com/115 [Android, Kotlin] 댓글, 답글 기능 구성하기 +Swipe 메뉴로 댓글 삭제, 추가 기능 구현 [1] Comment + Child Comment 댓글 기능과 답글 기능을 구현할 때 depth를 우선적으로 생각해야 한다. 댓글의 답글의 답글을 어디까지 달 수 있는지 설정해야 하며, depth가 2인 경우를 일반적으로 한다. 댓글 jinudmjournal.tistory.com 위 포스팅에 이은 두번째 글입니다. addData, addChildData - 데이터 추가 댓글과 답글 리스트를 보여주는 기능 후에 데이터를 추가하는 기능을 작성했다. 부모가 없는 댓글을 다는 경우에는 단순히 리스트의 가장 마지막에 데이터를 추가하면 된다...
- [Android] Tech,Study/[Android] Custom
- · 2023. 5. 23.
![[Android, Kotlin] 댓글, 답글 기능 구성하기 +Swipe 메뉴로 댓글 삭제, 추가 기능 구현 [1]](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/caeXnI/btsg8cRwf6L/kLEYK9GOqVcKymTfukkiK0/img.png)
[Android, Kotlin] 댓글, 답글 기능 구성하기 +Swipe 메뉴로 댓글 삭제, 추가 기능 구현 [1]
Comment + Child Comment 댓글 기능과 답글 기능을 구현할 때 depth를 우선적으로 생각해야 한다. 댓글의 답글의 답글을 어디까지 달 수 있는지 설정해야 하며, depth가 2인 경우를 일반적으로 한다. 댓글과 그 댓글의 답글 까지의 깊이를 허용하며, 이를 리싸이클러 뷰로 구현하는 코드를 프로젝트에 적용했다. 레벨 2까지의 트리 구조처럼 댓글을 구성해야하며, 각 노드(댓글)의 상위 노드에 대한 정보를 저장해야 한다. class Comment( val commentId: Int, var reviewInfo: ReviewInComment, var userInfo: UserInfo?, var body: String, var likeCount : Int = 0, val parentComment..
- [Android] Tech,Study/[Android] Custom
- · 2023. 5. 23.
![[Android, Kotlin] RecyclerView에서 Swipe Menu 구현하기, Delete 메뉴 + Card View [3]](http://i1.daumcdn.net/thumb/C120x120/?fname=https://blog.kakaocdn.net/dn/xObQ8/btsgEgTRyCQ/dq6XsxR9jDugQvxIqAJru1/img.png)
[Android, Kotlin] RecyclerView에서 Swipe Menu 구현하기, Delete 메뉴 + Card View [3]
https://jinudmjournal.tistory.com/112 [Android, Kotlin] RecyclerView에서 Swipe Menu 구현하기, Delete 메뉴 + Card View [1] Swipe Menu with RecyclerView - 데이터 구성 리싸이클러 뷰 내부에서 item을 슬라이드할 때 DELETE 버튼이 나오도록 코드를 작성한다. 메시지 목록에서 슬라이드해서 메시지를 삭제하는 등에 사용되는 기 jinudmjournal.tistory.com https://jinudmjournal.tistory.com/113 [Android, Kotlin] RecyclerView에서 Swipe Menu 구현하기, Delete 메뉴 + Card View [2] https://jinudmjou..
- [Android] Tech,Study/[Android] Custom
- · 2023. 5. 20.
[Android, Kotlin] RecyclerView에서 Swipe Menu 구현하기, Delete 메뉴 + Card View [2]
https://jinudmjournal.tistory.com/112 [Android, Kotlin] RecyclerView에서 Swipe Menu 구현하기, Delete 메뉴 + Card View [1] Swipe Menu with RecyclerView 리싸이클러 뷰 내부에서 item을 슬라이드할 때 DELETE 버튼이 나오도록 코드를 작성한다. 메시지 목록에서 슬라이드해서 메시지를 삭제하는 등에 사용되는 기능이다. 일반적 jinudmjournal.tistory.com 위 포스팅에 이은 2번째 포스팅입니다. Swipe Menu with RecyclerView - ItemTouchHelper 사용 ItemTouchHelper는 RecyclerView에서 스와이프 및 드래그 앤 드롭을 지원하는 유틸리티 클..
- [Android] Tech,Study/[Android] Custom
- · 2023. 5. 20.