【发布时间】:2017-10-31 01:20:24
【问题描述】:
我无法在数组中存储实时数据。
我有一个实时读取数据的一维数组,这很好,它会像这样打印我的数据:
D/this is my array: arr: = [-1.43, -3.5916, 2.71, 4.42, -4.4, 0.0]
这个数据代表一个样本,我每秒读取数据 1000 个样本,所以如果我打印这个数组,它会显示我每次读取的读数,我的意思是每秒 1000 个像图片一样的数组(具有不同的数据)。
现在,我需要处理该数据,因此我需要将前 256 个样本存储在一个二维数组中,处理该数组,然后使用接下来的 256 个样本获取一个新的数组,依此类推。但我没有能够做到这一点。
transformed 如果我的一维数组逐个显示我。 buff 是我要存储数据的矩阵。
这就是我的转换方式,首先是 short[],然后我将其转换为 double:
short[] yaxis = msg.getData().getShortArray(BiopluxService.KEY_FRAME_DATA);
double[] transformed = new double[yaxis.length];
for (int j = 0; j < yaxis.length; j++) {
transformed[j] = (double) yaxis[j];
}
这是我目前所拥有的:
double[][] buff = new double[256][6];
for (int f = 0; f < 256; f++) {
buff[f] = transformed;
}
Log.d("this is my array", "arr: " + Arrays.deepToString(buff));
但我的 buff 数组具有相同的值。
【问题讨论】:
-
被转换为一个变量,或者一个方法调用,如果它是一个值,你将所有行设置为指向同一个数组
-
我更新了问题,以便您了解我是如何转变的
-
所以你一次读取值,然后将所有行设置为相同的值?如果是这样,那将是问题