Google+ Android PlusClient连接/断开连接

3
在Google+ Android PlusClient的文档中,它指出你应该在onStart()和onStop()中执行.connect()和.disconnect()。
我有几个活动(大约8个),它们以各种方式堆叠在一起,其中大约有4个活动需要PlusClient。
我的基本活动(所有这些活动都使用)...我想把PlusClient逻辑放在那里。
不知道PlusClient本身的内部工作方式,我不确定在大量活动中始终运行connect()/disconnect()有多么沉重。这在上面引用的文档中并不清楚。connect()/disconnect()方法在后台线程中进行网络请求。对于用户点击所有活动并进行多次执行相同操作的多个网络请求似乎是浪费的。
我想我正在将其与Facebook Android API进行比较,后者对我来说似乎具有“会话”类型模式,这表现得更有效率。
这真的是一个经常浏览多个活动的应用程序所采用的最佳模式吗?
这些方法能够优雅地处理没有连接的情况吗?
2个回答

1

PlusClient是一个轻量级的Google Play服务接口,详情请见:

从多个活动访问Google Plus客户端

Google Play服务将为您管理OAuth 2.0访问令牌,该令牌大致相当于“会话”。当特定Activity调用PlusClient.connect()并且Google Play服务已经为用户分配了您应用的访问令牌时,它将立即在您应用的onConnected()回调中返回。

正如ianhanniballake所说,获取访问令牌所需的任何网络调用都是在后台进行的,因此不会对UI线程造成问题。

有关在基本活动中使用PlusClient的示例,请查看PhotoHunt示例应用程序:

https://github.com/googleplus/gplus-photohunt-client-android/tree/master/src/com/google/plus/samples/photohunt


0

connect()disconnect()在后台线程中完成所有工作,因此可以在UI线程中调用(例如在onStart()onStop()中),而不会影响应用程序的性能。

只要您分别在onStart()/onStop()中调用connect()/disconnect()PlusClient将在任意数量的活动中工作。


我知道连接/断开方法是高效的,因为我假设G+团队已经解决了这个问题:-)。抱歉,我的问题有点模糊,因为我想我只是对推荐的模式感到惊讶。这可能不是stackoverflow的理想问题,因为它没有一个精确的答案。我已经稍微更新了我的问题。 - Eurig Jones

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接