вы должны проверить prefs.getString ("часы") содержит любое значение или нет. если он не содержит никакого значения, он вернет значение null, и из-за этого вы получаете только ложный текст.
замените следующую строку в вашем коде, которая заботится о нуле.
String dataIn = prefs.getString("clock") ?? 'default';
Обновлено:
Я думаю, что вы хотите проверить состояние соединения, если состояние соединения установлено, то вы можете проверить, содержат ли данные моментальные снимки или нет.
, если состояние соединения не завершено тогда вы можете показать что-нибудь вроде прогресса inidcator.
if (snap.connectionState == ConnectionState.done) {
if (snap.hasData) {
print(snap.data);
return Text(snap.data);
} else {
return Text("false");
}
} else {
return Text("Loading");
}
},