我正在尝试了解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的零字节?
答案 0 :(得分:2)
bslval
是一个字节数组。 Java中的数组从0到lenght-1索引。所以bslval[0]
是索引0处的数组值。它是数组中的第一个字节。
final
表示您无法更改bslval
的值以使其指向另一个数组。
答案 1 :(得分: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]
,则b将等于12,即数组中的第四个字节