如何存储一个光传感器值在一个数组很长一段时间?1个样品/ 2秒



我正在为个人项目开发一个应用程序,我需要稍后在Matlab上处理数据(用于电源要求)。因此,我的目标是"存储"光传感器的值每两秒钟,在一个数组?现在,我可以正确地实时显示传感器的值,根据智能手机的默认频率显示在屏幕上!我是Android的新手,我每天都在学习哈哈!我被困在那里了……最终的目标是将数据发送到数据库,然后创建它的图形。用时间表示一个地方的光照强度。请问最好的储藏方式是什么?致以最诚挚的问候

private final SensorEventListener LightSensorListener = new SensorEventListener() {
    @Override
    public void onSensorChanged(SensorEvent event) {
        if(event.sensor.getType() == Sensor.TYPE_LIGHT){
            textLight_reading.setText("LIGHT : " + event.values[0]);
        }
    }
    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {
    }
};

这是代码的另一部分:

textLight_available = (TextView) findViewById(R.id.LIGHT_available);
    textLight_reading = (TextView) findViewById(R.id.LIGHT_reading);

    SensorManager mySensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
    Sensor LightSensor = mySensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
    super.onResume();
    if (LightSensor != null) {
        textLight_available.setText("LIGHT SENSOR ON");
        mySensorManager.registerListener(LightSensorListener, LightSensor,
                SensorManager.SENSOR_DELAY_NORMAL);
    } else {
        textLight_available.setText("LIGHT SENSOR OFF");
    }

根据你的描述,你需要每两秒钟存储一次数据,我猜这将是一个巨大的数据量,取决于时间

首先,你可以创建一个数据对象数组,每2秒向其中添加新项,并每分钟将该数组推送到sqlite数据库以进行持久化存储

如果你每两秒钟写一次sqlite db,可能会导致问题

快乐编码:)

相关内容

最新更新