Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2020
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.65 KB | None | 0 0
  1. package com.example.sgudivada;
  2.  
  3. import androidx.appcompat.app.AppCompatActivity;
  4.  
  5. import android.content.Context;
  6. import android.hardware.Sensor;
  7. import android.hardware.SensorEvent;
  8. import android.hardware.SensorEventListener;
  9. import android.hardware.SensorManager;
  10. import android.os.Bundle;
  11. import android.util.Log;
  12. import android.view.View;
  13. import android.widget.Button;
  14. import android.graphics.Color;
  15. import com.jjoe64.graphview.GraphView;
  16. import com.jjoe64.graphview.LegendRenderer;
  17. import com.jjoe64.graphview.Viewport;
  18. import com.jjoe64.graphview.series.DataPoint;
  19. import com.jjoe64.graphview.series.LineGraphSeries;
  20. import java.util.Random;
  21.  
  22.  
  23. public class MainActivity extends AppCompatActivity implements SensorEventListener {
  24.     private static final Random RANDOM = new Random();
  25.     private LineGraphSeries<DataPoint> series;
  26.     private double graph2LastXValue = 5d;
  27.  
  28.     boolean runButtonClicked = false;
  29.  
  30.     private static final String TAG = "MainActivity";
  31.  
  32.     private SensorManager sensorManager;
  33.     Sensor accelerometer;
  34.  
  35.     @Override
  36.     protected void onCreate(Bundle savedInstanceState) {
  37.         super.onCreate(savedInstanceState);
  38.         setContentView(R.layout.activity_main);
  39.         Button btn1 = (Button) findViewById(R.id.run_button);
  40.         Button btn2 =(Button) findViewById(R.id.stop_button);
  41.  
  42.         Log.d(TAG, "onCreate: Initializing Sensor Services");
  43.         sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
  44.  
  45.         btn1.setOnClickListener(new View.OnClickListener() {
  46.  
  47.             public void onClick(View v) {
  48.                 runButtonClicked = true;
  49.                 GraphView graph1 = (GraphView) findViewById(R.id.graph1);
  50.                 GraphView graph2 = (GraphView) findViewById(R.id.graph2);
  51.                 GraphView graph3 = (GraphView) findViewById(R.id.graph3);
  52.                 series = new LineGraphSeries<DataPoint>();
  53. //                series.setColor(Color.GREEN);
  54. //                series.setThickness(9);
  55. //                series.setColor(Color.GREEN);
  56. //                graph1.getViewport().setBackgroundColor(Color.BLACK);
  57.                 graph1.addSeries(series);
  58.                 Viewport viewport = graph1.getViewport();
  59.                 viewport.setXAxisBoundsManual(true);
  60.                 viewport.setMinX(0);
  61.                 viewport.setMaxX(10);
  62.                 graph1.getLegendRenderer().setAlign(LegendRenderer.LegendAlign.TOP);
  63.                 viewport.setYAxisBoundsManual(true);
  64.                 viewport.setMinY(500);
  65.                 viewport.setMaxY(2000);
  66.                 viewport.setScrollable(true);
  67. //
  68. //                new Thread(new Runnable() {
  69. //                    @Override
  70. //                    public void run() {
  71. //                        while (runButtonClicked) {
  72. //                            runOnUiThread(new Runnable() {
  73. //                                @Override
  74. //                                public void run() {
  75. //                                    addEntry();
  76. //                                }
  77. //                            });
  78. //
  79. //                            // sleep to slow down the add of entries
  80. //                            try {
  81. //                                Thread.sleep(600);
  82. //                            } catch (InterruptedException e) {
  83. //                                // manage error ...
  84. //                            }
  85. //                        }
  86. //                    }
  87. //                }).start();
  88.             }
  89.         });
  90.  
  91.         btn2.setOnClickListener(new View.OnClickListener() {
  92.             @Override
  93.             public void onClick(View v) {
  94.                 runButtonClicked = false;
  95.                 GraphView graph = (GraphView) findViewById(R.id.graph1);
  96.                 //series = new LineGraphSeries<DataPoint>();
  97.                 Viewport viewport = graph.getViewport();
  98.                 viewport.setMaxY(200);
  99.                 viewport.setMinX(0);
  100.                 viewport.setYAxisBoundsManual(true);
  101.                 viewport.setMinY(50);
  102.                 viewport.setMaxX(10);
  103.                 viewport.setScrollable(true);
  104.                 viewport.setXAxisBoundsManual(true);
  105.                 graph.removeAllSeries();
  106.             }
  107.         });
  108.     }
  109.  
  110.  
  111. //
  112. //    private void addEntry() {
  113. //        x = x + 1;
  114. //        y = newx;
  115. //        series.appendData(new DataPoint(x,y), true, 60);
  116. ////        Random random = new Random();
  117. ////        y = 500.0 + Math.random() * (2000.0 - 500.0);
  118. ////        series.appendData(new DataPoint(x, y), true, 60);
  119. //    }
  120.  
  121.     @Override
  122.     protected void onResume() {
  123.         super.onResume();
  124.  
  125.         sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL);
  126.         Log.d(TAG, "onCreate: Registered accelerometer Listener");
  127.     }
  128.  
  129.     @Override
  130.     protected void onPause() {
  131.         super.onPause();
  132. //        SensorManager.unregisterListener(this);
  133.     }
  134.  
  135.     @Override
  136.     public void onSensorChanged(SensorEvent event) {
  137.         Log.d(TAG, "onAccuracyChanged: X:" + event.values[0] + "Y: " + event.values[1] + "Z: " + event.values[2]);
  138.         if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
  139.             getAccelerometer(event);
  140.         }
  141.     }
  142.  
  143.  
  144.     @Override
  145.     public void onAccuracyChanged(Sensor sensor, int accuracy) {
  146.  
  147.     }
  148.  
  149.     private void getAccelerometer(SensorEvent event) {
  150.         float[] values = event.values;
  151.         float x = values[0];
  152.         float y = values[1];
  153.         float z = values[2];
  154.         graph2LastXValue += 1d;
  155.         series.appendData(new DataPoint(graph2LastXValue, x), true, 10);
  156.  
  157.     }
  158.  
  159.  
  160. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement