Я хочу получить данные после публикации новых данных. Теперь мне нужно снова открыть приложение, чтобы получить вставленные данные. Как изображение, я покажу ниже. На домашней странице подробности получают из ответа JSON. Домашняя страница есть кнопка go до Добавить страницу данных . После того, как я нажму кнопку, чтобы go - добавить страницу данных , затем после добавления данных, которые электронная почта, имя пользователя I go, вернемся на мою домашнюю страницу с помощью Navigator.of (context). поп () ;. Проблема в том, что данные не обновлялись, мне нужно снова открыть приложение, чтобы увидеть вновь вставленные данные.
Вот код моей домашней страницы:
Future getDetails() async {
http.Response response = await http.get(url);
var decodedData = json.decode(response.body);
setState(() {
email= decodedData['email'];
username= decodedData['username'];
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text('Home page'),
),
body: SingleChildScrollView(
child: Column(
children: <Widget> [
new Row(
children: [
Text(' Name: '+ username, style: TextStyle(fontSize: 16), textAlign: TextAlign.left,),
Text(' Email : '+ email, style: TextStyle(fontSize: 16), textAlign: TextAlign.left,),
]
),
new Row(
children: [
SizedBox(
width: 350,
child: OutlineButton(
child: Text('ADD DATA'),
onPressed: () {Navigator.of(context).push(MaterialPageRoute(builder: (context) => AddPage()));},
)
)
]
),
]
),
)
);
}
Вот мой код страницы добавления данных:
Future<void> addDetails() async {
setState(() {
loading = true;
});
http.Response response = await http.post(url,
body: {
'username': usernameController.text,
'email': emailController.text,
}
);
setState(() {
loading = true;
Navigator.pop(context);
});
}
Кто-нибудь знает, как решить эту проблему? Спасибо.