9

ベンダー提供のライブラリを介してサード パーティのハードウェアに接続する Android アプリケーションがあります。ハードウェアからのデータを処理する準備ができると、ライブラリがアプリケーションにコールバックします。

サード パーティ ライブラリは、その設計上、アプリケーションへのコールバックを 1 回だけ行います。ただし、私のアプリには、コールバックが呼び出されたときに実行したいいくつかの異なる非同期タスクがあります (たとえば、ログ記録、UI 表示の更新、外部プログラムの呼び出しなど)。ある意味で、さまざまな方法でイベントを展開しようとしています。だから、私は Application クラスでこれを行うことを考えています:

interface MyCallback {
    public void doSomething(ArrayList<DataClass>);
}

public class MyApp extends Application {
...
private MyCallback cb; 
public void registerCallback (MyCallback callback) {
    cb = callback;
}

public methodCalledBy3rdPartyAPIOnData (ArrayList<DataClass> data){
    cb.doSomething(ArrayList<DataClass> data);
}

これは単一のメソッドを呼び出すには機能しますが、一連のコールバックに対してこれを行う方法に問題があり、それらが非同期で呼び出されるようにします。Android アプリケーションまたは一般的な Java でこの種のことを行うための例やベスト プラクティスはありますか?

4

1 に答える 1