Επίπεδο Δυσκολίας
Σε αυτό το εργαστήριο θα δημιουργήσουμε μια εφαρμογή η οποία θα μας επιτρέπει να καταγράφουμε ήχους χρησιμοποιώντας το κινητό μας και να τους αποθηκεύουμε σε μια βάση δεδομένων.
Αφού συνδεθούμε στο AppInventor με τον κωδικό μας θα δημιουργήσουμε ένα νέο project το οποίο θα το ονομάσουμε “SoundLibrary”. Στο σχεδιαστικό κομμάτι η εφαρμογή μας θα μοιάζει όπως φαίνεται στην παρακάτω εικόνα.
Η δομή των στοιχείων της οθόνης θα είναι ως εξής:
- Ένα label (SoundTitleLaber) το οποίο θα έχει ως κείμενο: Sound Title
- Ένα text box (SoundTitleTextBox) στο οποίο οι χρήστες θα γράφουν τον τίτλο του ήχου που καταγράφουν
- Ένα Horizontal arrangement στο οποίο θα προσθέσετε:
- Ένα button (RecordSoundButton) το οποίο θα ξεκινάει την καταγραφή του ήχου
- Ένα ακόμα button (StopRecordingButton) το οποίο θα σταματάει την καταγραφή του ήχου
- Ένα label (SoundLibraryLabel) το οποίο θα έχει ως κείμενο: Sound Library
- Ένα Horizontal arrangement στο οποίο θα προσθέσετε:
- Ένα button (PlaySoundButton) το οποίο θα ξεκινάει την αναπαραγωγή του επιλεγμένου ήχου
- Ένα ακόμα button (StopSoundButton) το οποίο θα σταματάει την αναπαραγωγή του επιλεγμένου ήχου
- Ένα List view (SoundsListView) το οποίο θα μας δείχνει την λίστα των αποθηκευμένων ήχων στη βάση δεδομένων
- Ένα Sound recorder το οποίο δεν είναι ορατό και αναλαμβάνει την καταγραφή των ήχων
- Ένα Player που δεν είναι ορατό και αναλαμβάνει την αναπαραγωγή των ήχων
- Ένα TinyDB το οποίο δεν είναι ορατό και αναλαμβάνει την δημιουργία και την συντήρηση της βάσης δεδομένων. Εδώ θα πρέπει να ορίσουμε το namespace της βάσης δεδομένων σε κάτι μοναδικό. Μπορούμε να βάλουμε σαν όνομα το SoundLibrary
Και πάμε τώρα στον προγραμματισμό της εφαρμογής μας. Ας ξεκινήσουμε με τα προφανή. Θα χρειαστεί να ορίσουμε την λειτουργία των δύο πλήκτρων που καταγράφουν και σταματούν την καταγραφή των νέων ήχων.
Τι γίνεται όμως μόλις τελειώσει η καταγραφή κάποιου νέου ήχου; Ο ήχος αυτός έχει αποθηκευτεί στο κινητό μας τηλέφωνο και το στοιχείο Sound recorder έχει κρατήσει την διαδρομή που δείχνει σε αυτό. Θα πρέπει λοιπόν να φτιάξουμε ένα σενάριο που θα παίρνει αυτή την διαδρομή, θα την συνδυάζει με το όνομα του ήχου που θα έχει δώσει ο χρήστης στο text box και θα αποθηκεύει αυτά τα δυο στοιχεία σε μια βάση δεδομένων.
Και αν τυχόν δεν έχουμε γράψει τίτλο στο text box; Δεν θα πρέπει να το ελέγξουμε και αυτό; Για να διορθώσουμε το παραπάνω σενάριο
Τώρα που αποθήκευσα την τιμή στην βάση δεδομένων θα πρέπει να ανανεώσω και την λίστα που έχω στην οθόνη όμως.
Και φυσικά θα πρέπει να δώσω οδηγίες στο List view να πάρει τη νέα ανανεωμένη λίστα
Φυσικά εδώ θα πρέπει να προβλέψω και το εξής. Όταν ανοίγει η εφαρμογή μου θα πρέπει να ψάχνει στη βάση δεδομένων και να φέρνει στο List view όλους τους ήχους που έχω αποθηκεύσει από άλλες φορές.
Και πάμε τώρα να δούμε πως θα παίζουν οι ήχοι που έχουμε αποθηκεύσει.
Και φυσικά θα πρέπει να ορίσουμε το Stop button να σταματάει τον ήχο.
Δοκιμάστε την εφαρμογή, προσθέστε εικονίδιο, τίτλο και ότι άλλο θέλετε και κάντε την εγκατάσταση!