Skip to content

Τεχνική Τεκμηρίωση

Thanos Pappas edited this page Oct 23, 2015 · 1 revision

Η εφαρμογή αποτελείται από 6 κλάσεις οι οποίες αναλύονται παρακάτω. ###MainActivity Στη συγκεκριμένη κλάση υπάρχει το βασικό μενού επιλογών από το οποίο εκτελούνται όλα τα υπόλοιπα Activities τα οποία βρίσκονται παρακάτω. Από το μενού επιλογών της συγκεκριμένης κλάσης ο χρήστης μπορεί να εισάγει στην βάση δεδομένων είτε τη μέτρηση της γλυκόζης του (κουμπί Μετρήσεις γλυκόζης) είτε το πότε πήρε νέα δόση ινσουλίνης ( κουμπί Νέα δόση ινσουλίνης). Όσον αφορά τη νέα δόση ινσουλίνης, μόλις πατηθεί το συγκεκριμένο κουμπί εμφανίζεται ένα AlertDialog από το οποίο ο χρήστης μπορεί να επιλέξει την ημερομηνία, την ακριβή ώρα και τον αριθμό των μονάδων της ινσουλίνης που έλαβε. Όσον αφορά τη μέτρηση της γλυκόζης, μόλις πατηθεί το συγκεκριμένο κουμπί εμφανίζεται ένα AlertDialog από το οποίο ο χρήστης μπορεί να επιλέξει πότε έκανε την μέτρηση καθώς και την τιμή της. Ο χρόνος που πραγματοποιήθηκε η μέτρηση χωρίζεται σε 7 κατηγορίες:

  • Προ πρωινού
  • Μετά πρωινού
  • Προ γεύματος
  • Μετά γεύματος
  • Προ δείπνο
  • Μετά δείπνου
  • Προ ύπνου

###PlotActivity Η συγκεκριμένη κλάση είναι υπεύθυνη για την απεικόνιση των τιμών μέτρησης της γλυκόζης όπως αυτές δόθηκαν από τον χρήστη στο AlertDialog της MainActivity. Μόλις πατηθεί το κουμπί «Στατιστικά μετρήσεων γλυκόζης» γίνεται μία ερώτηση στη βάση η οποία επιστρέφει 3 διαφορετικές λίστες με τιμές της γλυκόζης. Η πρώτη λίστα περιέχει τις μέσες τιμές της γλυκόζης για τις 7 κατηγορίες που αναφέρθηκαν παραπάνω, η δεύτερη λίστα περιέχει τις μέγιστες τιμές για κάθε κατηγορία και τέλος, η τρίτη λίστα περιέχει τις ελάχιστες τιμές της γλυκόζης για κάθε κατηγορία. Η PlotActivity δέχεται ως παράμετρο τις 3 αυτές λίστες και τις χρησιμοποιεί για να εμφανίσει 3 διαφορετικές γραμμές στο διάγραμμα το οποίο έχει στον άξονα των x τις 7 κατηγορίες χρόνου μέτρησης και στον άξονα των y τις τιμές των μετρήσεων.

###WorkoutActivity Η συγκεκριμένη κλάση είναι υπεύθυνη για την διαχείριση των πληροφοριών που απαιτεί η καταγραφή της αθλητικής δραστηριότητας. Πιο συγκεκριμένα, υπάρχει ένα χρονόμετρο το οποίο καταγράφει την διάρκεια συνεχόμενης άσκησης το οποίο ενημερώνει τον χρήστη να ελέγξει τα επίπεδα γλυκόζης στο αίμα του όταν περάσουν 30 λεπτά. Επιπλέον, σχετίζεται με τις κλάσεις DistanceInfo και Times οι οποίες είναι κάποιες βοηθητικές δομές για την αποθήκευση χρήσιμων πληροφοριών. Η κλάση Times περιέχει τους απαραίτητους χρόνους που χρειάζονται, όπως είναι για παράδειγμα ο χρόνος που έχει μετρήσει το χρονόμετρο. Η κλάση DistanceInfo κρατάει πληροφορίες για την απόσταση που έχει διανύσει ο χρήστης καθώς επίσης και τις συντεταγμένες του. Για την διαχείριση της θέσης και των συντεταγμένων του χρήστη στη διάρκεια της άθλησης του έχει υλοποιηθεί η κλάση GPSTracker η οποία είναι ένα Service και κάνει implement την κλάση LocationListener. Δηλαδή, έχουν υλοποιηθεί κάποιοι Listeners οι οποίοι λαμβάνουν το σήμα από το GPS του χρήστη και χρησιμοποιούν τις συντεταγμένες τους για να υπολογίσουν την απόσταση που έχει διανύσει ο χρήστης.

###Nutrition Η συγκεκριμένη κλάση υλοποιεί το παιχνίδι ερωτήσεων με τον χρήστη. Αρχικά, αρχικοποιούνται σε έναν πίνακα όλες οι ερωτήσεις στις οποίες κάθε ερώτηση αντιστοιχίζεται με 3 πιθανές απαντήσεις από τις οποίες μία αρχικοποιείται ως σωστή και οι υπόλοιπες ως λανθασμένες. Στη συνέχεια, κάθε φορά που ο χρήστης επιλέγει μία απάντηση τότε επιλέγεται τυχαία μία από τις υπολειπόμενες ερωτήσεις μέχρις ότου απαντηθούν όλες οι ερωτήσεις. Στο τέλος, υπολογίζεται το ποσοστό των σωστών απαντήσεων.

###Διάγραμμα Κλάσεων

Clone this wiki locally