dagger-2 – 如何使用Dagger2提供GoogleApiClient依赖?

前端之家收集整理的这篇文章主要介绍了dagger-2 – 如何使用Dagger2提供GoogleApiClient依赖?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经开始使用Dagger2来管理依赖项,我试图了解如何使用DI来提供单一的GoogleApiClient.对此的动机是:

>减少样板代码:多个活动&片段需要GoogleApiClient
>提高可测试性:目前这些活动和碎片未经过充分测试

我想在Application范围内提供Singleton GoogleApiClient.

你如何处理回调?无论您选择auto-managed or manually-managed connection,都必须处理一些回调:

> GoogleApiClient.ConnectionCallbacks(仅限手动)
> GoogleApiClient.OnConnectionFailedListener(两者)

您可以使用注入来创建客户端
@Provides
    @Singleton
    GoogleApiClient providesGoogleApiClient(Context context) {
            return new GoogleApiClient.Builder(context)
                    .addApi(Places.GEO_DATA_API)
                    .addApi(LocationServices.API)
                    .build();
        }

然后管理您的活动的回电

@Inject GoogleApiClient mGoogleApiClient;



if (mGoogleApiClient != null) {  mGoogleApiClient.registerConnectionCallbacks(this);            mGoogleApiClient.registerConnectionFailedListener`(this);
}

我希望这对你有帮助.

猜你在找的设计模式相关文章