dart - 将谷歌日历插入到 Flutter 移动应用程序中
Posted
技术标签:
【中文标题】dart - 将谷歌日历插入到 Flutter 移动应用程序中【英文标题】:dart - insert google calendar into flutter mobile app 【发布时间】:2018-08-23 14:38:35 【问题描述】:前言:我对移动应用开发比较陌生。
我和我的团队正在开发一个移动应用程序,其中一个预期功能是多个用户之间的共享日历。我们正在使用实现 dart 语言的 Flutter 编写应用程序。
Google API 的 dart 版本和 Flutter 一样处于测试阶段,这意味着与更成熟的移动开发方法相比,文档相对稀缺。
我的问题如下: 如何在应用页面上显示用户的 Google 日历:
这分为两部分,
1)我如何从谷歌检索信息?
我知道这需要谷歌日历 API,我已经为其添加了依赖项。我不确定哪个命令会返回所需的信息。
https://pub.dartlang.org/packages/googleapis
https://developers.google.com/calendar/v3/reference/
很遗憾,Google 没有发布任何关于如何在 dart 中实现此功能的示例
2)我如何在日历页面上实际显示信息?
【问题讨论】:
听起来你需要构建一个连接到 Google Calendar API 的组件来获取用户日历信息并创建一个 Flutter Widget 来自己显示信息 “Google API 的 dart 版本处于测试阶段”你从哪里得到的? googleapis 包只是从 API 元数据自动生成的代码,因此与其他语言或 API 文档本身非常相似。 @GunterZochbauer developers.google.com/api-client-library 这距离之前的链接只有一两步 我明白了。我认为该页面需要更新。 【参考方案1】:如何从 Google 检索信息?
我知道这将需要 Google Calendar API,我已为其添加了依赖项。我不确定哪个命令会返回所需的信息。
您可以将 googleapis
插件用于 Google 日历 API。例如,如果您想从日历访问事件,您可以使用Events().items
,它返回一个List<Event>
。
我建议通过documentation 了解更多详细信息,看看它如何适合您的用例。
如何在日历页面上实际显示信息?
获得想要显示的日历详细信息后,您可以创建自己的日历小部件或使用可以在您的应用程序上显示日历的现有插件,即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。
【讨论】:
【参考方案2】:https://pub.dev/packages/googleapis 的最新版本有这些 API!
【讨论】:
以上是关于dart - 将谷歌日历插入到 Flutter 移动应用程序中的主要内容,如果未能解决你的问题,请参考以下文章
无法将谷歌静态地图加载到jquery mobile中的div中