首页 > 解决方案 > 如何在android studio中以定义的时间速率从传感器获取数据?

问题描述

我正在尝试使用使用手机加速度计的 android studio 制作一个简单的应用程序。

我可以获取加速度计数据并以非常高的速率将它们显示在屏幕上,所以我想控制采样时间。

我想测量每秒的加速度,并在屏幕上显示加速度以及测量了多少时间。

我真的不知道从哪里开始。

这是代码

package com.example.bustinedathe;

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.widget.TextView;

public class MainActivity extends AppCompatActivity implements SensorEventListener {

    private static final String TAG = "MainActivity";

    private SensorManager sensorManager;

    Sensor accelerometer;

    TextView xValue, yValue, zValue;

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        xValue = (TextView) findViewById(R.id.xValue);
        yValue = (TextView) findViewById(R.id.yValue);
        zValue = (TextView) findViewById(R.id.zValue);

        Log.d(TAG, "onCreate: Inizialising sensor services");
        sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);

        accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
        sensorManager.registerListener(MainActivity.this, accelerometer, SensorManager.SENSOR_DELAY_NORMAL);

        Log.d(TAG, "onCreate: registered accelerometer listner");
    }


    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {

    }

    @Override
    public void onSensorChanged(SensorEvent sensorEvent) {
        Log.d(TAG, "onSensorChanged: X:" + sensorEvent.values[0] + "y:" + sensorEvent.values[1] + "z:" + sensorEvent.values[2]);

        float x = sensorEvent.values[0];
        float y = sensorEvent.values[1];
        float z = sensorEvent.values[2];



        xValue.setText("x---->"+x);
        yValue.setText("y---->"+y);
        zValue.setText("z---->"+z);


    }


}

标签: androidtimestampaccelerometer

解决方案


推荐阅读