Camera API를 어떻게 사용하는지 궁금할 때 참조할 수 있는 좋은 방법을 알려 드리겠습니다.
안드로이드 단말이 GMS를 탑재하고 구글의 승인을 받으려면 구글의 요구하는 조건을 만족시켜줘야 합니다.
기본적으로 CDD부터 프레임워크 호환성 확인을 위한 CTS 등 여러 테스트를 거치게 됩니다.
이중 CTS는 안드로이드 플랫폼에서 프레임워크 동작의 신뢰성을 위한 각종 API를 테스트합니다.
이 테스트 코드는 구글에서 작성하였고 소스가 오픈되어 있습니다.
예를 들어보겠습니다.
Camera API 중에서 setFocusMode를 어떻게 사용하는지 궁금하면 구글 검색으로 stackoverflow.com에 참고할 수 있는 대부분의 답변이 나옵니다.
아래의 경우는 setFocusMode가 동작하지 않는다는 문의와 답변입니다.
(관련 링크: https://stackoverflow.com/questions/11623266/camera-parameters-setfocusmode-is-not-working)
간결하고 문제 해결을 위한 무난한 답변입니다.
위의 문제는 지원하지 않는 Camera Focus mode를 사용하려고 해서 발생하는 문제였습니다.
답변에서는 지원 여부를 체크(getSupportedFocusModes)해서 지원하면 설정(setFocusMode)하게 처리되어 있습니다.
그럼, CTS 쪽에서는 어떻게 사용하고 있는지 볼까요?
여기에서도 체크(getSupportedFocusModes)후 지원하면 설정(setFocusMode)하게 처리되어 있습니다.
stackoverflow나 cts 모두 setFocusMode 사용하는 방법에 대해서 가리키는 것은 argument인 focus mode가 지원하는지 getSupportedFocusModes로 체크해서 지원하면 사용하도록 처리해야 한다는 것을 알 수 있습니다.
CTS 쪽 검색은 구글에서 아래와 같이 해주면 됩니다. (검색창에 "API명 site:android.googlesource.com/platform/cts")
CTS에 있는 모든 코드가 무결하다고 할 수는 없지만, 아무래도 구글에서 작성한 코드이기에 일정 수준이 상의 신뢰성이 보장된다고 볼 수 있습니다. stackoverflow.com에 나와 있지 않거나 거기 있는 코드가 신뢰 되지 않는다면 CTS에서 코드를 찾아보실 것을 권장해 드립니다.
이번 글은 여기까지입니다. 도움이 되셨기를 바랍니다.
'Android Dev > Camera & Media' 카테고리의 다른 글
삼성 카메라 SDK 지원 중단 (19.12.1 ~ ) 공지 및 이유(?) (0) | 2020.01.13 |
---|---|
손전등 앱 만들기 #3 - Flashlight API 이용방법 (Flashlight app using Flashlight API) (7) | 2018.10.15 |
손전등 앱 만들기 #2 - Camera2 API 이용방법 (Flashlight app using Camera2 API) (0) | 2018.10.13 |
손전등 앱 만들기 #1 - 개요 및 Camera API 이용방법 (Flashlight app using Camera API) (2) | 2018.10.04 |
불필요한 미디어(이미지, 동영상, 소리 등)가 보이지 않도록 하는 방법 / .nomedia 부재 이슈 (0) | 2016.11.01 |