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
-
- Object
- AbstractDataManager
- SQLiteDataManager
Constructors
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
, studydeployment
, and the stream ofdata
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