All Posts

Kotlin - 확장 함수(Extension functions)에 대해서 알아보기

Extension functions는 기존에 정의된 클래스에 함수를 추가하는 기능입니다. 자신의 함수는 쉽게 추가가 가능하지만 다른 살마이 만든 라이브러리를 갖다 쓸때는 매우 어렵습니다. 코틀린은 이런 것을 쉽게 할 수 있도록 도와줍니다. 그것이 바로 확장 함수입니다. 자세히 알아보겠습니다.

kotlin06 Jun 2019

Kotlin - by로 Delegate Pattern 쉽게 구현하기

Delegate Pattern은 Composition을 이용하는 일반적인 패턴입니다. Composition 객체의 함수가 많아지면 형식적인 코드(boilerplate code)를 많이 작성해야 할 수 있는데요. 코틀린은 by라는 키워드를 이용하여 적은 코드로 적용할 수 있도록 지원하고 있습니다. 예제를 통해 자세히 알아보겠습니다.

kotlin02 Jun 2019

안드로이드 Q - Settings Pannel에 대해서 알아보기

세팅 패널(Settings Pannel)은 3rd party 앱에서 직접 세팅의 UI를 패널로 띄우는 기능입니다. 패널로 띄우면 자신의 앱을 가리지 않기 때문에 불필요한 앱 전환이 필요없습니다. 세팅 패널은 4개의 설정을 지원합니다.(Internet, Wifi, NFC, Volume)

android01 Jun 2019

Kotlin - object와 class 키워드의 차이점

코틀린에서 클래스를 정의하는 키워드는 class입니다. 만약 object로 클래스를 정의하면, 싱클턴(Singleton) 패턴이 적용되어 객체가 한번만 생성되도록 합니다. 싱글턴으로 사용하는 방법 외에도, object는 익명객체를 생성할 때도 사용됩니다. 예제를 통해 두개의 차이점에 대해서 알아보겠습니다.

kotlin01 Jun 2019

안드로이드 Q - Mainline, APEX에 대해서 알아보기

Android Q의 Mainline과 APEX는 부분적으로 시스템 업데이트를 할 수 있도록 만들어줍니다. Treble이 OS 업그레이드 속도를 높이는데 도움이 되었다면, Mainline과 APEX는 업그레이드 없이 모듈단위로 업데이트가 가능하도록 만들었습니다. 또한, 디바이스들이 공통 모듈을 사용하게 하여 파편화를 막아주는 역할을 합니다.

android31 May 2019

안드로이드 스튜디오 - "GC overhead limit exceeded" 에러 해결 방법

Android Studio에서 앱을 빌드할 때 GC overhead limit exceeded 에러가 발생하였습니다. 해결방법은 gradle.properties에서 메모리 사이즈 늘리도록 설정을 변경하는 것입니다. OOM이 발생하는 원인을 제거할 수 있겠지만, 원인찾기가 어려워 메모리 사이즈를 늘려 해결하였습니다.

android18 May 2019

안드로이드 - INSTALL_FAILED_TEST_ONLY 에러 해결방법

adb로 apk를 설치할 때 INSTALL_FAILED_TEST_ONLY 에러가 발생할 때가 있습니다. TestOnly로 빌드된 apk라서 그렇습니다. -t옵션을 주어 설치를 하거나 AndroidManifest.xml에서 testOnly 속성을 제거해야 합니다. 그럼 TestOnly 앱으로 빌드되지 않아 에러가 발생하지 않습니다.

android17 May 2019

코드로 UML을 작성하는 방법, PlantUML을 소개합니다

PlantUML은 UML 작성을 도와주는 오픈소스 툴입니다. PlantUML은 GUI로 UML을 작성하지 않고, 간단한 언어로 객체간의 관계를 정의해주면 PlantUML이 UML을 생성합니다. PlantUML은 웹에서도 UML을 작성할 수 있도록 지원하며, 로컬 프로그램도 매우 작아 설치가 쉽고 빠릅니다.

tools14 May 2019