코틀린 시작한지 거의 2주가 되어가는데 최초 목표설정을 1주일로 잡았는데, 그안에 해결하지 못했다..
생각보다 난관이 많았다.. 문법자체를 완강하는데는 며칠 걸리지 않았는데, 문제는 안드로이드 개발 부분이었다. 아직도 제대로 진행되지 않는다. ㅋㅋ..
카메라 필터 앱 만들기
목표
1. 거울 어플 만들기
2. 코틀린 안드로이드 OpenCV 적용해보기
3. 카메라 필터(OpenCV) 추가
4. 카메라 어플 만들기
5. 카메라 어플 + 필터(OpenCV) 기능 추가
1. 거울 어플 만들기
많이 구글링하고 찾아봤는데, 결론적으로 안드로이드에서는 Camera2 또는 CameraX를 이용하는 방식이 존재한다.
그리고 카메라 앱은 github에 오픈소스로 존재하더라.(기본아님) 근데 이거 사용하는 방법을 잘모르겠음.. c++이야 어떻게든 추가하면 되겠는데.. android studio에서는 디렉토리만 추가한다고해서 바로 사용할 수 있는 것도아니고, c++에서 처럼 lib이이랑 종속성 추가를 해줘야하는데..
이게 정말 골때린다. CameraX를 사용하기 위해
안드로이드 스튜디오 버젼이 올라가면서 문법도 바뀌고 해결방법도 안먹히고.. 그리고 튜토리얼도 따라해도 안되는 부분이 많았다.
그리고 권한을 위해 TedPermission에 대해 알아보기도 했고..(지금 생각해보니 이건 필요한지 필요없는지 잘모르겠음.)
자료 조사 없이 무턱대고 개발을 시작하다보니 좀 삽질을 많이했다.
튜토리얼 (링크: https://developer.android.com/codelabs/camerax-getting-started?hl=ko#0 )
코드 사용에 부닥친 난관들
1) ActivityMainBinding 오류
아마 경로 이상하거나해서 문제가 발생할 것이다. 이는 viewbinding을 추가하면 지원해주는데 저 줄을 지우고
ActivityMainBinding에 alt+Enter 해서 import 추가하도록 하면 해결될 것이다. 근데 좀 더 상세하게 설명하자면.
저 클래스는 실제하지 않는다. 그냥 activity_main.xml을 객체화하여 사용할 수 있도록 지원해준 것이라 볼 수 있다. (링크)
import com.android.example.cameraxapp.databinding.ActivityMainBinding
작성일자 기준으로 필자는 아래와 같이 자동완성으로 작성되었다.
import com.example.cameratest1.databinding.ActivityMainBinding
2) 사용권한이 허용되었는데 카메라가 안켜지는 문제
위와 같이 빈화면이 출력되는데, 원인을 잘몰라서 프로젝트 재생성, 리빌드, 클린빌드, 코드를 다시 검토해보았다. 아무리봐도 문제가 보이지 않았다. 그래서 한줄한줄 다시 읽어들였고, 유일하게 차이점하나가 존재했는데.
이 문법 자체가 activity_main을 가리키고 있어서 당연히 똑같은 줄 알았다.
setContentView(R.layout.activity_main)
튜토리얼 코드에는 아래와 같이 작성되어있어서 변경했더니
setContentView(viewBinding.root)
정상적으로 동작했다..
'개발일지 > 코틀린(Kotlin)' 카테고리의 다른 글
코틀린 - 카메라 필터 앱 만들기 - 4 (IntelliJ + OpenCV) (0) | 2024.04.15 |
---|---|
코틀린 - 카메라 필터 앱 만들기 - 3 (CameraX+OpenCV) (0) | 2024.04.15 |
코틀린 - 카메라 필터 앱 만들기 - 2 (OpenCV 세팅) (0) | 2024.04.15 |
코틀린(Kotlin) - 2 (0) | 2024.04.03 |
코틀린(Kotlin) - 1 (목표 설정) (0) | 2024.04.03 |