공부40 안드로이드(Android) 생명주기(LifeCycle)에 관하여 이번에는 안드로이드(Android) 생명주기(LifeCycle)에 관하여 알아보겠습니다. 생명주기(LifeCycle)은 크게 Activity와 Fragment 각각 하여 총 2가지에 대해서 알아보겠습니다. 1. Activity *알아두면 좋은점 1. 불투명한 새로운 액티비티가 최상단으로 올라와서 기존 액티비티가 완전히 보이지 않게 되면 onPause()에 이어 onStop()까지 호출된다는 점. 불투명 새로운 액티비티가 최상단으로 올라오면 기존 액티비티는 사용자와 더 이상 상호작용을 할 수 없다. 포커스도 새로운 액티비티에 맞춰진다. 그렇기 때문에 onPause()에 이어 onStop()까지 호출되는 것이다. 2. 하지만 새로운 액티비티가 백그라운드 속성값이 투명한 경우는 onPause()까지만 호출이 .. 2021. 11. 18. LiveData에서 setValue() / postValue()의 차이점 오늘은 LiveData를 사용하다보면 한번쯤은 생각해보게될 setValue와 postValue에 대해서 알아보겠습니다. 처음에 둘의 차이점은 뭐길래 이렇게 안되고 오류나고 하는것인가 생각해보았었는데요 오늘 내용정리를 통해 한번 더 이해하는 시간을 가져보겠습니다. LiveData는 Android Architecture Components(AAC)에서 제공하는 라이브러리 중 하나 MVVM 패턴을 적용한다면 ViewModel, DataBinding과 함께 많이 사용하는 라이브러리입니다. LiveData는 Observer패턴을 따르며 데이터의 변경이 일어날 때 콜백을 받아 원하는 동작을 수행할 수 있다. LiveData는 값을 변경하게 해주는 함수가 바로 setValue()와 postValue() LiveDat.. 2021. 11. 18. 오버로딩(Overloading) / 오버라이딩(Overriding) 이번에는 java를 조금이나마 접하였다면 가장 기본적?으로 접하는 Overloading, Overriding에 대해서 알아보겠습니다. 용어가 비슷해서 이게 무슨뜻인가~ 헷갈릴 수 있지만! 한번 정확히 내용을 알고 접하면 문제가 없으니 천천히 따라오시면 되겠습니다. * 오버로딩(Overloading) 오버로딩은 한 클래스 내에서 같은 이름의 메소드를 여러개 정의하는 것을 의미 plus()라는 메소드가 있다면 plus(int a), plus(String str)등 메소드 이름은 같지만 호출되는 케이스에 따라 매개변수가 다른 메소드를 만드는 것을 의미합니다. 오버로딩의 조건 1. 오버로딩한 메소드들은 같은 클래스 내에 존재해야하며, 같은 이름을 가져야 함 2. 오버로딩한 메소드들은 형(type)이 서로 다르거.. 2021. 11. 18. 코루틴(coroutine)이란? 코틀린(Kotlin)의 코루틴(coroutine)이란? 코루틴의 coroutine에서 co(함께, 동시에)라는 의미를 가지고 있습니다. 즉 동시성 프로그래밍 개념을 Kotlin에 도입한것인 Coroutine이라고 합니다. 비동기적으로 실행이 되며, 기존 다중 스레드보다 더 효율적으로 동작 *코루틴 스코프 종류 -CoroutineScope: 사용자 지정(ex. 버튼을 눌러 다운로드 하거나 서버에서 이미지 열기 등, 필요할 때만 사용 및 종료할때 CoroutineScope사용) -GlobalScope: 앱의 생명주기와 함께 동작하기 때문에 실행도중 별도 생명주기 관리가 필요없음(실행~종료까지 긴기간 실행되는 스코프) -ViewModelScope: Jetpack 아키텍처의 뷰모델 컴포넌트 사용시 ViewMod.. 2021. 11. 18. 이전 1 ··· 5 6 7 8 9 10 다음