2013-08-20 4 views
1

Я пытаюсь понять код приложения для Android.Заключительный байт в android

Код определяет последний байт

  // defines bsval to be a bytearray which has been received from the remote device 
      final byte[] bslval = data1.getByteArray(HRPService.BSL_VALUE); 

Мой вопрос о bslval [0], которое происходит в последней части кода

try 
         { 
          Log.i(TAG, "BYTE BSL VAL =" + bslval[0]); 
          TextView bsltv = (TextView) findViewById(R.id.BodySensorLocation); 
          bsltv.setText("\t" + mContext.getString(R.string.BodySensorLocation) 
            + getBodySensorLocation(bslval[0])); 
         } 
         catch (Exception e) 
         { 
          Log.e(TAG, e.toString()); 
         } 

что bslval [0] на самом деле?. Нулевой байт bslval?.

+7

Первый байт в массиве байтов 'bslval'. –

ответ

0

Первое, что вам нужно понять, это то, что [] означает массив, а это значит, что bslval - это массив. Если вы должны были написать массив строк, это будет выглядеть так:

["this", "is", "a","string", "array"]

массив, как список, и когда вы пишете byte b = bslval[0], вы получаете первый элемент списка, потому что списки в начале Java с нуля. Если вы должны были написать byte b = bslval[1], вы получите второй байт из списка.

Поскольку байт является небольшим числом (126 - -126, я думаю), ваш массив может выглядеть следующим образом;

[80, 89, 35, 12, 44]

Если это ваш массив, и вы писали byte b = bslval[3], б будет равна 12, четвертый байт в массиве

2

bslval - это массив байтов. Массивы в Java индексируются от 0 до длины-1. Таким образом, bslval[0] - это значение массива в индексе 0. Это первый байт в массиве.

final означает, что вы не можете изменить значение bslval, чтобы он указывал на другой массив.

Смежные вопросы