0
私はAndroidアプリケーションを開発しており、DaggerをDIフレームワークとして使用したいと考えています。しかし、コールバックを使用する依存関係を注入する方法はわかりません。Javaコールバックで依存関係注入を使用する方法
私は場所を取得したいと私は、このためにGoogleApiClientを使用たとえば:私は私のテストでそれを模擬することができるようにダガーを使用してGoogleApiClientインスタンスを注入したいと思います。この場合
public class LocationProvider implements ILocationProvider,
GoogleApiClient.ConnectionCallbacks,
GoogleApiClient.OnConnectionFailedListener {
private GoogleApiClient googleApiClient;
private ILocationRequester requester;
public LocationProvider(@NonNull Context context, @NonNull ILocationRequester requester) {
this.requester = requester;
googleApiClient = new GoogleApiClient.Builder(context)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(LocationServices.API)
.build();
}
@Override
public void beginGetLocation() {
googleApiClient.connect();
}
@Override
public void onConnected(@Nullable Bundle bundle) {
Location lastLocation = LocationServices.FusedLocationApi.getLastLocation(googleApiClient);
requester.locationFound(lastLocation);
}
@Override
public void onConnectionSuspended(int i) {
requester.locationFound(null);
}
@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
requester.locationFound(null);
}
}
、しかし、このクラスに依存するので、私はできません。このシナリオは、コールバックを実装するために別のクラスを使用する場合でも、コールバックを使用する長時間実行される操作に対して有効です。
誰にも解決策がありますか?