从Android中的不同传感器收集同步数据

时间:2014-05-09 14:25:23

标签: java android database timestamp sensor

我正在做一个从智能手机中的不同传感器收集数据的应用程序。我的疑惑是:我如何收集不同的数据?我的目标是创建一个数组矩阵。在同一时间的每一行中都有来自信号的数据捕获。 如果我使用" timestamp"在上面的代码中,它可以吗?我不确定,因为时间戳的定义是"事件发生的时间",但问题是事件只能在一个传感器中发生。真诚地,我有点困惑。

mSensorManager = (SensorManager) this
                .getSystemService(Context.SENSOR_SERVICE);
mSensorListener = new SensorEventListener() {
    @Override
    public void onAccuracyChanged(Sensor arg0, int arg1) {
    }`enter code here`

    @Override
    public void onSensorChanged(SensorEvent event) {
        Sensor sensor = event.sensor;
        if (sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
            //TODO: get values
        }else if (sensor.getType() == Sensor.TYPE_ORIENTATION) {
            //TODO: get values
        }
    }
}

1 个答案:

答案 0 :(得分:0)

我认为你可以从TreeMap中受益。在您的情况下,我将其视为TreeMap<Long, Map<Integer, Float>>

TreeMap会将时间戳(您可以使用System.currentTimeMillis()映射到在那些时刻进行的任何测量。事实上,它是TreeMap将根据键对条目进行排序(因此它们将是以相对于时间戳的升序排列)

测量值是Map<Integer, Float>,它将测量值的传感器类型映射到测量值(我将假设为Float)。