1

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 ? のゼロバイト。

4

2 に答える 2

2

bslvalバイト配列です。Java の配列は、0 から length-1 までのインデックスが付けられます。インデックスbslval[0]0 の配列値も同様です。配列の最初のバイトです。

の値を変更して、別の配列を指すようにするfinalことはできません。bslval

于 2013-08-20T12:39:02.863 に答える
0

最初に理解する必要があるのは、 が配列[]を意味することです。これbslvalは、配列であることを意味します。文字列の配列を書き出すとしたら、次のようになります。

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

配列はリストのようなものでbyte b = bslval[0]、Java のリストは 0 から始まるため、 を記述すると、リストの最初の項目が取得されます。書くとしbyte b = bslval[1]たら、リストから 2 番目のバイトを取得することになります。

バイトは小さい数 (126 - -126 だと思います) であるため、配列は次のようになります。

[80, 89, 35, 12, 44]

それがあなたの配列で、あなたが書いたbyte b = bslval[3]場合、bは配列の4番目のバイトである12に等しくなります

于 2013-08-20T12:44:25.293 に答える