前言:我对移动应用程序开发相对较新。
我和我的团队正在开发一个移动应用程序,其中一项预期功能是多个用户之间的共享日历。我们正在使用 Flutter 编写应用程序,它实现了 dart 语言。
Google API的dart版本和Flutter都处于测试阶段,这意味着与更成熟的移动开发方法相比,文档相对稀缺。
我的问题如下: 如何在应用页面上显示用户的谷歌日历:
这分为两部分,
1)如何从谷歌检索信息?
我知道这将需要谷歌日历API,我已经为其添加了依赖项。我不确定什么命令会返回所需的信息。
https://pub.dartlang.org/packages/googleapis
https://developers.google.com/calendar/v3/reference/
不幸的是,谷歌还没有发布任何关于如何在dart中实现这一点的例子
。2)如何在"日历"页面上实际显示信息?
最新版本的https://pub.dev/packages/googleapis 具有这些 API!
- 如何从谷歌检索信息?
我知道这将需要谷歌日历API,我已经为其添加了依赖项。我不确定什么命令会返回所需的信息。
有googleapis
插件可用于Google日历API。例如,如果要从日历访问事件,可以使用返回List<Event>
的Events().items
。
我建议浏览文档以获取更多详细信息,看看它如何适合您的用例。
- 如何在"日历"页面上实际显示信息?
获得要显示的日历详细信息后,您可以创建自己的日历小部件或使用可以在您的应用程序上显示日历的现有插件,即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
插件的完整工作示例。