2016-11-29 3 views
-1

私はreact-nativeの新機能です。私はhttps://github.com/rusel1989/react-native-bluetooth-serialを使ってAndroidアプリをBTデバイスに接続しています。このGitHubリポジトリには、動作する例があります。私はアプリからデバイスにコマンドを送ることができました。BluetoothSerial setDataAvailableCallback()をリンクしてテキストの表示を更新する方法

今、私のデバイスからデータをアプリケーションに送り返したいと思います。それをIoTデータと考えてください。ほんの数バイトが数秒ごとに送信されます。私はsetDataAvailableCallback()が使用できることを知っています。私の質問は、JSXで<Text />要素を作成した場合、どうすればコールバックにリンクできるかということです。ありがとう。

API:https://github.com/derektu/react-native-bluetooth-serial

+0

React:https://facebook.github.io/react/tutorial/tutorial.htmlのチュートリアルを参考に、状態を設定して ''要素を更新する方法を教えてください。 – peterp

+0

上記のチュートリアルは、この特定の問題には役に立ちませんでした。これはもっと便利でした:https://facebook.github.io/react-native/docs/state.html#content –

答えて

0

私は私が持っていた例のいくつかの変更を試してみることにより、それを考え出しました。 render()の中で、私は以下が含まれていました。私は設定し、同じコンストラクタで

this.state = { 
     ... 
     myText: '' 
    } 

:そのクラスのコンストラクタで<Text>{this.state.myText}</Text>

を、私は最初は空の文字列に設定されているthis.stateに新しいフィールドを追加しましたこのポーリングを100 ms周期で実行します。

setInterval(() => { 
     BluetoothSerial.read() 
     .then((res) => { 
      this.setState({ myText: res }) 
     }) 
     }, 1000); 

この機能は、バイトが利用可能な場合にのみ読み込みを強化します。また、私のインストールにはsetDataAvailableCallback()がありませんでした。そのため、私はそれを使用できませんでした。

関連する問題