All Posts

Android - JobIntentService 사용 방법

JobIntentService는 JobScheduler로 동작이 됩니다. enqueueWork()로 실행할 수 있습니다. Job은 일반적으로 바로 실행되지만 Doze 상태 등의 이유로 지연될 수 있습니다. Job이 추가되면(enqueueWork), onHandleWork()에서 Job을 처리합니다. JobIntentService의 경우 예약된 작업은 앱이 종료되도 실행이 됩니다.

29 Dec 2019

Android Studio에서 Google Test로 native 테스트 코드 작성

Google Test(gtest)는 오픈소스이며, Native(C++)의 unit test 라이브러리입니다. Google mock으로 객체를 mocking할 수 있고, Assertion 클래스 등을 제공합니다. 안드로이드 스튜디오에서 NDK 프로젝트를 만들고 gtest를 설정하는 것에 대해서 알아보겠습니다.

28 Dec 2019

Android - Native(C++)에서 Call stack 출력하는 방법

Native(C++)에서 callstack을 로그에 남기고 싶을 때 CallStack 클래스를 사용할 수 있습니다. libutils를 shared library로 설정해야하며, header에 utils/CallStack.h를 선언해야 합니다. CallStack::logStack() 라는 static 함수를 사용하면 callstack을 출력할 수 있습니다.

26 Dec 2019

Android Emulator에서 adb remount 하는 방법

system partition에 apk를 넣으려면 adb remount명령어로 system을 writable로 만들어야 합니다. remount가 실패하는 경우, emulator를 writable로 실행한 뒤에 adb remount를 수행하면 remount가 성공합니다.

26 Dec 2019

AMP 사이트에 Facebook Comments(댓글) 달기

AMP(Accelerated Mobile Pages)에서 Facebook comments로 댓글 시스템을 구현하였습니다. AMP는 공식적으로 Facebook comments(amp-facebook-comments)를 지원합니다. 블로그에 설정하고 크기 조절이 안되는 문제를 공유합니다. 해결방법은 못찾았습니다.

22 Dec 2019

Desktop AMP 버전에 Adsense 적용하기

AMP(Accelerated Mobile Pages)가 매우 제한적이지만, 다행이 Adsense는 제공합니다. 기존 코드와 다르게 <amp-ad />라는 코드를 사용해야 합니다. AMP의 adsense는 반응형으로 설정하기가 어렵습니다. 그렇기 때문에 미리 보여줄 크기를 설정해야 합니다.

21 Dec 2019

IntelliJ - Java, Kotlin 프로젝트 만들기(Gradle)

IntelliJ에서 Gradle로 Java, Kotlin 프로젝트를 만들고 Junit까지 세팅하는 방법을 정리하였습니다. IntelliJ IDEA에서 Gradle로 Java, Kotlin 프로젝트를 만드는 것은 쉽지만, 매번 세팅할 때마다 컴파일이 안되서 시간을 낭비하네요.

14 Dec 2019

Java - Objects.equals() 사용 방법 및 예제

Objects.equals()의 코드 및 사용방법을 알아보고 예제를 소개합니다. Objects.equals는 객체 비교에 사용되며 우리가 자주 구현하던 패턴을 util 클래스로 만들어둔 것 뿐입니다. 두개의 객체가 null일 때도 같은 객체라고 처리가 됩니다.

14 Dec 2019