본문 바로가기

개발19

안드로이드 LiveData란? 오늘은 안드로이드 AAC JetPack 라이브러리 중 하나인 LiveData에 대해서 알아볼 것이다. LiveData의 경우 장점도 굉장히 많고 다른 라이브러리(DataBinding, ViewModel 등)들과 함께 사용할 경우 훨씬 더 유용하다. MVVM 패턴에 필수적인 LiveData의 개념과 사용법에 대해서 알아보자 LiveData란? LiveData는 데이터의 변경을 관찰할 수 있는 Data Holder 클래스이다. 관찰이라고 하면 Observable이 생각날텐데 일반적인 Observable과는 다르게 LiveData는 안드로이드의 LifeCycle, 즉 생명주기를 알고있다. Activity, Fragment, Service 등과 같은 안드로이드 컴포넌트의 생명주기를 인식하며 그에 따라 LiveD.. 2023. 5. 9.
안드로이드 비동기, 멀티스레딩 차이 오늘은 비동기와 멀티스레딩의 차이에 대해서 알아볼 것이다. 먼저 비동기 프로그래밍은 안드로이드 개발을 하지 않더라도 개발자라면 무조건 필수적으로 알아야하는 개념중에 하나이다. 특히 안드로이드의 경우 RxJava나 Coroutine같은 비동기 라이브러리를 사용해 프론트(UI) 작업과 백그라운드 작업을 분리하여 사용해야하는 경우가 많기 때문에 더욱 중요하다고 볼 수 있다. 그렇다면 한번 자세히 알아보도록 하자 비동기프로그래밍? 일단 먼저 비동기 프로그래밍이란 무엇인지에 대해서 다뤄보려고 한다. 비동기적 모델에서는 여러 일이 동시에 발생할 수 있다. 일반적으로 코드를 작성하면 프로그램은 실행시간이 긴 함수를 실행할 때, 그 함수의 실행 흐름을 막지(block) 않고, 프로그램을 계속 실행한다. 그리고 그 함수.. 2023. 5. 8.
싱글톤(Singleton) 패턴이란? 오늘은 싱글톤 패턴에 대해서 알아볼 것이다. 싱글톤패턴은 개발하면서 많이 들어보는 용어중 하나인데 개선된 코드를 짜기 위해 상황에 맞게짜면 굉장히 좋은 패턴이다. 같이 한번 알아보도록 하자 싱글톤(Singleton) 패턴 정의 싱글톤 패턴이란 "어떤 클래스의 인스턴스는 오직 하나임을 보장하며, 이 인스턴스에 접근할 수 있는 전역적인 접촉점을 제공하는 패턴이다." 라고 정의되어 있다. 싱글톤(Singleton)은 앱의 시작부터 종료될 때 까지 한번의 생성으로 고정된 메모리영역을 가지기 때문에 메모리를 효율적으로 사용 할 수 있다. 또한 싱글톤의 인스턴스(instance)는 전역적으로 사용되므로 다른 클래스의 인스턴스들이 데이터를 공유 변경이 가능하다는 장점을 갖고 있다. 예시를 들어보면 가위라는 클래스가 .. 2023. 5. 2.
코틀린 Object와 Companion Object 차이? - kotlin 오늘은 비슷한거 같으면서 다른 Object declaration와 Companion object의 차이에 대해서 알아보려한다. 보통 Kotlin에서 Java의 static과 같은 정적 변수 및 메서드를 사용하기 위해 보통 object나 Companion object를 사용하는데 object부터 차근차근 알아보자. Object declaration이란? Object declaration은 싱글톤 패턴을 더 쉽게 사용하기 위해 코틀린에서 제공하는 일종의 객체 선언 키워드라고 볼 수 있다. 예시 코드를 한번 봐보자. object ObjectDecl { const val OB_STRING = "1" fun obtest() {} } Object는 위와 같은 형태로 선언할 수 있고 다음과 같은 특징이 있다. Sin.. 2023. 4. 28.