ここにディレクトリのタイトルを書きます
プロジェクトのシナリオ:
提示:这里简述项目相关背景:
例: プロジェクト シナリオ: 例: Bluetooth チップ (HC-05) を介して携帯電話 APP と通信し、5 秒ごとにセンサー データのバッチを送信します (それほど大きくありません)。
問題の説明
提示:这里描述项目中遇到的问题:
例: データ送信中に時々データが失われ、場合によってはデータの一部が失われることがあります
。APP でデータを受信するためのコード:
@Override
public void run() {
bytes = mmInStream.read(buffer);
mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget();
}
原因分析:
ヒント: ここに質問の分析を入力します。
例:Handler
メッセージの送信には と の 2 つの方法がありますがHandler.obtainMessage()
、Handler.sendMessage()
その中で、obtainMessage
途中のデータ量が多すぎる場合、MessageQuene
のサイズにも制限があるため、message
処理が間に合わない場合、最初に送信したデータは上書きされ、データが失われる可能性があります。
解決:
ヒント: ここに問題の具体的な解決策を入力します。
例: 新しいMessage
オブジェクトを作成し、読み取ったデータを に保存しMessage
、mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget();
それを置き換えますmHandler.sendMessage()
。