React native camera + google vision barcode detection (android)
0. 테스트 스펙 - React 16.3.0 - React native 0.55.4 - Android studio 3.2.1 - Galaxy S8 + SDK 26 - Gradle 3.1.3 1. React native camera https://github.com/react-native-community/react-native-camera 이 페이지에 상세히 나와있으니 설치하면 된다. 2. 기본 바코드 읽기(onBarcodeReaded) React native camera에서 자체적으로 지원하는 바코드 읽기 기능. { data: ..., rawData: ..., type: ..., bounds: ... } 형식의 object로 결과가 리턴된다. https://github.com/react-native-community/react-native-camera/blob/master/docs/RNCamera.md 상세는 이 페이지 참조. 리턴되는 bounds가 문서와 좀 다른 것 같다. 3. Google vision 사용한 바코드 읽기(onGoogleVisionBarcodesDetected) Google mobile vision을 사용한 바코드 읽기 기능. 읽어오는 바코드는 https://developers.google.com/android/reference/com/google/android/gms/vision/barcode/Barcode 이 페이지 참조. 기본 기능보다 빠르고 정확하지만 위치정보(이미지 내에서)를 알려주지 않는다. 그래서 위치정보를 숫자 배열로 받아오도록 수정. 1) node_modules\react-native-camera\android\src\main\java\org\reactnative\camera\BarcodesDetectedEvent.java의 serializeEventData method가 이벤트 발생 시 callback으로 리턴하는 데이터를 serialize하는 것 같다. ...