Software

안드로이드 잡스케줄러 분석

지난 글에서 안드로이드 잡스케줄러를 이용해 백그라운드 작업을 처리하는 잡서비스 생성 시 주의할 점을 살펴보았다. 잡스케줄러 기능은 L(API21)부터 추가되었지만, M(API23)까지는 거의 사용되지 않았다. 안드로이드에서 백그라운드 작업에 애용되던 CONNECTIVITY_ACTION 수신 브로드캐스트를 targetSdk 24(N)부터 사용할 수 없도록 제한하고, 대안으로 잡스케줄을 제안하면서 많이 사용되고 있다. 이번 글에서는 잡스케줄러가 단말에서 어떻게 동작하는지 O OS 기반 테스트를 통해 살펴보자. O OS를 […]

안드로이드 잡스케줄러 분석 더 읽기"

안드로이드 앱과 유투브 연결하기

안드로이드 앱에 동영상을 넣고 싶을 때, 보통 유투브를 가장 먼저 떠올린다.  유투브를 내 어플리케이션에 연결하는 대표적인 방법은 아래와 같다. 바로가기 유투브  IFrame Player 유투브 Android Player 구현 방법에 대한 좋은 글들이 인터넷에 많이 있으므로, 여기서는 3가지 방법의 차이점에 대해 살펴본다. 바로가기 영상을 내 앱에서 재생하지 않고, 유투브 공식 앱이나 사이트로 뛰는 방법이다.  대부분의 안드로이드 단말에는

안드로이드 앱과 유투브 연결하기 더 읽기"

안드로이드 서비스 상태별 바인딩 결과 테스트

안드로이드에서 작업 시간이 오래 걸리는 작업은 서비스를 사용하도록 권장한다. 그리고, 다른 컴포넌트는 이 서비스와 데이터를 지속적으로 주고받기 위해 바인딩 할 수 있다. 서비스 바인딩에 대해서는 이미 많은 글이 있으므로 생략하고, 여기서는 서비스의 상태(서비스의 위치, 이름, 반환 값 등)에 따라 메소드들이 호출되는지 여부와 어떤 값을 반환하거나 전달 받는지 정리한다. 참고로, 테스트는 N O/S에서 진행했다. 각 항목을

안드로이드 서비스 상태별 바인딩 결과 테스트 더 읽기"

액티비티의 윈도우 생성/삭제 시점 확인하기

어플리케이션 개발 수준에서 윈도우(Window)에 신경 쓰는 경우는 별로 없다. 특별한 처리 없이도 액티비티가 기본적으로 윈도우를 생성한 후, setContentView() 메소드 등을 통해 전달된 레이아웃을 그 위에 그려주기 때문이다. 하지만, 간혹 윈도우가 잘 생성/삭제 되는지 궁금하다면 아래와 같은 로그로 참조할 수 있다. 12-14 19:09:29.844 system_process V/WindowManager: Relayout Window{2492035d0 u0 me.sunphiz.android.test.window/me.sunphiz.android.test.window.activity.MainActivity}: viewVisibility=0 req=1080×2004 WM.LayoutParams{(0,0)(fillxfill) sim=#120 ty=1 fl=#81810100 pfl=0x20000

액티비티의 윈도우 생성/삭제 시점 확인하기 더 읽기"

고무 오리 디버깅(Rubber Duck Debugging)

개발하다 막히면 모니터에게 질문하곤 한다. 머리가 클수록 똑똑할거라 믿기에 올려다보기에 목이 아프지 않은 선에서 타협해 32인치를 쓰고 있다. 이런 방법은 나만 쓰고 있는게 아니라 디버깅 방법 중에 하나로 버젓이 존재한다. 그 디버깅 방법의 이름은 고무 오리 디버깅(Rubber Duck Debugging)이나 러버 더킹(Rubber Ducking)이다. 고무 오리 디버깅을 하는 방법을 간략히 소개하면, 고무 오리를 구한다. 고무 오리를 책상에

고무 오리 디버깅(Rubber Duck Debugging) 더 읽기"