Κωδικός Μαθήματος

ΠΠΣ-150

Εξάμηνο Μαθήματος

2ου Εξαμήνου

Πιστωτικές Μονάδες

7,5

Ηλεκτρονικό Υλικό

https://evdoxos.ds.unipi.gr/courses/DSERV106

Κατηγορία Μαθήματος

Υποχρεωτικό

Διδάσκοντες

Α. Μενύχτας

Κινητή Υπολογιστική και Εφαρμογές

Στόχος

Η διείσδυση των κινητών συσκευών σε όλους τους τομείς της ανθρώπινης δραστηριότητας είναι θεαματική. Οι σημερινές κινητές συσκευές με το πλήθος των διαθέσιμων εφαρμογών και δυνατοτήτων που διαθέτουν, καθώς και τη δυνατότητα πρόσβασης στο Διαδίκτυο τείνουν να αντικαταστήσουν τους υπολογιστές αλλά και μια πληθώρα άλλων συσκευών όπως φωτογραφικές μηχανές, MP3 players, κλπ. Αυτό κάνει τις κινητές συσκευές ιδιαίτερα δημοφιλείς στους χρήστες, ενώ η διαδεδομένη χρήση κινητών συσκευών και η ραγδαία ανάπτυξη αντίστοιχων εφαρμογών συμβάλουν στην επιτάχυνση της επιχειρησιακής καινοτομίας. Στόχος του μαθήματος είναι να παρέχει βασικές γνώσεις τεχνολογιών που θα δώσουν τη δυνατότητα εκμετάλλευσης των ευκαιριών που παρέχονται από τη βιομηχανία ανάπτυξης εφαρμογών κινητών συσκευών.
Το μάθημα παρουσιάζει όλες τις σύγχρονες τεχνολογίες, μεθοδολογίες και εργαλεία για το σχεδιασμό και την ανάπτυξη καινοτόμων εφαρμογών για κινητές συσκευές που αξιοποιούν τις δυνατότητες που έχουν ενσωματωθεί σε αυτές τις συσκευές. Αναλύονται τεχνολογίες εύρεσης θέσης, αλληλεπίδρασης με τους χρήστες, επικοινωνίας με το Διαδίκτυο καθώς και με έξυπνες συσκευές (π.χ. αισθητήρες και έξυπνα ρολόγια) στο πλαίσιο του Διαδικτύου των Πραγμάτων (Internet of Things). Παρουσιάζεται μια επισκόπηση των κυριότερων πλατφόρμων για κινητές συσκευές όπως iPhone, Android, Windows, καθώς και υβριδικές πλατφόρμες, βασισμένες σε τεχνολογίες διαδικτύου καλύπτοντας όλο τον κύκλο ζωής μιας εφαρμογής, από το σχεδιασμό και την ανάπτυξη, μέχρι τις δοκιμές και την παραγωγική λειτουργία.
Θα πραγματοποιηθούν μια σειρά εργαστηριακών μαθημάτων που θα επιτρέπουν την εξειδίκευση των φοιτητών σε βασικές έννοιες κινητής υπολογιστικής, υλοποίησης, παραμετροποίησης και βελτιστοποίησης σχετικών εφαρμογών, καθώς και τον συστημάτων που χρειάζονται για να τις υποστηρίξουν (εξυπηρετητές, διαδικτυακές υπηρεσίες κτλ.), με στόχο την αύξηση της ανταγωνιστικότητας στην αγορά εργασίας βάσει των τρεχουσών αναγκών αναφορικά με εξειδίκευση σε κινητή υπολογιστική και εφαρμογές.

 

Περιεχόμενα

Πλατφόρμες Κινητών Συσκευών

Βασικές έννοιες, μοντέλο Android εφαρμογών, η πλατφόρμα Android, αρχιτεκτονική πλατφόρμας, δομικά στοιχεία εφαρμογών, διεργασίες (activities), υπηρεσίες (services), πάροχοι περιεχομένου (content providers), παραλήπτες επικοινωνίας (broadcast receivers).

Αρχές, Τεχνικές και Εργαλεία Ανάπτυξης

Αρχιτεκτονικά Πρότυπα, Σχεδιασμός Συστημάτων και Υπηρεσιών για την ταυτόχρονη υποστήριξη εφαρμογών για το διαδίκτυο και κινητές συσκευές. Εργαλεία Ανάπτυξης Εφαρμογών (ide), Ελέγχου Κώδικα (git), Αυτόματης Σύνθεσης Κώδικα (build automation), Συνεχούς Ενσωμάτωσης (continuous integration).

Ανάπτυξη Εφαρμογών με χρήση Android Studio

Σχεδιασμός και υλοποίηση γραφικής διεπαφής χρήστη, χρήση XML layouts, βασικά widgets (labels, check boxes, buttons, input boxes), containers (widget collections), input method framework, drop-down menus, fonts.

Υπηρεσίες και Εκτέλεση στο Παρασκήνιο

Ανάπτυξη υπηρεσιών και τεχνικές για την εκτέλεση χρονοβόρων εργασιών στο παρασκήνιο. Επικοινωνία μεταξύ υπηρεσιών και διεπαφής χρήστη.

Διαχείριση Δεδομένων σε Εφαρμογές Android

Shared Preferences, υλοποίηση προτιμήσεων, αποθήκευση κατάστασης.

Διαδικτυακές Υπηρεσίες

Επικοινωνία με εξυπηρετητές, αποστολή και λήψη δεδομένων με τη χρήση διαδικτυακών υπηρεσιών. Ενσωμάτωση εφαρμογών διαδικτύου.

Πρόσβαση σε Πληροφορία θέσης

Μηχανισμοί Εντοπισμού Θέσης, διαχείριση πληροφοριών θέσης σε εφαρμογές, χρήση Google Maps, MapViews, Geocoding.

Γραφικά

Προσθήκη εξωτερικών πηγών, αποθήκευση και επεξεργασία αρχείων, διαχείριση εικόνων και γραφικών. Σχεδιασμός για διαφορετικές οθόνες και συσκευές.

Βάσεις Δεδομένων σε Κινητές Εφαρμογές

Βάση δεδομένων SQLite και realm.io, δημιουργία πινάκων, εισαγωγή και τροποποίηση εγγραφών, ερωτήματα.

Επικοινωνία με Εξωτερικές Συσκευές

Χρήση τεχνολογίας Bluetooth και σχετικών βιβλιοθηκών για την ανταλλαγή δεδομένων μεταξύ κινητού, αισθητήρων και έξυπνων ρολογιών.

Προτεινόμενα Συγγράμματα

  • B. Phillips, C. Stewart, B. Hardy, K. Marsicano, “Android Programming: The Big Nerd Ranch Guide”, Ιούλιος 2015
  • J. Annuzzi, L. Darcey, S. Conder, “Advanced Android Application Development”, Νοέμβριος 2014
  • R. Meier, “Professional Android 4 Application Development”, Απρίλιος 2012
  • G. Berkowski, “How to Build a Billion Dollar App: Discover the secrets of the most successful entrepreneurs of our time”, Σεπτέμβριος 2014