将连接对象传递给其他活动 - Google Tasks API

时间:2013-11-25 16:29:51

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

我似乎已经遇到了我的这个问题。基本上我正在使用一个应用程序,它将您的Google任务与Google Tasks API同步。到目前为止,在我的第一次活动中,一切都很顺利。但现在我想创建一个新活动来显示用户任务列表。因此,要获取任务列表,我需要在此新活动中使用连接对象。通常我只是给i.putExtra()或类似的东西提供变量,但是当然这不适用于(自定义)对象。我已经尝试在包含对象的自定义类中使用Parceable和Serializable,但是我一直在猜测类(来自Google API)本身是如何实现这些的。传递用于创建类的新实例的参数也是不可能的,因为它们是Google自己的自定义对象。有没有人对此有想法或经验?

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

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();

提前致谢!

1 个答案:

答案 0 :(得分:2)

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

通过这种方式,您可以在不同的活动中设置/获取它。