SQLiteDataManager class

Stores DataPoint json objects in an SQLite database on the device's local storage media. The name of the table is 'data_points'.

The path and filename format is

~/carp-data-yyyy-mm-dd-hh-mm-ss-ms.db

where ~ is the folder where SQLite places it database files.

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

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

A new DB file is created each time the app is (re)started. Hence, several .db files may exist for a study. This is done to ensure that the DB is not corrupted when an app is forced to close and to keep the size of db files down.

Inheritance

Constructors

SQLiteDataManager()

Properties

controller StreamController<DataManagerEvent>
getter/setter pairinherited
database ↔ Database?
getter/setter pair
databasePath Future<String>
Full path and name of the DB according to this format:
no setter
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
hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
studyDeploymentId String
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
initialize(DataEndPoint dataEndPoint, MasterDeviceDeployment deployment, Stream<DataPoint> data) Future<void>
Initialize the data manager by specifying the dataEndPoint, study deployment, and the stream of data events to handle.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onDataPoint(DataPoint dataPoint) Future<void>
On each data event from the data stream, the onDataPoint handler is called. Implementations of this interface should handle how to save or upload the dataPoint.
override
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.
inherited
onError(Object? error) Future<void>
When an error event is send on the stream, the onError handler is called.
inherited
toString() String
A string representation of this object.
inherited

Operators

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

Constants

TABLE_NAME → const String