android中的最后一个字节

时间:2013-08-20 12:34:30

标签: java 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的零字节?

2 个答案:

答案 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,即数组中的第四个字节