teoshibin / COMP3018_MDP_RunningTracker

Running Tracker Android App

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RunningTracker

Simple implementation of Android Running Tracker App

Installation

  • Run with emulator
    • gpx files for gps route simulation on emulator can be found here
  • Install APK

Features

  • track current movement (standing, walking, jogging, running, cycling, driving) with gps enabled
  • track speed
  • track today's travelled distance
  • show list of daily travelled history
  • remove all records
  • allow data access from other application through content provider

Possible Enhancement

  • stored longitudes & latitudes are not displayed, map
  • stored elevations are not displayed, elevation graph
  • more database queries for different display
  • theme and settings

Implementation

Folder Structure

.
└── runningtracker/
    ├── calculation/
    ├── content_provider/
    ├── model/
    ├── service/
    ├── view_model/
    ├── view_helper/
    └── view/

calculation contains plain calculations for other class
content_provider allow other application to integrate data with this application
model contains all smaller components that are required for constructing a database
service contains gps location listener service and callbacks interface
view_model view model for GUI state
view_helper contains adapter, decoration & animation stuff
view activities and fragments

Components

  • MVVM achitecture (View, ViewModel, Model)
    • views, UI that interacts with viewmodels and services
    • viewmodels for storing UI states and interact with repository
    • repository, main part of Model used as an abstraction above database stuff
      • entities as database table row object
      • DAO data acces object for querying entities
      • POJO plain old java object for holding queried data similar to virtual table (views in sql's term)
      • type converter for converting java object into premitive type
    • services
    • content provider

License

Licensed under the MIT License.

About

Running Tracker Android App

License:MIT License


Languages

Language:Java 100.0%