私のAndroid搭載端末から、外部のGPSデバイスから文字列を読み込む(Bluetoothを使用しています)ようにしています。私は主にBluetoothChatの例を追ってきましたが、これまでのところすべてがうまくいくようです。私の読書のスレッドが実行されると、私は次のコードでループするとき、可変バイトのパケットが着信見ることができます:私は、テキスト文字列(NMEA形式)です読みになってる私のBluetooth接続はゼロのみを読み取っています
Log.d(TAG, "BEGIN mConnectedThread");
byte[] buffer = new byte[1024];
int bytes;
// Keep listening to the InputStream while connected
while (true)
{
try
{
bytes = mmInStream.read(buffer);
// Test...
String strReadBuf = new String(buffer, 0, bytes);
// Send the obtained bytes to the UI Activity
mHandler.obtainMessage(BluetoothHandler.MessageType.READ,
bytes, buffer).sendToTarget();
} catch (IOException e) {
Log.e(TAG, "disconnected", e);
sendErrorMessage(R.string.bt_connection_lost);
break;
}
}
弦をしかし、私は唯一の0を読んでいると、私のバッファ配列の-32バイト。なぜ私はこれを取得している任意のアイデア?
GPSはどのブランド&モデルですか? – Jens
これはu-blox LEA-4T GPSチップの統合です。私たちはこれを、BluetoothまたはUSBでログを出力できるボックスにマウントしました。私のボックスを私のPC(USBで)に接続すると、NMEAの文字列を完全に見ることができます。また、PDA上のWindows MobileプログラムからBluetooth接続を広範囲に使用しているため、ハードウェアの統合は問題ではありません。私は何をプログラムが0と-32バイトを読むことができるのだろう... – Danuc