ble デバイスに接続して、そこからデータを受信するアプリを作成しました。私はこのリンク「http://toastdroid.com/2014/09/22/android-bluetooth-low-energy-tutorial」をたどっていましたが、ヒントと観察セクションで、すべてのGATT操作をキューに入れるように指示されています。それ、どうやったら出来るの?
2782 次
2 に答える
2
リクエストをキューに入れるには、リクエストの Arraylist を持つキュー クラスを作成できます。
リクエストを作成するたびに、それをキューに追加し、キューの処理を開始します (キューがまだ処理されていない場合)。現在のアイテムを処理したら、まだ処理するアイテムがあるかどうかを確認し、処理を続けます。
また、リクエストの 1 つがスタックした場合に備えて、タイムアウトを追加する必要がある場合もあります。
ハンドラーを使用してキューを処理する方法のサンプル コード:
private void startProcessingQueue() {
if (queueIsRunning) {
return;
}
queueIsRunning = true;
h.postDelayed(new Runnable(){
public void run(){
processQueue();
if(queue.isEmpty()) {
queueIsRunning = false;
return;
}
h.postDelayed(this, QUEUE_PROCESSING_DELAY);
}
}, QUEUE_PROCESSING_DELAY);
}
于 2016-09-19T01:26:15.660 に答える