InputStreamReader reader = new InputStreamReader(conn.openInputStream()); int BUFFER = 112; char[] buffer = new char[BUFFER]; while (reader.read(buffer) == BUFFER) { int iniTrama = (buffer[1] << 8) | buffer[0]; int finTrama = (buffer[BUFFER - 1] << 8) | buffer[BUFFER - 2]; if (iniTrama == 43690 && finTrama == 5000) { // Validation for (int i = 2; i < BUFFER - 2; i = i + 2) { int word = (buffer[i + 1] << 8) | buffer[i]; int valorEcg = word; if (indexSignal == SIGNAL_SIZE) { // a temporal memory signal = new int[SIGNAL_SIZE]; indexSignal = 0; } signal[indexSignal++] = valorEcg; // The value repaint(); // Call Canvas } } else { .... } }