前言:我对移动应用开发相对较新。
我和我的团队正在开发一个移动应用程序,其中一个预期功能是多个用户之间的共享日历。我们正在使用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)如何在“日历”页面上实际显示信息?
答案 0 :(得分:0)
最新版本的 https://pub.dev/packages/googleapis 包含这些 API!
答案 1 :(得分:0)
我知道这将需要 Google Calendar API,我已经为其添加了依赖项。我不确定哪个命令会返回所需的信息。
有 googleapis
插件可用于 Google Calendar API。例如,如果您想访问日历中的事件,您可以使用返回 List<Event>
的 Events().items
。
我建议您阅读 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。