๐Stream data
Stream provides you a sequence of data. It can become memory leaks, if you don't dispose them correctly.
Usage
Stream data management is difficult. With Pulse-X, you won't have to use StreamController or Stream, or listen to StreamController. Pulse-X provides you with PulseXStreamViewModel class that you can extend and PulseXStreamBuilder for reactive UI.
Now, we'll create a realtime clock project that uses Stream data with Pulse-X.
Then, start creating a TimerViewModel class like this.
class TimerViewModel extends PulseXStreamViewModel<String> { // specify stream data type
late Timer _timer;
final DateFormat formattedDate = DateFormat('h:mm:ss a'); // convert date format
void addDateTime() {
_timer = Timer.periodic(
const Duration(seconds: 1),
(timer) {
String currentTime = formattedDate.format(DateTime.now());
addValue(currentTime); // Pulse will automatically add data via sink
},
);
}
@override
void onDispose() {
_timer.cancel(); // cancel your timer or it'll probably make memory leak
}
}See! You don't even use stream here. Because Pulse is handling Stream automatically.
Then, it's time to create TimerView class.
๐ Ez done!!
Complete source code can be found here. https://github.com/YeLwinOo-Steve/stream_time
Last updated