我一直在研究流的使用,因为我认为这将是我的应用程序的最佳解决方案。我希望能够以特定的时间间隔检查时间,然后根据太阳是否升起或落下自动更改地图的主题。我有主题和太阳代码,但我需要将它们连接在一起。
这是我到目前为止的代码。如果我对控制器和订阅使用 double 并简单地生成一个随机数,那么一切都很好。我每秒都会得到一个不同的随机生成的数字。
然而,使用下面的代码只是再次显示相同的时间。
有人能指出我正确的方向吗?
import 'dart:async';
import 'dart:core';
import 'package:flutter/material.dart';
void main() => runApp(StreamTest());
class StreamTest extends StatefulWidget {
@override
_StreamTestState createState() => _StreamTestState();
}
class _StreamTestState extends State<StreamTest> {
StreamController<DateTime> controller =
StreamController<DateTime>.broadcast();
StreamSubscription<DateTime> streamSubscription;
DateTime currentTime = DateTime.now();
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return MaterialApp(
title: "Stream Demo",
home: Scaffold(
body: Center(
child: Row(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
MaterialButton(
color: Colors.yellow,
child: Text("Subscribe"),
onPressed: () async {
getTime().listen((value) {
print('CURRENT …Run Code Online (Sandbox Code Playgroud)