JNIEXPORT void JNICALL Java_com_mobilecg_androidapp_EcgJNI_processEcgData(JNIEnv *env, jclass type, jbyteArray jdata, jint size) { (void)type; jbyte* data = env->GetByteArrayElements(jdata, 0); char* chars = (char*) data; static PacketReader packetReader; for(int i=0; i < size; ++i) { packetReader.addByte(chars[i]); if(packetReader.isPacketReady()) { PacketRouter::instance().packetReceived(packetReader.getPacketHeader(), packetReader.getPacketData()); } } env->ReleaseByteArrayElements(jdata, data, 0); }