Internet-of-All-Things / Surfcode

Surfcode Application
0 stars 2 forks source link

react-native-ble-plx 라이브러리 변경 필요 #28

Open seh9306 opened 5 years ago

seh9306 commented 5 years ago
seh9306 commented 5 years ago

react-native-ble-plx com.polidea.reactnativeble.wrapper.Characteristic.java

public WritableMap toJSObject(byte[] value)

js.putString(Metadata.VALUE, value != null ? Base64Converter.encode(value) : null);

위 코드를

if(value!= null || value.length > 2){ int i = 0; if(value[1] < 0){ i = value[1]-1+(128+value[1])2; }else { i = value[1]; } String temp = new Integer(i).toString(); js.putString(Metadata.VALUE, temp); }

로 변경

최종 개발 후

seh9306 commented 5 years ago

com.polidea.reactnativeble.wrapper.Characteristic.java

1. Metadata에

String BPM = "bpm";

추가한다.

2.

public WritableMap toJSObject(byte[] value)

js.putString(Metadata.VALUE, value != null ? Base64Converter.encode(value) : null); if(value!= null || value.length == 2){ int i = 0; if(value[1] < 0){ i = 256+value[1]; }else { i = value[1]; } String temp = new Integer(i).toString(); js.putString(Metadata.BPM, temp); }

변경하지 않고 추가한다. BleError가 발생할 수 있기 때문에 오버라이드 혹은 메소드를 새로 생성하고

BleModule.java 파일의 1287 line에

jsResult.pushMap(characteristic.toJSObject(bytes));

jsResult.pushMap(characteristic.toJSObjectBPM(bytes));

이나

jsResult.pushMap(characteristic.toJSObject(bytes, 0));

같이 변경한다.

3. Characteristic.js 파일에

bpm : String

추가