Κώδικας flutter εργαστηριακού μέρους του μαθήματος Αλληλεπίδρασης Ανθρώπου-Υπολογιστή (ΑΑΥ) της Ροής Υ (Υπολογιστικά Συστήματα) της Σχολής Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ του Εθνικού Μετσοβίου Πολυτεχνείου.
Το πρωτότυπο Figma της εφαρμογής μπορείτε να το δείτε εδώ. Κατά την υλοποίηση σε κώδικα Dart και περιβάλλον Flutter του πρωτοτύπου δημιουργήσαμε 3 αρχεία .dart
εντός του φακέλου lib/
και πιο συγκερκιμένα τα:
main.dart
Το σημείο εισόδου της εφαρμογής, υλοποιεί τη συνάρτηση main()
, το widget της κύριας οθόνης TaskListScreenWidget
που υλοποιεί την TaskListScreen
του πρωτοτύπου καθώς και κάποιες άλλες βοηθητικές συναρτήσεις και κλάσεις
task.dart
Περιέχει το widget της οθόνης προσθήκης ενός task ViewEditTaskWidget
που υλοποιεί την οθόνη ViewEditTask
του πρωτοτύπου
camera.dart
Περιέχει το widget της φωτογραφικής μηχανής CameraWidget
που υλοποιεί την οθόνη Camera
του πρωτοτύπου
Στο φάκελο assets/images/
έχουμε προσθέσει τα αρχεία 4 εικονιδίων. Τον φάκελο αυτό τον έχουμε δηλώσει στο αντίστοιχο section του pubspec.yaml
Χρησιμοποιούμε τα παρακάτω πρόσθετα στον κωδικά μας
Υλοποίηση βάσης δεδομένων SQLite. Για την μόνιμη εγγραφή παραμέτρων και στοιχείων της εφαρμογής μας σε βάση δεδομένων, έτσι ώστε αυτά να μη χάνονται κάθε φορά που σταματάει η εκτέλεσή της.
- path:
Πρόσβαση στο σύστημα αρχείων της συσκευής, έτσι ώστε να μπορεί να αποθηκεύεται σε αρχείο η βάση SQLite που χρησιμοποιούμε.
- camera: ^0.10.0+4
Πρόσβαση στην κάμερα της συσκευής
- google_mlkit_text_recognition: ^0.5.0
Αναγνώριση κειμένου (λατινική γραφή) από εικόνα
Αφού κάνετε clone το repository τρέχετε είτε μέσω του VS Code είτε από τη γραμμή εντολών την εντολή flutter pub get
. Εξαιτίας της χρήσης των παραπάνω προσθέτων, η εφαρμογή δεν μπορεί να γίνει debug μέσω του browser όπως είχαμε δείξει στο εργαστήριο, αλλά μόνο μέσω εικονικής μηχανής Android. Φροντίστε η εικονική μηχανή που θα δημιουργήσετε να υποστηρίζει API level τουλάχιστον 22 (από τον SDK Manager), να μην έχει τα Google Play Services (για να μπορείτε να συνδέεστε με root πρόσβαση στο σύστημα αρχείων της εικονικής συσκευής μέσω adb
) και τέλος από τις advanced ρυθμίσεις της εικονικής σας μηχανής (μέσω του AVD Manager) φροντίστε να ορίσετε η πίσω κάμερα να συνδέεται με την Web camera σας (την μπροστινή κάμερα μπορείτε να την απενεργοποιήσετε).
Σε περίπτωση που θέλετε να φτιάξετε το APK αρχείο για να εγκαταστήσετε το 2D2D στο Android τηλέφωνο ή tablet σας γράψτε flutter build apk
στη γραμμή εντολών. Στο τέλος θα το βρείτε στη θέση build/app/outputs/flutter-apk/app-release.apk
.