awareframework_locations 0.0.5

  • Readme
  • Changelog
  • Example
  • Installing
  • 43

awareframework_locations #

Build Status

The locations sensor provides the best location estimate for the users’ current location, automatically.

Install the plugin into project #

  1. Edit pubspec.yaml
dependencies:
    awareframework_locations
  1. Import the package on your source code
import 'package:awareframework_locations/awareframework_locations.dart';
import 'package:awareframework_core/awareframework_core.dart';

Public functions #

Locations Sensor #

  • start()
  • stop()
  • sync(boolean force)
  • enable()
  • disable()
  • isEnable()
  • setLabel(String label)

Configuration Keys #

  • geoFences: String? Geofences that are going to be checked on the location updates. If within the range of these fences, then the location is accepted as a permitted update. If null, all location updates are accepted as permitted. String follows the regex in format (?:latitude),(?:longitude)[ \t;]+. (default = null)
  • statusGps: Booleantrue or false to activate or deactivate GPS locations. (default = true) Android Only
  • statusNetwork: Boolean true or false to activate or deactivate Network locations. (default = true) Android Only
  • statusPassive: Boolean true or false to activate or deactivate passive locations. (default = true) Android Only
  • frequencyGps: Int how frequent to check the GPS location, in seconds. By default, every 180 seconds. Setting to 0 (zero) will keep the GPS location tracking always on. (default = 180)
  • minGpsAccuracy: Int the minimum acceptable accuracy of GPS location, in meters. By default, 150 meters. Setting to 0 (zero) will keep the GPS location tracking always on. (default = 150)
  • frequencyNetwork: Int how frequently to check the network location, in seconds. By default, every 300 seconds. Setting to 0 (zero) will keep the network location tracking always on. (default = 300) Android Only
  • minNetworkAccuracy: Int the minimum acceptable accuracy of network location, in meters. By default, 1500 meters. Setting to 0 (zero) will keep the network location tracking always on. (default = 1500) Android Only
  • expirationTime: Long the amount of elapsed time, in seconds, until the location is considered outdated. By default, 300 seconds. (default = 300)
  • saveAll: Boolean Whether to save all the location updates or not. (default = false)
  • enabled: Boolean Sensor is enabled or not. (default = false)
  • debug: Boolean enable/disable logging to Logcat. (default = false)
  • label: String Label for the data. (default = "")
  • deviceId: String Id of the device that will be associated with the events and the sensor. (default = "")
  • dbEncryptionKey Encryption key for the database. (default = null)
  • dbType: Engine Which db engine to use for saving data. (default = Engine.DatabaseType.NONE)
  • dbPath: String Path of the database. (default = "aware_locations")
  • dbHost: String Host for syncing the database. (default = null)

Data Representations #

The data representations is different between Android and iOS. Following links provide the information.

Example usage #

// init config
var config = LocationsSensorConfig()
  ..debug = true
  ..label = "label";

// init sensor
var sensor = new LocationsSensor(config);

void method(){
    /// start 
    sensor.start();
    
    /// set observer
    sensor.onLocationChanged.listen(LocationData data){
      setState((){
        // Your code here
      });
    });
    
    /// stop
    sensor.stop();
    
    /// sync
    sensor.sync(true);  
    
    // make a sensor care by the following code
    var card = new LocationCard(sensor:sensor);
    // NEXT: Add the card instance into a target Widget.
}

License #

Copyright (c) 2018 AWARE Mobile Context Instrumentation Middleware/Framework (http://www.awareframework.com)

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LI CENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

0.0.1 #

  • TODO: Describe initial release.

example/README.md

awareframework_locations_example #

Demonstrates how to use the awareframework_locations plugin.

Getting Started #

For help getting started with Flutter, view our online documentation.

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  awareframework_locations: ^0.0.5

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:awareframework_locations/awareframework_locations.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
0
Health:
Code health derived from static analysis. [more]
100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
65
Overall:
Weighted score of the above. [more]
43
Learn more about scoring.

We analyzed this package on Nov 11, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.6.0
  • pana: 0.12.21
  • Flutter: 1.9.1+hotfix.6

Platforms

Detected platforms: Flutter

References Flutter, and has no conflicting libraries.

Health suggestions

Fix lib/awareframework_locations.dart. (-0.50 points)

Analysis of lib/awareframework_locations.dart reported 1 hint:

line 53 col 29: The value of the field '_LocationStream' isn't used.

Maintenance suggestions

The package description is too short. (-20 points)

Add more detail to the description field of pubspec.yaml. Use 60 to 180 characters to describe the package, what it does, and its target use case.

Package is pre-v0.1 release. (-10 points)

While nothing is inherently wrong with versions of 0.0.*, it might mean that the author is still experimenting with the general direction of the API.

Homepage URL is insecure. (-5 points)

Update the homepage field and use a secure (https) URL.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.0.0-dev.68.0 <3.0.0
awareframework_core ^0.1.1 0.1.1
flutter 0.0.0
Transitive dependencies
charts_common 0.5.0 0.8.1
charts_flutter 0.5.0 0.8.1
collection 1.14.11 1.14.12
intl 0.15.8 0.16.0
logging 0.11.3+2
meta 1.1.7 1.1.8
path 1.6.4
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8
Dev dependencies
flutter_test
test any