java - 如何通过 Android 应用程序查看公共(public) Google 日历

标签 java android view calendar

到目前为止,我一定已经完成了基于 Google 日历的所有 Stack Overflow 问题,但一直没有运气。我已经尝试了几个小时,但几乎没有任何结果。

我是一名 Java 和 Android 方面的新程序员,在该领域以外的经验很少。基本上,我遇到的主要问题是查看其他用户设置为公开的 Google 日历。

目前,我已经通过 Google 教程和其他网站设法显示了日历,这非常简单。它只会加载并显示当前用户的日历。这实际上可以通过(在布局中使用一个简单的按钮)来完成。

    public void onClick(View view) {
    // A date-time specified in milliseconds since the epoch.
    long startMillis = System.currentTimeMillis();

    Uri.Builder builder = CalendarContract.CONTENT_URI.buildUpon();
    builder.appendPath("time");
    ContentUris.appendId(builder, startMillis);
    Intent intent = new Intent(Intent.ACTION_VIEW).setData(builder.build());
    startActivity(intent);
}

显然这不会传递任何公共(public)帐户的用户数据或任何东西,我一直在阅读 Calendar Provider Google 教程中的开发人员指南。我试过设置帐户详细信息,但从来没有用过。我试过将它作为一个同步适配器来实现,但老实说,我只知道我做的不对。我不知道我是否真的需要使用 Sync Adapter,因为我只想查看事件,而不是修改或更新任何内容。

我正在使用 API 14+ 并想使用 Calendar Provider 等。它看起来很简单,但几天来我一直在抨击它并投入了大量时间,但似乎我所做的一切都不起作用.至少我有某种日历开放,但这不是我想要的。

这一切都取决于同步适配器吗?如果是这样,我将如何调用日历?另一个类似的问题有

private static Uri buildCalUri() {
return CalendarContract.Calendars.CONTENT_URI
        .buildUpon()
        .appendQueryParameter(CalendarContract.CALLER_IS_SYNCADAPTER, "true")
        .appendQueryParameter(Calendars.ACCOUNT_NAME, ACCOUNT_NAME)
        .appendQueryParameter(Calendars.ACCOUNT_TYPE, CalendarContract.ACCOUNT_TYPE_LOCAL)
        .build();

我希望这与我需要的类似,但我非常不确定。在开发人员教程中,如果帐户不在设备上,ACCOUNT_TYPE_LOCAL 很重要

任何帮助将不胜感激!

最佳答案

如果您希望将公共(public) Google 日历 (www.google.com/calendar) 与您的 Android 应用程序集成,您必须使用 Google Calendar API .

最简单的方法是下载 Google Calendar Client Library from here然后使用 API Reference here .在客户端库页面中,您要下载“Google APIs Java 客户端库 (rc)”包以集成到您的 Android 应用程序中。

您首先需要转到 API Console to create an App with Calendar API Access .

如果您不想使用 native 库,您甚至可以使用 REST API(使用 HTTP GET 和 POST 命令),example App here

希望这对您有所帮助。

关于java - 如何通过 Android 应用程序查看公共(public) Google 日历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21665862/

相关文章:

java - EnumMap 的奇怪语法

android - android中的服务和应用程序之间共享资源

java - Android:如何访问创建的 EditText 中的文本?

ruby - 在 Ruby ActiveRecord 中创建和更新时忽略 'read-only' 列

java - 设计决策 : extending an interface vs. 新界面

java - 使用 Java 创建 DER 格式的 CSR

java - 如何更新我的 Android 应用程序中的 SSL 证书?

android scrollto 在 onResume 方法中不起作用

android - 在对话框中绘制图表

java - 输入不匹配异常