– Περιγραφή components ενός Android Project
Στην ενότητα αυτή θα παρουσιαστούν αναλυτικά τα συστατικά ενός Android Studio Project. Σε αυτά περιλαμβάνονται το αρχείο AndroidManifest.xml, ο πηγαίος κώδικας της εφαρμογής (σε Java ή/και Kotlin), τα αρχεία περιγραφής της γραφικής διεπαφής (xml) καθώς όλα τα υπόλοιπα αρχεία πόρων της εφαρμογής (όπως fonts, images, themes, colors, raw data, κλπ.). Θα αναλυθεί η χρησιμότητα κάθε διαφορετικού συστατικού καθώς και ο τρόπος με τον οποίο αυτά συνδέονται μεταξύ τους στα πλαίσια μιας εφαρμογής. Τέλος, θα παρουσιαστούν τα αρχεία που σχετίζονται με το χρησιμοποιούμενο εργαλείο αυτοματισμού κατασκευής (build) του project (Gradle), καθώς και ο τρόπος ρύθμισης των σχετικών παραμέτρων κατασκευής.
– Περιγραφή των Application Components
Τα συστατικά εφαρμογών (Application Components) είναι τα δομικά στοιχεία από τα οποία αποτελούνται οι εφαρμογές Android. Υπάρχουν τέσσερα βασικά συστατικά τα οποία μπορούν να χρησιμοποιηθούν στις εφαρμογές Android: οι δραστηριότητες (activities), οι υπηρεσίες (services), οι πάροχοι περιεχόμενου (content providers) και οι δέκτες εκπομπής (broadcast receivers). Τα συστατικά αυτά συνδέονται χαλαρά́ μεταξύ τους (loosely coupled) στο αρχείο AndroidManifest.xml το οποίο περιέχει περιγραφή́ του κάθε συστατικού́ και του τρόπου αλληλεπίδρασης μεταξύ τους. Στην ενότητα αυτή θα αναλύσουμε τα συστατικά αυτά καθώς και τον τρόπο που χρησιμοποιούνται μέσα σε μια εφαρμογή Android.
– Ανάπτυξη διεπαφής χρήστη και εφαρμογών Android
Η συντριπτική πλειοψηφία των εφαρμογών κινητών συσκευών περιλαμβάνουν γραφική διεπαφή με την οποία ο χρήστης καλείται να αλληλεπιδράσει. Το συστατικό που παρέχει τη γραφική διεπαφή είναι η δραστηριότητα (activity). Στην ενότητα αυτή θα παρουσιαστεί αναλυτικά ο τρόπος με τον οποίο μπορούμε να προσθέσουμε activities σε μια εφαρμογή καθώς και τον τρόπο με τον οποίο μπορούμε να σχεδιάσουμε εν συνεχεία τη επιθυμητή γραφική διεπαφή. Θα αναλυθεί η έννοια του γραφικού συστατικού (view), της συλλογής γραφικών συστατικών (view group) καθώς και της χωροδιάταξης των συστατικών (layout). Η σχεδίαση θα γίνει τόσο με τη χρήση του visual designer (drag-n-drop) όσο και απευθείας με κώδικα xml. Τέλος, θα αναλυθεί με παραδείγματα η έννοια του κύκλου ζωής ενός activity (lifecycle).
– Android Threads, Monitors and Messages
Στην ενότητα αυτή θα παρουσιαστεί ο τρόπος υλοποίησης πολυνηματικότητας (multithreading) στις εφαρμογές Android. Θα αναλυθεί η έννοια του main thread (UI) καθώς και οι ανάγκες πολυνηματικότητας που προκύπτουν για την εκτέλεση χρονοβόρων εργασιών (αλληλεπίδραση με βάσεις δεδομένων, εκτέλεση αλγορίθμων, σύνδεση στο δίκτυο, κλπ.). Θα παρουσιαστούν (με παραδείγματα) διάφορες τεχνολογίες και τεχνικές υλοποίησης, όπως java threads, monitors, messages, async tasks, κλπ.