2011-12-14 18 views
2

私はバイトを取ってアンドロイドで整数として表示しようとしています。私はテンプレートとしてブルートゥースのチャットを使用しています。うまくいき、うまく動作しているBluetoothデバイスからデータを送信しています。今、送信されているバイトのcharセットを表示する代わりに、整数値を表示します。これは、Bluetoothチャットの開発者コードのハンドルのコードです。私はしかし、働くバイト配列整数配列を、作っ試してみました整数値を表示するために、バイト配列を整数に変換してから文字列に変換する方法はありますか?

byte[] writeBuf = (byte[]) msg.obj; 

// construct a string from the buffer 
String writeMessage = new String(writeBuf); 

mConversationArrayAdapter.add("Me: " + writeMessage); 

、私は文字列に整数配列を取得することはできません...誰が助けることはできますか?

+1

あなたは「整数値」とはどういう意味ですかを使用することができ、あなたが知っている(リトルエンディアン対ビッグ)バイト順

byte[] writeBuf = (byte[]) msg.obj; // construct a string from the buffer String writeMessage = String.valueOf(ByteBuffer.wrap(writeBuf).getInt())); 

を想定したByteBufferを使用することができますか? ASCIIコード?数値変換、 "0"→ "0"、 "1"→1など? –

答えて

3

あなたはリトルエンディアンをしたい場合は、.order(ByteOrder.LITTLE_ENDIAN)

+0

+1非常にクールです。以前はByteBufferを使っていませんでした。 *実際には、 'byte []'を扱う際の痛みやコードの肥大化を避けるために役立ちます。 P.S.いつかアバターを選んでください! – Bohemian

+0

同様に、(バイト)、getLong、getDouble、getFloat、getShortなど(これらの組み合わせ)(データ型の組み合わせでバイト[]を持つことができます)また、プリミティブからもバイト[]を作成することができます。 –

関連する問題