Я получаю данные udp в моем массиве (данные байта []) из блока simulink udp. данные упакованы как int32, поэтому сначала мне нужно его распаковать.java: получение пакета UDP и как их сохранить
Я не знаю, как я могу сохранить эти данные, чтобы иметь возможность использовать это. эти данные являются позициями, и я хочу визуализировать их с помощью 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 не переписывать все это?
Примечание "Вызванный: java.lang.ArrayIndexOutOfBoundsException". Вам нужно это исправить. – bmargulies
Используйте DataInputStream, а не все это бит. – EJP