我从 simulink udp block 收到数组中的 udp 数据(byte[] 数据)。数据被打包为 int32 ,所以首先我需要解压它。
我不知道如何保存这些数据才能使用它。这些数据是位置,我想使用 OpenGL ES 将它们可视化。我想将数据保存到一个数组中,并能够在下一次迭代中将下一个数据包添加到该数组中,而不是重写整个数组(因为循环)
目前数据大小为1200 * 96。数组是一个不错的选择吗?
int j = 0 ;
float[] bin1 = new float[(data.length/2)];
while (j < data.length ) {
if ( data[2*j+2] >= 0 ) {
String unhx =(binary(data[2*j+3])+binary(data[2*j+2])+binary(data[2*j+1])+binary(data[2*j]));
float unbin = ((float)unbinary(unhx)/100);
bin1[j/2] = unbin;
print(bin1[1]);
}
else if ( data[2*j+2] < 0 && data[2*j+3] < 0 ) {
data[2*j] = (byte)(-data[2*j]);
data[2*j+1] = (byte)(-data[2*j+1]);
String unhx =(binary(data[2*j+1])+binary(data[2*j]));
float unbin = ((-1)*(float)unbinary(unhx)/100);
bin1[j/2] = unbin;
print(bin1[1]);
}
j = j + 2;
}
现在的问题是,每次新数据包到来时它都会重写整个 bin1 数组,我怎么能将新数据包添加到 bin1 而不是重写整个事情?