[kotlin] 코틀린과 Android Jetpack의 CameraX를 활용하여 카메라 기능을 구현하는 방법은?
안녕하세요! 안드로이드 앱 개발에서 카메라 기능을 구현하고 싶으시군요. 코틀린과 Android Jetpack의 CameraX를 사용하여 카메라 기능을 구현하는 방법을 알려드리겠습니다.
필수 라이브러리 추가
먼저, build.gradle 파일에 CameraX와 관련된 필수 라이브러리를 추가해야 합니다.
dependencies {
def camerax_version = "1.0.0-beta15"
implementation "androidx.camera:camera-camera2:$camerax_version"
implementation "androidx.camera:camera-lifecycle:$camerax_version"
implementation "androidx.camera:camera-view:1.0.0-alpha25"
}
카메라 뷰 레이아웃 추가
카메라를 미리보기하기 위한 레이아웃을 추가합니다.
<androidx.camera.view.PreviewView
android:id="@+id/previewView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
CameraX 초기화 및 사용
이제 Kotlin 코드를 사용하여 CameraX를 초기화하고 카메라를 사용할 수 있습니다.
val cameraProviderFuture = ProcessCameraProvider.getInstance(context)
cameraProviderFuture.addListener({
val cameraProvider: ProcessCameraProvider = cameraProviderFuture.get()
val preview = Preview.Builder().build().also {
it.setSurfaceProvider(previewView.createSurfaceProvider())
}
val cameraSelector = CameraSelector.DEFAULT_BACK_CAMERA
try {
cameraProvider.unbindAll()
cameraProvider.bindToLifecycle(
lifecycleOwner, cameraSelector, preview
)
} catch(exc: Exception) {
Log.e(TAG, "카메라 사용 중 에러 발생", exc)
}
}, ContextCompat.getMainExecutor(context))
위의 코드는 카메라 미리보기를 설정하고 기기의 후면 카메라를 사용하는 방법을 보여줍니다.
이제 코틀린과 CameraX를 사용하여 안드로이드 카메라 앱을 만드는 방법을 알게 되셨습니다. 원하는 다른 기능들을 추가하여 더욱 풍부한 앱을 만들어보세요!