У меня есть внешний public class ClassifierModule
и внутренний public class ClassifierRunnable
. Как отправить int
из внутреннего класса и получить его во внешнем?
Вот мой код:
//outer class
public class ClassifierModule extends ReactContextBaseJavaModule implements BufferListener {
public ClassifierModule(ReactApplicationContext reactContext) {
super(reactContext);
appState = ((MainApplication)reactContext.getApplicationContext());
}
@Override
public String getName() {
return "Classifier";
}
// Called to emit events to event listeners in JS
private void sendEvent(String eventName, int result) {
getReactApplicationContext()
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
.emit(eventName, result);
}
//inner class
public class ClassifierRunnable implements Runnable {
public ClassifierRunnable(double[][] buffer) {
rawBuffer = buffer;
PSD = new double[NUM_CHANNELS][nbBins];
}
@Override
public void run() {
if (noisePresent(rawBuffer)) {
Log.w("ConcentrationTracker", "noise");
return;
}
else if(isTracking) {
getSmoothPSD(rawBuffer);
bandMeans = bandExtractor.extract1D(PSD);
// Concentration algorithm goes here
int score = measureRatio(bandMeans);
Log.w("ConcentrationTracker", "Concentration score" + score);
sendEvent("CONCENTRATION_SCORE", score);
}
else if(isLogging) {
getSmoothPSD(rawBuffer);
bandMeans = bandExtractor.extract1D(PSD);
int a = measureAlpha(bandMeans);
int b = measureBeta(bandMeans);
String csvLine = a + "," + b;
}
}
}