디씨 앱의 홈 화면임
안드로이드로 따지면 MainActivity 겠지?
그럼 이거에 맞는 ViewModel이 있을거임
class MainViewModel: ViewModel() 이렇게 해줬겠지
대부분의 예제들이 이녀석이 MVVM의 ViewModel 이라고 하는데 그렇지 않다
얜 그냥 MainActivity 가 생명주기 때문에 데이터관리가 힘드니까 ViewModel 라이브러리를 붙여서 만든 애인거고 여기서 모든 데이터 관리할 필요 없음
화면을 보면 검색 UI, 배너 UI, 힛갤 UI, 실베 UI가 있지?
그럼 이 UI 들 마다 따로따로 ViewModel을 만들어줘서 (ViewModel 상속 안받음)
class SearchViewModel
class BannerViewModel
class HitViewModel
class BestViewModel
만들어준 다음
class MainViewModel(
val searchViewModel,
val bannerViewModel
val hitViewModel,
val bestViewModel
): ViewModel()
로 주입시켜주면 되는거임
배너 UI같은건 자주 쓰일 수 있으니까 재활용이 될 수 있는거고
근데 현업에서도 저렇게 분리 안하고 MainViewModel에 다 때려박는 사람 많다 그 경우엔 MVVM의 ViewModel 역할도 하는거 맞음
지금 현직장도 그렇게 때려박은 사람들의 레거시 코드들이 산더미로 있음
그러니 그냥 대충 쓰면 됨
아이고 이렇게 글까지 감사합니다 선생님...흑흑... 제가 자바충이라그런데 그냥 액티비티 생명주기따르는 뷰모델하나 만들고 프래그먼트 뷰모델들 만들어서 안에 갔다박고 쓰는거란 뜻인거죠?? 그럼 액티비티 뷰모델을 통해서 프래그먼트 뷰모델들의 값들을 서로 공유할수있게되는 아주 기발한 방법인거네요 와우 시발 정말 박수가 절로나옵니다 이런생각을못했다니 역시시발갈길이
험난하고 험난하네요 시발 긴가민가한것들 확실히 알려주셔서 너무감사합니다 정말 몸둘바를모르겠는데 어떻게 글로 표현할수가없네요이시발너무사랑해요
흠 액티비티 뷰모델이 프래그먼트 뷰모델을 소유해도 되는지는 잘 모르겠다 프래그먼트가 살아있는데 액티비티에서 프래그먼트로 데이터를 넘겨본적이 없어서 ㅈㅅ
내가 말한 예제는 MainActivity 를 MainFragment 로 바꿔도 적용되는 예제임
아그리고 마지막으로.. 그럼 앱제작때 액티비티는 보통 몇개나 나오나요 생각해보면 그렇게 많이 필요해보이지가 않아보이는데 괜히 신경쓸거만 많아지고
그러네요 생명주기가 달라서 안될거같네요 빡대가린가봐요 시발 메인 프래그먼트 알겠습니다 선생님
구글은 1액티비티 N 프레그먼트 추천하던데 내가 이어 맡은 프로젝트들 코드보면 그냥 전혀 다른 페이지 일때마다 액티비티 만들어줬음
ex) 갤러리 액티비티에 글목록 프레그먼트 + 글 상세 프레그먼트, 검색 액티비티에 검색창 프레그먼트 + 검색 결과 프래그먼트
액티비티 개수에 관한건 왜 싱글 액티비티를 추천하는지 설명한 블로그 글 읽어보고 근데 취업해보면 싱글 액티비티 구조 보기 힘들거임
와 감사합니다 행님.. 지금 집들어가고있는데 봐보겠습니다 캄사합니다ㅠㅠ