You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

MainActivity.java 2.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. package com.feemers.android.fftdrawer;
  2. import androidx.appcompat.app.AppCompatActivity;
  3. import android.content.Context;
  4. import android.hardware.SensorManager;
  5. import android.os.Bundle;
  6. import android.widget.TextView;
  7. import android.widget.TimePicker;
  8. import com.feemers.android.fftdrawer.SignalProcessing.DetectorTimedomain;
  9. import com.feemers.android.fftdrawer.SignalProcessing.Logger;
  10. import com.feemers.android.fftdrawer.SignalProcessing.SignalProcessingControl;
  11. import java.util.Observable;
  12. import java.util.Observer;
  13. public class MainActivity extends AppCompatActivity implements Observer {
  14. private TextView textView1;
  15. private BarChartView grafikView1;
  16. private TextView textView2;
  17. private BarChartView grafikView2;
  18. private SignalProcessingControl signalProcessingControl;
  19. private DetectorTimedomain detectorTimedomain;
  20. private SensorManager sensorManager;
  21. private BarChart barChart;
  22. @Override
  23. protected void onCreate(Bundle savedInstanceState) {
  24. super.onCreate(savedInstanceState);
  25. setContentView(R.layout.activity_main);
  26. textView1 = findViewById(R.id.textView1);
  27. textView1.setText("Nr.1 ");
  28. textView2 = findViewById(R.id.textView2);
  29. textView2.setText("Nr. 2");
  30. double[] test = new double[64];
  31. for (int i = 0; i < 64; i++){
  32. test[i] = 0;
  33. }
  34. barChart = new BarChart(64);
  35. barChart.newValues(test);
  36. grafikView1 = findViewById(R.id.graficView1);
  37. grafikView1.setAnimation(barChart);
  38. grafikView2 = findViewById(R.id.graficView2);
  39. grafikView2.setAnimation(new BarChart(64));
  40. Logger logger = new Logger(this.getClass().getSimpleName(), "");
  41. detectorTimedomain = new DetectorTimedomain(20);
  42. detectorTimedomain.setThreshold(12);
  43. sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
  44. signalProcessingControl = new SignalProcessingControl(sensorManager, logger);
  45. signalProcessingControl.init();
  46. signalProcessingControl.getNotifier().addObserver(this);
  47. signalProcessingControl.start();
  48. grafikView1.Start();
  49. grafikView2.Start();
  50. }
  51. @Override
  52. public void update(Observable o, Object arg) {
  53. double[] newData = signalProcessingControl.getNotifier().getData();
  54. barChart.newValues(newData);
  55. grafikView1.Draw();
  56. grafikView2.Draw();
  57. }
  58. }