11월, 2018의 게시물 표시

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하는 것 같다. 해당 함

React-native 0.54 + OpenCV 3.4.3 + Android studio 3.2.1

1. 테스트 스펙 - Windows 10 - React-native 0.54 - OpenCV 3.4.3 - Android studio 3.2.1 - 갤럭시 S8(실기기) 2. React-native-opencv https://github.com/brainhubeu/react-native-opencv-tutorial 에서 소스를 clone 혹은 다운로드. 3. 2.의 페이지에서 시키는대로 한다. + openCVLibrary341을 openCVLibrary343으로. 다른 버전이라면 버전에 맞게 변경. + android\gradle\wrapper\gradle-wrapper.properties의 distributionUrl을 https\://services.gradle.org/distributions/gradle-4.4-all.zip 정도로 바꿔준다. + android\build.gradle > dependencies > classpath를 'com.android.tools.build:gradle:3.1.3' 정도로 바꿔준다. 4. 안된다. * react-native command가 없다. - npm install -g react-native-cli * google()이 없다.  - android\build.gradle의 buildscript > repositories, allprojects > repositories,에 google() 추가. google()이 jcenter() 보다 위에 와야한다는 말이 있다. * android.support.v4 has different version for the compile (에러 메시지 정확하지 않음)  - android\app\build.gradle > dependencies > implementation 'com.android.support:appcompat-v7:27.1.0' 정도로 수정 * Module