0
サードパーティSDKのメソッド(非同期メソッドを使用してリモートサーバーにHTTPリクエストを送信する)とRetrofit2 + OkHttp + Rxを使用してこのサーバーに直接アクセスするアプリケーションがあります。 - 1秒、最大で5要求要求キューを実装する方法は?
new SdkRequest("some", "arguments", "here")
.setCompleteListener(this::onGetItemsComplete)
.setErrorListener(this::onGetItemsError)
.getItems(); // Here is can be differents methods (getShops, getUsers, etc)
ApiManager.getInstance()
.getApi()
.addAdmin("some", "another", "arguments", "here") // Methods which not presented in SDK we should call directly
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(this::onAddAdminComplete, this::onAddAdminError);
私は限界がすべての要求(SDKからとレトロフィットから)ことが必要です。それはこのようになります。この制限を超えた場合、要求は続行する前に待機する必要があります。
これを実装する方法は?最初に気になることは、ServiceとBroadcastReceiverを追加することです。しかし私にとってはそれほど怠惰ではありません。すべてのアクティビティの断片でこのBroadcastReceiverを聴くべきです。この実装では有用なコールバックはありません。それはRx(ラップSDKメソッドも)とラムダを使用して実装することは可能ですか?
ありがとうございました。少し説明していただけますか?ディスパッチャオブジェクトとは何ですか? UIスレッドで使用できますか? – BArtWell
スクリーンやイベントが実行されたり、コードビハインドでメソッドが呼び出されたりすると、UIスレッドとUIスレッドキューで呼び出されたメソッドがDispatcherキューにキューイングされます。 – Dhiyaneshwaran
AndroidリファレンスでDispatcherクラスに関する情報が見つかりません。どこでこれについての情報を入手できますか? – BArtWell