FileDataManager class

Stores Measurement objects on the device's local storage media. Supports compression (zip) and encryption.

The path and filename format is


where ~ is the folder where an application can place files that are private to the application.

On iOS, this is the NSDocumentsDirectory and the files can be accessed via the MacOS Finder.

On Android, Flutter files are stored in the AppData directory, which is located in the data/data/<package_name>/app_flutter folder. Files can be accessed via AndroidStudio.





dataEndPoint DataEndPoint?
The DataEndPoint that this data manager is handling. Set in the initialize method.
no setterinherited
deployment SmartphoneDeployment
The deployment using this data manager.
no setterinherited
events Stream<DataManagerEvent>
Stream of data manager events.
no setterinherited
file Future<File>
The current file being written to.
no setter
fileDataEndPoint FileDataEndPoint
no setter
filename Future<String>
Full path and filename according to this format:
no setter
hashCode int
The hash code for this object.
no setterinherited
path Future<String>
The full path where data files are stored on the device.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
sink Future<IOSink>
The currently used IOSink.
no setter
studyDeploymentId String
The ID of the study deployment that this manager is handling.
no setterinherited
type String
The type of this data manager as enumerated in DataEndPointTypes.
no setteroverride


addEvent(DataManagerEvent event) → void
Add event to the events stream.
close() Future<void>
Flush any buffered data and close this data manager. After calling close the data manager can no longer be used.
flush(File flushFile, IOSink flushSink) Future<void>
Flushes data to the file, compress, encrypt, and close it.
initialize(DataEndPoint dataEndPoint, SmartphoneDeployment deployment, Stream<Measurement> measurements) Future<void>
Initialize the data manager by specifying the study deployment, the dataEndPoint, and the stream of measurements events to handle.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
onDone() Future<void>
When the data stream closes, the onDone handler is called. Default implementation is a no-op function. If another behavior is wanted, implementations of this abstract data manager should handle closing of the data stream.
onError(Object? error) Future<void>
When an error event is send on the stream, the onError handler is called.
onMeasurement(Measurement measurement) Future<void>
On each measurement collected, the onMeasurement handler is called.
toString() String
A string representation of this object.
write(Measurement measurement) Future<void>
Writes a JSON encoded measurement to the file.


operator ==(Object other) bool
The equality operator.