viewModel은 생성 시점이 중요함 onCreate가 호출되기 전에 viewModel초기화 해주면 안됨!lateinit val 로 초기화 늦추기by lazy로 초기화 늦추기viewModels() 확장함수 사용->의존성 추가 필요지연초기화로 viewModel을 생성하
layout: posttitle: "안드로이드 프래그먼트의 모든 것(Fragment, FragmentManager) - 1편"date: 2021-02-02 18:34:10 +0700categories: 안드로이드참고 자료Android Developer 도큐먼트 -
Framgnet의 공식문서를 읽고 분석한 1편을 잠깐 복습해보면프래그먼트를 호스트하는 Activity UI 레이아웃에 프래그먼트 컨테이너만 배치하는 방법으로 Activity를 호스팅할 경우, 컨테이너 위치에 프래그먼트를 추가/교체/삭제하는 작업을 프로그래밍적으로 할 수
안드로이드의 아키텍쳐 안드로이드 아키텍쳐를 알아보기 전, 안드로이드에서 권장하는 아키텍쳐 이야기를 잠깐 해보겠습니다 안드로이드에서 제공하는 라이브러리 모음집인 Android Jetpack을 이루는 4가지 컴포넌트 중 Architecture 컴포넌트로 분류되어있는 라이
리사이클러뷰는 사용자가 관리하는 많은 수의 데이터 집합(Data Set)을 개별 아이템 단위로 구성하여 화면에 출력하는 뷰그룹(ViewGroup)이며, 한 화면에 표시되기 힘든 많은 수의 데이터를 스크롤 가능한 리스트로 표시해주는 위젯리사이클러뷰는 기존에 리스트 형태의
Activity의 새 인스턴스를 시작: Intent를 멤버함수인 startActivity()로 전달하면 됨startActivity() 의 매개변수로 들어가는 intent는 새로 시작할 activity의 정보(데이터)가 담겨 있어야 함Activity가 완료되었을 때 결과
ViewPager는 콘텐츠가 있는 다양한 View를 스와이프하는 것을 제어할 수 있습니다ViewPager는 PagerAdapter를 상속해서 구현하도록 하는 Adapter패턴으로 이루어져 있습니다PagerAdapter는 추상 Class이므로 PagerAdapter를 상
공식문서를 보며 ViewPager를 공부하던 중 "PagerAdapter는 AdapterView에 사용되는 어댑터보다 일반적입니다"라는 문장을 봤습니다! AdapterView라는 걸 처음 봤는데 PagerAdapter와 같은 Adapter pattern과 밀접한 관련이
https://yk-coding-letter.tistory.com/30?category=857121중첩된 스크롤링에 NestedScrollView는 한 가지 주요 기능을 추가했는데, 이는 중첩된 컨텍스트 외부에서 흥미로운 기능을 만들 수도 있다. OnScrol
(위에서 파란색 화살표를 제외하고 읽어주세요!) RecyclerView가 유저와의 상호작용의 결과, 스크롤 알림을 Layout Manager에게 알린다고 설명했습니다. 알림을 받은 Layout Manager는 몇 번째 위치(=position)에 새로운 ItemView가
https://jaeryo2357.tistory.com/70https://medium.com/@bansooknam/android-recyclerview-%EC%9A%94%EC%95%BD-aaea4a9c95e7https://medium.com/
\[안드로이드 공식문서 파헤치기] ViewPager의 모든 것!에서 살펴본 것처럼 PagerAdapter를 상속한 FragmentPagerAdapter, FragmentStatePagerAdapter를 이용해 ViewPager를 구현할 때, 각 페이지의 item은 fr
안드로이드 프로젝트에서 RecyclerView를 사용할 때마다 ListAdapter,DiffUtil를 사용했습니다하지만 RecyclerView.Adapter의 notifyDataSetChanged는 모든 데이터를 변경하라는 의미이기 때문에 변경되지 않은 데이터도 변경시
Flow에 대해 공부하던 중 Flow와 LiveData를 비교하는 글들을 보게 되었습니다! Flow의 등장배경과 장단점에 대해 더 잘 이해하기 위해선 LiveData에 대해 지금보다 깊게 공부하고 완전히 제것으로 체화해야함을 느꼈습니다. 그래서 LiveData의 공식문
우리는 앞선 예시에서 UI Controller에서 LiveData 객체를 직접 참조하고 있었습니다. 그렇다면 UI Controller에서 LiveData객체의 값을 직접 변경하려면 어떻게 해야할까요?사실 이는 불가능하고 해서도 안됩니다. 안드로이드 권장 아키텍쳐 관점에