我正在尝试理解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?的零字节。
最佳答案
您必须了解的第一件事是[]
表示数组,这意味着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]
,则b等于12,即数组中的第四个字节