Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.sgudivada;
- import androidx.appcompat.app.AppCompatActivity;
- import android.content.Context;
- import android.hardware.Sensor;
- import android.hardware.SensorEvent;
- import android.hardware.SensorEventListener;
- import android.hardware.SensorManager;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.View;
- import android.widget.Button;
- import android.graphics.Color;
- import com.jjoe64.graphview.GraphView;
- import com.jjoe64.graphview.LegendRenderer;
- import com.jjoe64.graphview.Viewport;
- import com.jjoe64.graphview.series.DataPoint;
- import com.jjoe64.graphview.series.LineGraphSeries;
- import java.util.Random;
- public class MainActivity extends AppCompatActivity implements SensorEventListener {
- private static final Random RANDOM = new Random();
- private LineGraphSeries<DataPoint> series;
- private double graph2LastXValue = 5d;
- boolean runButtonClicked = false;
- private static final String TAG = "MainActivity";
- private SensorManager sensorManager;
- Sensor accelerometer;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- Button btn1 = (Button) findViewById(R.id.run_button);
- Button btn2 =(Button) findViewById(R.id.stop_button);
- Log.d(TAG, "onCreate: Initializing Sensor Services");
- sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
- btn1.setOnClickListener(new View.OnClickListener() {
- public void onClick(View v) {
- runButtonClicked = true;
- GraphView graph1 = (GraphView) findViewById(R.id.graph1);
- GraphView graph2 = (GraphView) findViewById(R.id.graph2);
- GraphView graph3 = (GraphView) findViewById(R.id.graph3);
- series = new LineGraphSeries<DataPoint>();
- // series.setColor(Color.GREEN);
- // series.setThickness(9);
- // series.setColor(Color.GREEN);
- // graph1.getViewport().setBackgroundColor(Color.BLACK);
- graph1.addSeries(series);
- Viewport viewport = graph1.getViewport();
- viewport.setXAxisBoundsManual(true);
- viewport.setMinX(0);
- viewport.setMaxX(10);
- graph1.getLegendRenderer().setAlign(LegendRenderer.LegendAlign.TOP);
- viewport.setYAxisBoundsManual(true);
- viewport.setMinY(500);
- viewport.setMaxY(2000);
- viewport.setScrollable(true);
- //
- // new Thread(new Runnable() {
- // @Override
- // public void run() {
- // while (runButtonClicked) {
- // runOnUiThread(new Runnable() {
- // @Override
- // public void run() {
- // addEntry();
- // }
- // });
- //
- // // sleep to slow down the add of entries
- // try {
- // Thread.sleep(600);
- // } catch (InterruptedException e) {
- // // manage error ...
- // }
- // }
- // }
- // }).start();
- }
- });
- btn2.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- runButtonClicked = false;
- GraphView graph = (GraphView) findViewById(R.id.graph1);
- //series = new LineGraphSeries<DataPoint>();
- Viewport viewport = graph.getViewport();
- viewport.setMaxY(200);
- viewport.setMinX(0);
- viewport.setYAxisBoundsManual(true);
- viewport.setMinY(50);
- viewport.setMaxX(10);
- viewport.setScrollable(true);
- viewport.setXAxisBoundsManual(true);
- graph.removeAllSeries();
- }
- });
- }
- //
- // private void addEntry() {
- // x = x + 1;
- // y = newx;
- // series.appendData(new DataPoint(x,y), true, 60);
- //// Random random = new Random();
- //// y = 500.0 + Math.random() * (2000.0 - 500.0);
- //// series.appendData(new DataPoint(x, y), true, 60);
- // }
- @Override
- protected void onResume() {
- super.onResume();
- sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL);
- Log.d(TAG, "onCreate: Registered accelerometer Listener");
- }
- @Override
- protected void onPause() {
- super.onPause();
- // SensorManager.unregisterListener(this);
- }
- @Override
- public void onSensorChanged(SensorEvent event) {
- Log.d(TAG, "onAccuracyChanged: X:" + event.values[0] + "Y: " + event.values[1] + "Z: " + event.values[2]);
- if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
- getAccelerometer(event);
- }
- }
- @Override
- public void onAccuracyChanged(Sensor sensor, int accuracy) {
- }
- private void getAccelerometer(SensorEvent event) {
- float[] values = event.values;
- float x = values[0];
- float y = values[1];
- float z = values[2];
- graph2LastXValue += 1d;
- series.appendData(new DataPoint(graph2LastXValue, x), true, 10);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement