본문 바로가기

전체 글19

아키텍처와 MVVM https://obtainable-anaconda-c76.notion.site/MVVM-d1d2caf0127140eea31146a71655115e 2021. 11. 24.
Lifecycle-Aware Component Lifecycle은 안드로이드 개발에서 가장 중요하고 핵심이 되는 개념이라고 할 수 있다. 애플리케이션은 항상 lifecycle을 고려해야 하며, 그렇지 않으면 메모리 누수 또는 애플리케이션의 비정상 종료가 발생할 수 있다. Lifecycle-Aware Component 는 직역하면 생명주기 인식 컴포넌트를 의미하는데, 이는 말 그대로 lifecycle을 관찰하고 그에 따라서 동작하는 컴포넌트로 이해할 수 있다. 우리가 항상 당연하게 사용해왔던 lifecycle callback 도 이와 관련이 깊다. 우리는 당연하게 사용했던 개념을 가능하게 하는 원리는 무엇인지 한번 알아볼 필요가 있을 것이다. 모르고 쓰는 것과 알고 쓰는 것은 엄청난 차이니까 말이다. (내가 궁금하기도 했고) Lifecycle 가장 기.. 2021. 11. 7.
콜백 패턴 적용해보기 with MVP 네트워크 통신으로 가져온 데이터를 가지고 뷰를 갱신하는 예제를 만들어 보았다. 콜백 패턴은 MVP 뿐만 아니라 안드로이드 개발 전반에 걸쳐서 다양하게 활용할 수 있다. 비록 안드로이드 개발을 시작한지 얼마 되지 않았지만, 콜백 패턴을 사용했을 때 효과적이었던 상황들은 다음과 같다. 1. 특정 동작 이후에 수행될 내용을 동적으로 부여하고 싶을 때 다음에 수행할 내용을 콜백 형태로 인자로 준다면, 동적으로 수행할 수 있다. 재사용 측면에서도 좋겠지? 2. 특정 동작을 수행하기 위해서 다른 객체에 대한 참조가 필요한데, 객체를 참조하는 경우에 순환 참조가 발생하는 경우 이는 예시를 들면 더 기억하기 수월할 것 같다. Activity 에서 RecyclerView를 참조하고 있는 상황에서 RecyclerView .. 2021. 10. 2.
코틀린 표준 scope 함수 ( let, apply, with, also, run ) 예제 1 - 변수 할당 줄이기 let을 사용해서 불필요한 변수 할당을 줄여 메모리를 절약할 수 있다. 예제 2 - nullable 한 객체에서 let 사용하기 이렇게 let 과 세이프 콜, 앨비스 연산자를 활용하면 더 if 문 만큼 직관적이고, 간결한 코드를 작성할 수 있다. 무엇보다 자바보다 훨~~씬 멋있고 코틀린스러워서 좋다 ㅎㅎ😎 also는 this(T)를 리턴한다는 점이 포인트이다. 예제 1 let 과 also를 사용하여 코드를 한 줄로 표현할 수 있다. 표준함수에 익숙해지면 이 표현도 상당히 직관적일 것 같다. apply 메서드는 also 메서드와 매우 유사하지만 차이점이 존재한다. T.( ) 같은 표현에서도 알 수 있듯이 메서드의 매개변수로 주어지는 람다식이 T의 확장함수로 처리가 된다는 점이.. 2021. 9. 6.