【问题标题】:same GooglePlus client object in different activities android不同活动android中的相同GooglePlus客户端对象
【发布时间】:2014-02-18 14:51:14
【问题描述】:

我想为 GooglePlus 创建一个库。为此,我创建了多个类,例如登录、发布、获取用户配置文件。

我必须实现 onConnected、onDisconnected、onConnectionFailed 吗? 我必须在每个班级都调用 plusClient.connect() 吗?

目前,如果我在第一个(登录)类中连接(),然后尝试从不同的活动中发布用户帐户,那么它就会出现问题。即使我在之前的活动中已经这样做了,我也必须再次连接()它。

是否有解决方案,我可以在多个活动中使用相同的 plusClient 对象?

提前致谢。

【问题讨论】:

    标签: android singleton google-plus


    【解决方案1】:

    PlusClient 类设计为轻量级,因此无需在活动实例之间共享PlusClient 实例。见:

    Access google plus client from multiple activities

    也就是说,如果您将PlusClient 作为服务或应用程序对象的一部分进行管理,只要确保在适当的时间调用PlusClient.connect()PlusClient.disconnect(),就没有什么可以阻止您这样做。

    另外,请注意 PlusClient 现在已弃用,取而代之的是 GoogleApiClient。不过,对于本次讨论,它们是等价的。

    【讨论】:

      【解决方案2】:

      GoogleApiClient 可以帮助您解决这种情况。让调用者负责管理GoogleApiClient 的生命周期。让他们把它传到你的图书馆。您可以在那里添加一个ConnectionCallbacks 侦听器并在onConnected 中执行您的操作。

      这也意味着您的库不负责处理连接失败。在这种情况下,这是调用者的工作。通常这不是你想要的东西在你的库中,除非你提供基本的 Activity/Fragment 类。如果是这种情况,请继续在此处处理这些情况。这样它就不会散布在您的代码中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-06-18
        • 1970-01-01
        • 2019-02-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多