【问题标题】:Pass connection object to other activity - Google Tasks API将连接对象传递给其他活动 - Google Tasks API
【发布时间】:2013-11-25 16:29:50
【问题描述】:

我的这个问题似乎碰了壁。基本上我正在开发一个应用程序,它将你的谷歌任务与谷歌任务 API 同步。到目前为止,在我的第一次活动中一切都很好。但现在我想创建一个新活动来显示用户任务列表。因此,要获取任务列表,我需要这个新活动中的连接对象。通常我只是用 i.putExtra() 或类似的东西给变量,但当然这不适用于(自定义)对象。我已经尝试在包含对象的定制类上使用 Parceable 和 Serializable ,但是我不断收到关于类(来自 Google API)本身如何不实现这些的错误。也无法传递用于创建类的新实例的参数,因为它们本身就是来自 Google 的自定义对象。有人对此有想法或经验吗?

这是我需要传递给新活动的 service 对象:

final HttpTransport httpTransport = AndroidHttp.newCompatibleTransport();
final JsonFactory jsonFactory = GsonFactory.getDefaultInstance();
credential = GoogleAccountCredential.usingOAuth2(this, Collections.singleton(TasksScopes.TASKS));
credential.setSelectedAccountName(settings.getString(PREF_ACCOUNT_NAME, null));
// Tasks Client
service = new com.google.api.services.tasks.Tasks.Builder(httpTransport, jsonFactory, credential).setApplicationName("Test").build();

提前致谢!

【问题讨论】:

    标签: android android-intent google-tasks-api


    【解决方案1】:

    我不确定这是否是最好的方法(特别是因为我不知道这个任务服务类),但我想到的一个想法是在扩展应用程序的类中定义变量。这是一个article 描述 Application 类并说明了扩展它以管理一些“全局数据”的类的创建

    这样,您可以在不同的活动中设置/获取它。

    【讨论】:

    • 遵循 Thomas 所说的“子类应用程序”。只需谷歌如何做到这一点
    • 解决方案可以解决您的问题,不要忘记接受答案;)
    • 我会的!在我说话的时候尝试一下。
    • 这正是我想要的。奇迹般有效。非常感谢托马斯。
    猜你喜欢
    • 1970-01-01
    • 2019-11-25
    • 2015-11-14
    • 2014-04-26
    • 1970-01-01
    • 2020-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多