82
παράμετρος της μεθόδου
updateFromWeb
προτιμήθηκε να είναι
false
ώστε
της καταχώρησης των νέων εγγραφών να μην προηγείται διαγραφή των
τρεχουσών. Με την ολοκλήρωση της διαδικασίας εμφανίζεται κατάλληλο
μήνυμα στον χρήστη και εμφανίζεται η αρχική οθόνη της εφαρμογής
ενεργοποιώντας το
Activity First Screen.
Αρχικοποίηση –
Διεξαγωγή –
Ολοκλήρωση του παιχνιδιού
Η αρχικοποίηση του παιχνιδιού διαδέχεται τη καταχώρηση των
ρυθμίσεων του παιχνιδιού. Οι επιλογές του χρήστη στην
ConfigurationActivity
περνάν και καταγράφονται στην
HomeActivity
που διαχειρίζεται και το
παιχνίδι. Σε αυτήν δημιουργείται ένα νέο
Thread
στο οποίο ανοίγει ένα
socket
στο
port
που έχει επιλεγεί. Σε αυτό το
port
αναμένονται συνδέσεις από τους
clients
.Η διαδικασία αυτή ξεκινάει με κλικ στο πλήκτρο
Connection
της
διεπαφής.
Παράλληλα γίνεται και η αρχικοποίηση των ερωτήσεων με την μέθοδο
initGame
. Η μέθοδος αυτή δημιουργεί έναν πίνακα αντικειμένων
Question
καθώς και ένα αντικείμενο
MyDBHandler
. Από το τελευταίο χρησιμοποιείται η
μέθοδος
makeQuestion
η οποία λαμβάνει σαν παράμετρο το θέμα της
ερώτησης (τυχαία επιλογή από πίνακα συμβολοσειρών) καθώς και τα φίλτρα
που έχουν οριστεί για το περιεχόμενο των ερωτήσεων.
H makeQuestion
διαμορφώνει
το ερώτημα προς την βάση δεδομένων σύμφωνα με τα φίλτρα
που δόθηκαν και λαμβάνει το αποτέλεσμα σε μορφή αντικειμένου
Movie..
Ανάλογα με το θέμα της ερώτησης διαμορφώνει την εκφώνηση της και
επιλέγει τυχαία το ποια από τις πέντε επιλογές θα είναι η σωστή. Επίσης
καταγράφεται η θέση που είναι αποθηκευμένο το
poster
της ταινίας. Οι
εσφαλμένες επιλογές διαμορφώνονται με ανάκτηση εγγραφών για άλλες
ταινίες (με τυχαίο τρόπο) και καταγραφή στα αντίστοιχα πεδία του
αντικειμένου
Question
επιστρέφεται.
Αφού δημιουργηθεί ο πίνακας των ερωτήσεων διαμορφώνεται
κατάλληλα η διεπαφή ώστε να εμφανίζονται οι χρήστες που έχουν συνδεθεί
σε
ListView
. Το
ListView
αυτό χρησιμοποιεί κατάλληλο
Adapter
ώστε να