안드로이드의 package 검토 - android.hardware

android.hardware 패키지는 현재 카메라 장치와 센서를 사용하기 위한 CameraDevice, Sensors와 같은 클래스를 제공한다. 이 글에서는 CameraDevice 클래스에 대해 검토해보도록 하겠다.

1. 카메라를 이용한 촬영
안드로이드의 CameraDevice 클래스는 촬영을 위한 속성을 설정한 후 capture method를 이용해 촬영한 이미지를 android.graphics.Canvas 객체에 저장한다. 촬영 시 설정할 수 있는 속성은 RGB565 혹은 YUV 포맷, 이미지의 크기 등을 결정할 수 있는데 현재 버전의 SDK 문서를 보면 크기는 단 2개만 선택 가능한 것으로 되어 있다.

2. 기타 카메라에 대한 기능들
현재 안드로이드 SDK 문서에는 설정 후 촬영외에 별다른 기능을 제공하는 것으로 보이지 않는다.

3. Java ME JSR234의 카메라 기능과 비교
Java ME JSR234 Advanced Multimedia Supplements의 카메라 관련 API는 카메라의 노출, 초점, 줌 등을 설정할 수 있고 또한, 연속 촬영, 동영상 촬영등이 가능하다. 이에 비해 현재 안드로이드의 카메라 API는 사용하기 간편한 점을 제외하곤 JSR234에 비해 기능이 너무 빈약하다고 할 수 있다.

4. 추후 추가되었으면 하는 사항
우선 촬영하는 이미지의 크기를 2개로 제한 한 것은 휴대폰 별로 여러 설정이 가능한 것을 무시한 구현으로 생각된다. 또한, 현재 휴대폰의 카메라가 줌이라든가 화이트 밸런스 설정 등 여러 고급 기능을 제공하고 있으므로 현실적으로 이에 대한 API도 제공하는 것이 좋을 것 같다.
단, 일반적인 촬영만을 위해서는 간단하게 사용할 수 있는 utility 클래스를 제공하는 것이 좋을 것 같다.

댓글

이 블로그의 인기 게시물

Wireless: HotSpot 2.0 이란?

Apple M1 Mac Mini에서 이더리움 (Ethereum) 채굴하기

Java: Java for Game? Java가 Game 개발에 어울릴까?