Android USB ホスト モードで作業しており、非同期バルク転送を実行したいと考えています。これまでのところ、同期一括転送をうまく使用してきましたが、非同期転送のために断片がどのように組み合わされるかを把握するのに少し苦労しています。UsbRequestのドキュメントから(太字の鉱山):
バルク エンドポイントのリクエストは、bulkTransfer(UsbEndpoint, byte[], int, int) を介して同期的に送信するか、queue(ByteBuffer, int)およびrequestWait() [UsbDeviceConnection メソッド]を介して非同期的に送信できます。
わかりました、これは既存の実行スレッドから queue() を呼び出してから、別のスレッドの別の場所で requestWait() を呼び出すということですか? requestWait() は、リクエストの完了時に実行するロジックをどこから取得しますか? 私が行った非同期作業のほとんどは、Javascript や Python などの言語で行われ、通常はコールバック関数を引数として渡します。Java では、おそらく特定のメソッドを実装するオブジェクトをコールバックとして渡すことが期待されていましたが、それがどこでも起こっていることはわかりません。おそらく、全体に対する私のメンタルモデルは間違っています。
誰かが非同期一括転送を送信する孤立した例を提供できますか?