Reputation: 11
How to get data from external link JSON to replace _events . So the events data get from JSON not hardcode into the file. Please help Thanks you
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();
}
}
Upvotes: 0
Views: 1894
Reputation: 11
I solved the json thing here the code
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 EXAMPLE :
[{"tanggal":"2019-04-07","judul":["Cheng Beng"]},{"tanggal":"2019-04-21","judul":["Asthasila222 (八關齋戒).\r\n","Kegitan lainnya","Kegitan lainnya 2"]}]
Upvotes: 1