我正在使用实时数据库在我的应用程序中发布和获取数据。一切都很好,但是当我重新启动应用程序时,数据未显示在应用程序中。
发布的数据在重新启动时显示在数据库中,但在重新启动时不显示。
这里我将数据发布到数据库上:
Future<void> addTask(String newTaskTitle) async {
final task = Task(title: newTaskTitle);
const Url = ''// used url but hiding it here;
await http.post(Url, body: json.encode({
'title': task.title,
}),);
tasks.add(task);
notifyListeners();
}
这里我正在从数据库获取数据:
Future<void> fetchAndSetData() async {
const Url = ''// used url but hiding it here;
var response = await http.get(Url);
final extractedData = json.decode(response.body) as Map<String, dynamic>;
final List<Task> loadedTasks = [];
extractedData.forEach((taskID, taskData) {
loadedTasks.add(Task(
id: taskID,
title: taskData['title'],
));
});
tasks = loadedTasks;
notifyListeners();
}
[首次渲染应用程序时,然后在fetchAndSetData()
函数中调用initState()
,因此将在实际渲染小部件树之前获取您存储在数据库中的数据。