飞镖 - 将谷歌日历插入扑动的移动应用程序

时间:2018-03-14 22:05:34

标签: dart google-calendar-api flutter

前言:我对移动应用开发相对较新。

我和我的团队正在开发一个移动应用程序,其中一个预期功能是多个用户之间的共享日历。我们正在使用Flutter编写应用程序,它实现了dart语言。

Google API的dart版本处于测试阶段,与Flutter一样,这意味着与更成熟的移动开发方法相比,文档相对稀缺。

我的问题如下: 如何在应用页面上显示用户的Google日历:

这分为两部分,

1)如何从Google检索信息?

我知道这需要Google Calendar API,我已经为其添加了依赖项。我不确定哪个命令会返回所需的信息。

https://pub.dartlang.org/packages/googleapis

https://developers.google.com/calendar/v3/reference/

遗憾的是,Google尚未发布任何有关如何在dart中实现此功能的示例

2)如何在“日历”页面上实际显示信息?

2 个答案:

答案 0 :(得分:0)

最新版本的 https://pub.dev/packages/googleapis 包含这些 API!

答案 1 :(得分:0)

<块引用>
  1. 如何从 Google 检索信息?

我知道这将需要 Google Calendar API,我已经为其添加了依赖项。我不确定哪个命令会返回所需的信息。

googleapis 插件可用于 Google Calendar API。例如,如果您想访问日历中的事件,您可以使用返回 List<Event>Events().items

我建议您阅读 documentation 以了解更多详细信息,并了解它如何适合您的用例。

<块引用>
  1. 如何在日历页面上实际显示信息?

获得要显示的日历详细信息后,您可以创建自己的日历小部件或使用现有插件,这些插件可以在您的应用中显示日历,即 table_calendar。使用 table_calendar 插件,可以使用 CalendarBuilder 类显示事件。例如,CalendarBuilder.markersBuilder 属性可以在每天的单元格上显示标记。使用它看起来像这样:

Widget _buildTableCalendarWithBuilders() {
  return TableCalendar(
    ...
    builders: CalendarBuilders(
      ...
      markersBuilder: (context, date, events, holidays) {
        final children = <Widget>[];

        // a filter for the events listed from Google Calendar API can be set here

        if (events.isNotEmpty) {
          children.add(
            Positioned(
              right: 1,
              bottom: 1,
              child: _buildEventsMarker(date, events),
            ),
          );
        }

        if (holidays.isNotEmpty) {
          children.add(
            Positioned(
              right: -2,
              top: -2,
              child: _buildHolidaysMarker(),
            ),
          );
        }

        return children;
      },
    ),
  ),
}

可以检查使用 table_calendar 插件的完整工作示例 here