2016-09-06 10 views
0

私は現在、このlibraryを使用しています。受信したデータから正しく情報を抽出する方法は?

私は正しく動作するAndroid APPから始めました。私はいくつかのデータを送受信することができました。しかし、私がやろうとしているのは、BTモジュールを使ってAndroidとマイクロコントローラ間の通信を行うことです。

String sequence = "1234"; 
bt.send(sequence.getBytes(), true); 
//or just: 
bt.send(sequence, true); 

と第2の装置上の私はこのようなデータを受信:私はこのようなデータを送信AndroidにAndroidの上で

bt.setOnDataReceivedListener(new OnDataReceivedListener() { 
    public void onDataReceived(byte[] data, String message) { 
     ...   
} 
}); 

だから、私が送ったデータがそのメッセージであると思われるが、

String received_data = data.toString(); 

たとえば、次のようなランダムなシーケンスのように見えます。

[[email protected] 

および[[email protected]の部分は常に同じです。私がメッセージから必要なデータを抽出することができるAndroidのAPP、< - >マイクロコントローラでそれらのデータを読む必要があるのは、実際には問題ありません。どうすればこれらのデータを適切に受け取ることができますか?

EDIT:アイザックに おかげで、私はAndroid上で変換するために必要なことを知っているように文字列にバイト:

String str = new String(bytes, "UTF-8"); 

とメッセージとデータの両方から、私は私の情報を読み取ることができます。しかし、マイクロコントローラのデータを受信するのが正しいのでしょうか?

+0

私はそれをチェックしますが、それはなぜ毎回異なるのですか? – serwus

+0

あなたは他のQ/Aも読んだことがありますか? – Isaac

+0

私は何を探すべきか分からなかったようです。 EDIT1の詳細はありがとうございます。 – serwus

答えて

0

これを試してくださいString receivedData = new String(data);。それは動作するはずです。詳細については、これを参照してくださいlink

+0

Androidでは、EDIT1のコードでうまく動作しますが、マイクロコントローラではCを使用しています。申し訳ありませんが、面倒な質問をしても、実際にはプリント基板にアクセスできません私たちは離れて働く友人とプロジェクトを作っています)、問題がJavaかCかどうかを調べようとします。 – serwus

関連する問題