Вы не должны делать все в функции сборки.Функция сборки перерисовывается каждый раз, когда вы вызываете setState, поэтому вы запускаете String appBarTitle = "eClerx Parking";
каждый раз, когда она перерисовывается.
Вам необходимо переопределить initState () и поместить туда эту логику
var db = new DatabaseHelper();
Future<User> user = db.getUser();
String appBarTitle = "eClerx Parking";
var appBarTitleText = new Text(appBarTitle);
if (user != null) {
user.then((val) {
if (val == null) {
return;
}
print("user data : " + val.emailId);
//DO THIS TO UPDATE THE STATE AND FORCE A REDRAW
setState(() {
appBarTitle = val.emailId;
});
});
Кроме того, оберните appBarTitle = val.emailId;
с помощью функции setState ()
EDIT: вы не ожидаете результата от dababase Future<User> user = db.getUser();
, поэтому пользователь всегда будет нулевым, а setState никогда не будет вызываться.
Попробуйте Future<User> user = await db.getUser();