(Table Calendar Flutter)如何从外部链接JSON获取数据以替换_events

问题描述 投票:0回答:1

如何从外部链接JSON获取数据以替换_events。因此事件数据从JSON而不是硬编码到文件中。请帮助谢谢

class MuditaCalendar extends StatefulWidget {
  @override
  _MuditaCalendarState createState() => _MuditaCalendarState();
}

class _MuditaCalendarState extends State<MuditaCalendar> with TickerProviderStateMixin {
  DateTime _selectedDay;

  Map<DateTime, List> _events;
  Map<DateTime, List> _visibleEvents;
  List _selectedEvents;
  AnimationController _controller;

  @override
  void initState() {
    super.initState();
    _selectedDay = DateTime.now();
    _events = {
      DateTime.parse("2019-03-31") : ['Event A6', 'Event B6'],
      DateTime.parse("2019-03-15") : ['Event A7', 'Event B6'],
      DateTime.parse("2019-03-02") : ['Event A6', 'Event B6'],
      DateTime.parse("2019-03-13") : ['Event A6', 'Event B6'],
    };
    _selectedEvents = _events[_selectedDay] ?? [];
    _visibleEvents = _events;

    _controller = AnimationController(
      vsync: this,
      duration: const Duration(milliseconds: 400),
    );

    _controller.forward();
  }
}
json flutter calendar
1个回答
0
投票

我在这里解决了json的问题

  Future getData() async {
      _events = {};
      final response = await http.get("http://muditacenter.com/aplikasi/get_data.php");
      var jsonData = json.decode(response.body);
      for(var i = 0; i < jsonData.length; i++) {
        _events[DateTime.parse(jsonData[i]['tanggal'])] = jsonData[i]['judul'];
       }
  }

JSON示例:

[{"tanggal":"2019-04-07","judul":["Cheng Beng"]},{"tanggal":"2019-04-21","judul":["Asthasila222 (八關齋戒).\r\n","Kegitan lainnya","Kegitan lainnya 2"]}]
© www.soinside.com 2019 - 2024. All rights reserved.