Intro
- 오늘은 RecyclerView와 ViewModel에 대해 살펴보는 시간을 가졌다.
- 아직까지 ViewModel은 어떻게 써야할지 감도 안온다는게 함정..
RecyclerView
- 우리의 소리를 찾아서 느낌으로 ListView를 구현해보고 왜 ViewHolder 패턴이 필요하게되었는지 맛보기로 만들어보는 시간을 가졌다. 그리고 ViewHolder 패턴을 적용하기전 속도를 보는데 앱이 그냥 죽어버리더라..(item 개수가 1000개였지만 TextView하나였는데..)
-자세한 내용은 여기에
ViewModel
- 음.. 일단 ViewModel은 앱에서 생명주기에 데이터가 영향을 받지않고 관리할 수 있게 만들어진것으로 이해하고있다. 대표적인 예가 ViewModel을 적용하지않은 앱에서 화면을 돌릴때 데이터가 초기화되는데 이게 무슨일일까? 를 많이 든다. 나도 구글공식문서에 있는 참고블로그 글들을 읽으면서 대략적인 감만 잡았다. ViewModel: 간단한 예
- 그 후 여러 유튜브 자료들을 보면서 도대체 ViewModel이 뭔지 파악하는 시간을 가졌다. 잘 못알아듣긴했지만 그래도 가장 명쾌하게 와닿았던 영상이 이거다.
- 그리고나서 실습을 해보려고했는데.. 일단 안드로이드에서 제공하는 샘플예제를 따라 만들려고하다보니 알아야 할 개념이 너무 쏟아져나오는 기분이었다. ViewModel에 LiveData에 Factory도 사용하고.. ListAdapter도 사용하는데 도통 뭘 하는건지 모르겠어서 일단 접고 다른 예제를 찾아서 어떻게든 만들어보려고 한다.
Outro
- 오늘에서야 확실하게 파악된것은 새로운 기술을 배우는 시기에 내가 접근하는 방법이 비효율적이라는것을 발견했다.
- 새로운 기술은 일단 이게뭐다정도의 간략한 개념정도만 숙지한 상태에서 컴팩트하고 심플하게 구현할 수 있는 예제를 따라치며 이것저것 만져봐야 개념이 조금씩 이해되는건데 내가 오늘까지 했던 방식은 사람들이 설명하는 개념들을 이곳저곳에서 보면서 처음부터 머리로 개념화하려고했던것이다. 공부방법에 정답은 없고, 지금 발견한 방법이 효율적이라고 할 수 있을지도 모르겠으나 적어도 머리에 숙지해놓고 만들려는 접근방법보다는 기술을 익히는데 훨씬 효율적이라는 생각이든다. 내일은 비효율적인 삽질대신 효율적인 삽질을하자 끗!