Android Module을 Bintray(JCenter)에 배포하는 방법

Eclipse에서 Android Studio로 넘어오면서 gradle을 사용하게 되었습니다.

별도의 jar를 다운로드해 추가할 필요 없이 build.gradle에 dependencies 추가만 해주면 Android Studio가 해당 URL의 aar을 자동으로 받아 임포트 시켜줍니다.

이 dependencies에 추가되는 라이브러리를 직접 배포하기 위한 방법을 정리합니다.

TODO - 정리하기 전에

  • Github를 통해 소스 코드를 배포하고 있습니다.
  • Sample을 테스트하였고, 정리하였습니다.
  • Module을 배포/관리해보고 싶으시다면 참고 해주세요!

Read More

Android 7.0(Nougat)에서 DatePickerDialog 예외사항

안드로이드 7.0 누가에서 DatePickerDialog 예외 사항을 살펴보려고 합니다.

7.0부터는 Holo 테마를 활용한 DatePickerDialog 처리가 시스템적으로 동작하지 않습니다.

뭐 커스텀을 하시거나, Theme 자체를 구현하였다면 다른 이야기가 되겠지만 우선 아래와 같이 동작이 상의 함을 확인할 수 있습니다.

Sample01

똑같은 코드를 사용하여 Date picker에 테마를 적용하였지만 위와 같이 API 23(마시멜로우 단말기)에서는 정상으로 보이지만 오른쪽의 API 24(누가)에서는 Material 디자인으로 보입니다.

Read More

Android N 화면 사이즈 변경에 따른 대응 방법

Android Nougat(7.0)부터 루팅이나 adb 명령을 통하지 않고도, 스크린 사이즈를 변경이 가능해졌습니다.

누가 정식 버전에서는 아래와 같은 메뉴를 통해 화면 사이즈 변경이 가능한데, 재부팅 하지 않고도 동작합니다.

시스템 설정 > 화면 > 화면 크기

screenSizeSetting


이런 좋은 기능은 Android N에서만 제공되지는 않을 것입니다. 일부 제조사에서 이전 버전에 미리 가져갈 수 있습니다.(원래 adb를 통해서 제공되던 기능이라서 어렵지 않게 포팅도 가능할 겁니다.)

Read More

Android Studio heap 메모리 늘리기

Android Studio의 heap 메모리를 늘려서 쾌적한 개발을 진행할 수 있습니다.

기본 메모리 설정이 1GB 정도로 되어 있기에 맥북에서 개발을 하다 보면 펜이 돌기 십상입니다. 그럴 때 heap 메모리를 조금 늘려주면 펜이 도는 일이 줄어들 수 있습니다.


주의 : Android Studio를 업데이트하는 과정에서 studio.vmoptions가 초기화될 수 있습니다. 그럴 경우 다음의 과정을 다시 진행해주어야 합니다.

Read More

Android WebView TestCode 작성하기 확장(Alert, Script 만들어 테스트)

Android WebView TestCode 작성 2번째 글입니다.

앞에서는 기본적인 WebView 테스트 코드들을 살펴보았고, 이번 글에서는 javascript을 직접 만들어서 테스트하거나, Alert을 자동으로 테스트할 수 있는 방법 등을 살펴보겠습니다.

Alert을 자동으로 테스트하기 위한 uiautomator에 대해서는 추후 좀 더 자세한 글로 작성될 수 있어서 간단하게 WebView에 맞는 테스트 방법을 소개하도록 하겠습니다.

사용한 dependencies는 다음과 같으며 이중 espresso와 mockito 관련 부분을 지난번 글에서 작성하였고 이번에는 uiautomator 적용 및 사용법과 javascript를 추가로 적용하여 테스트하는 법 등을 살펴보겠습니다.

  • test runner
  • test rule
  • espresso : UI 테스트를 위한 도구
  • uiautomator : 시스템 UI를 테스트해볼 수 있음(Alert 등)
  • awaitility : Thread sleep과 비슷함

Read More