FileDataManager class
Stores Measurement
objects on the device's local storage media.
Supports compression (zip) and encryption.
The path and filename format is
~/carp/deployments/<study_deployment_id>/data/carp-data-yyyy-mm-dd-hh-mm-ss-ms.json.zip
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.
- Inheritance
-
- Object
- AbstractDataManager
- FileDataManager
Constructors
Properties
- 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
Methods
-
addEvent(
DataManagerEvent event) → void -
Add
event
to the events stream.inherited -
close(
) → Future< void> -
Flush any buffered data and close this data manager.
After calling close the data manager can no longer be used.
override
-
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
, thedataEndPoint
, and the stream ofmeasurements
events to handle.override -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
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.
override
-
onError(
Object? error) → Future< void> -
When an error event is send on the stream, the onError handler is called.
inherited
-
onMeasurement(
Measurement measurement) → Future< void> -
On each measurement collected, the onMeasurement handler is called.
override
-
toString(
) → String -
A string representation of this object.
inherited
-
write(
Measurement measurement) → Future< void> -
Writes a JSON encoded
measurement
to the file.
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited