繁体   English   中英

为多个活动创建GoogleApiClient

[英]Creating GoogleApiClient for multiple activities

我正在使用Google+ API开发一个Android应用。 我正在进行多个活动,每个活动都需要一个GoogleApiClient实例。

当我从理解这篇文章 ,可以调用GoogleApiClient的同一个实例的每个活动。 我的问题是我们如何专门创建GoogleApiClient的副本?

我们是否再次使用.addApi()、. addscope()构建一个,并再次实现onConnected方法和OnConnectedFailedListener方法? 因为它似乎是重复的和低效的。 并且实现这些方法是否也将覆盖其他活动中的相同方法?

创建多个GoogleApiClient实例并不昂贵。 实际上,如果您使用多个API,则将有助于提高效率。 只有您明确要求的服务才会被假脱机。 因此,如果一项活动使用Plus,而另一项活动使用Drive,那么在进行Drive活动时,不必假脱机Plus服务。

为了清楚GoogleApiClient ,建议您为创建的每个Activity,Fragment,Loader,Service或Application创建一个单独的GoogleApiClient实例(甚至我也忘记了其他一些实例)。

如果您确实不想这样做,请使用应用程序上下文而不是活动或片段来创建GoogleApiClient并将其引用保存在Application对象中。

我刚刚有同样的困境。 为了解决这个问题,我使用了BaseGameUtil ...不确定是否使用它,但是如果您很简单,则可以让每个活动扩展BaseGameActivity,添加所需的方法,然后创建GoogleApiClient obj和getApiClient,然后让您可以在第二项活动中使用GoogleApiClient。

mGoogleApiClient = getApiClient();

如果您不使用BaseGameUtil,那么我认为您必须像上面所做的那样创建它,这很痛苦,至少basegameutil会为您做到这一点,而且您总是可以更改BGU中的内容,因为它们比库中的示例更多。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM