我已经开始使用Dagger2来管理依赖项,并且我试图了解如何使用DI来提供单一的GoogleApiClient。对此的动机是:
我想在应用程序范围内提供Singleton GoogleApiClient。
你如何处理回调?无论你选择auto-managed or manually-managed connection,还是有一些必须处理的回调:
答案 0 :(得分:4)
您可以使用注入来创建客户端
@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);
}
我希望这对你有所帮助。