개발관련10 안드로이드(Android) 생명주기(LifeCycle)에 관하여 이번에는 안드로이드(Android) 생명주기(LifeCycle)에 관하여 알아보겠습니다. 생명주기(LifeCycle)은 크게 Activity와 Fragment 각각 하여 총 2가지에 대해서 알아보겠습니다. 1. Activity *알아두면 좋은점 1. 불투명한 새로운 액티비티가 최상단으로 올라와서 기존 액티비티가 완전히 보이지 않게 되면 onPause()에 이어 onStop()까지 호출된다는 점. 불투명 새로운 액티비티가 최상단으로 올라오면 기존 액티비티는 사용자와 더 이상 상호작용을 할 수 없다. 포커스도 새로운 액티비티에 맞춰진다. 그렇기 때문에 onPause()에 이어 onStop()까지 호출되는 것이다. 2. 하지만 새로운 액티비티가 백그라운드 속성값이 투명한 경우는 onPause()까지만 호출이 .. 2021. 11. 18. 데이터 바인딩 (DataBinding) 이란? 이번에는 데이터 바인딩(DataBinding)에 대해서 알아보겠습니다. DataBinding이란? 코틀린에서 레이아웃을, 레이아웃에서 코틀린의 데이터를 직접 참조하는 라이브러리. 코틀린에서 레이아웃 파일에 의존적인 부분이 많이 사라지고 MVVM등의 패턴과 함께 사용된다. 인드로이드에서 해당 view에 어떤 값을 변경하거나 그럴때 코드를 계속 작성해야 하는 번거로움 하지만 최근 디자인패턴과같이 코드를 서로 분리시키는 디자인패턴 중 하나인 MVVM에서는 View에 해당되는 코드를 xml에서 처리할 수 있기 때문에 View 자체에서 데이터 변경에 대한 동적 처리가 가능합니다. (ViewModel에 데이터만 남게 함으로서 View-ViewModel 분리가 용이함) 결론적으로 다음과 같이 DataBinding을 .. 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. 이전 1 2 3 다음