Ανάπτυξη Εφαρμογών για Κινητές Συσκευές

Εκτύπωση

Στόχος

Στόχος του μαθήματος είναι η εξοικείωση με βασικές αρχές προγραμματισμού δικτυακών εφαρμογών για κινητές συσκευές. Στη σημερινή εποχή, τα κινητά τηλέφωνα και παρόμοιες συσκευές (π.χ. tablets) εμφανίζονται με πολλά χαρακτηριστικά όπως GPS, ποικίλους αισθητήρες και οθόνες αφής αλλά και με εξελιγμένο λογισμικό με το οποίο η πλατφόρμα της κινητής συσκευής μπορεί να αποκτήσει έξυπνες και αξιοσημείωτες υπολογιστικές ιδιότητες. Οι φοιτητές θα κατανοήσουν την αρχιτεκτονική της ευρύτατα διαδεδομένης και κυρίαρχης πλατφόρμας Android και τη διαδικασία ανάπτυξης εφαρμογών για κινητές συσκευές. Συμπληρωματικά με την πλατφόρμα Android, στα πλαίσια του μαθήματος παρουσιάζονται βασικές προγραμματιστικές τεχνικές για την υλοποίηση δικτυακών εφαρμογών με χρήση της γλώσσας προγραμματισμού Java. Οι φοιτητές καλούνται να εφαρμόσουν τις γνώσεις που απέκτησαν στα πλαίσια προγραμματιστικών εργασιών.

Περιεχόμενα

  • Ενότητα 1: Επισκόπηση έξυπνων κινητών συσκευών και των αρχιτεκτονικών τους. Παρουσίαση των διαδεδομένων λειτουργικών συστημάτων για κινητές συσκευές και της αρχιτεκτονικής της πλατφόρμας Android.
  • Ενότητα 2: Βασικές έννοιες και μοντέλο εφαρμογών Android. Επισκόπηση Android SDK. Εισαγωγή στα Αndroid Development Tools. Εξοικείωση με τον Android Emulator. Ανάπτυξη εφαρμογών με χρήση Android SDK, Android Studio και Eclipse framework. Σύνοψη Προγραμματισμού σε Περιβάλλον Android.
  • Ενότητα 3: Σχεδιασμός User Interface εφαρμογών Android.
  • Ενότητα 4: Συνιστώσες εφαρμογών και αλληλεπίδραση συνιστωσών: Android Activities και Android Intents.
  • Ενότητα 5: Χρήση δεδομένων και βάσεων δεδομένων σε εφαρμογές Android.
  • Ενότητα 6: Χρήση χαρτών. Η προγραμματιστική διεπαφή Google Maps API και η κλάση MapView.
  • Ενότητα 7: Υπηρεσίες με βάση πληροφορία θέσης – Location Based Services.
  • Ενότητα 8: Cases studies – Εργαστήριο: Παραδείγματα ανάπτυξης ολοκληρωμένων εφαρμογών Android.
  • Ενότητα 9: Cases studies – Εργαστήριο: Παραδείγματα ανάπτυξης ολοκληρωμένων εφαρμογών Android.
  • Ενότητα 10: Cases studies – Εργαστήριο: Παραδείγματα ανάπτυξης ολοκληρωμένων εφαρμογών Android.

Ενδεικτικές Εφαρμογές

  • Εφαρμογές πλοήγησης για τυφλούς.
  • Εφαρμογή επικοινωνίας για κωφούς και βαρήκοους.
  • Haemelin app παρακολούθησης ασθενών αιματολογικής ογκολογικής κλινικής.
  • Internet forum client.
  • Οπτικοποίηση σχέσεων και δραστηριοτήτων σε μέσα κοινωνικής δικτύωσης.
  • Couch surfing.
  • Order management tracking.
  • Container tracking.
  • Φιλική δήλωση ατυχήματος.
  • Radiation monitor για την χρήση smartphones.
  • CabMate taxi sharing.
  • Έξυπνο σπίτι στο Cloud.
  • Τραπεζική εφαρμογής ρύθμιση δανείων.
  • eShop client.
  • Client αυτόματου συστήματος προβλέψεων βασισμένο σε δεδομένα τεχνικής ανάλυσης.
  • Διαχειριστής τροχήλατης κάμερας με μικροϋπολογιστή Arduino και Raspberry.
  • Διαχειριστής τροχήλατου ρομποτικού βραχίονα.
  • Virtual guide με χρήση QR codes.
  • Eφαρμογή σχολικής ηγεσίας.
  • Tουριστική εφαρμογή χρονικά εξαρτημένου προσανατολισμού.
  • Eφαρμογή μετακίνησης με μέσα μαζικής μεταφοράς.
  • Video games.
  • Tools for remote control/monitoring κ.ά.
  • Mark L. Murphy, Beginning Android 2: Begin the journey toward your own successful Android 2 applications, Apress 2010.
  • Sayed Y. Hashimi, Satya Komatineni, Dave MacLean: Pro Android 2: Covers Google’s Android 2 Platform including advanced topics such as OpenGL, Widgets, Text to Speech, Multi-Touch, and Titanium Mobile, Apress 2010.
  • Reto Meier, Professional Android 2 Application Development, Wrox Programmer to Programmer, Wiley Publishing, 2010.
  • F. Ableson, C. Collins, R. Sen, “Unlocking Android: A Developer’s Guide”, Manning Publications, 2009.
  • E. Burnette, “Hello, Android (3rd edition): Introducing Google’s Mobile Development Platform”, Pragmatic Bookshelf, 2010.
  • M. L. Murphy, “Android Programming Tutorials”, 3rd Edition, CommonsWare, 2010.
  • J. Steele, N. To, “The Android Developer’s Cookbook: Building Applications with the Android SDK”, Addison-Wesley Professional, 2010.
  • P.J. Deitel, H. M. Deitel, A. Deitel, M. Morgano “Android for Programmers: An App-Driven Approach”, Prentice Hall, July 2011.
  • The Java Tutorial: http://java.sun.com/docs/books/tutorial/index.html
  • Java 2D API Programmer’s Guide: http://java.sun.com/j2se/1.5.0/docs/guide/2d/ spec/j2d-bookTOC.html
  • Java Sound API Guide: http://java.sun.com/j2se/1.4.2/docs/guide/sound/ programmer_guide/contents.html
  • JMF API Guide: http://java.sun.com/products/java-media/jmf/2.1.1/ specdownload.html

Πρόσθετα Συγγράμματα

  • Ι. Κάβουρας, Ι. Μήλης, Γ. Ξυλωμένος, Κ. Ρουκουνάκη, «Κατανεμημένα Συστήματα με Java”, Κλειδάριθμος, 2011
  • Li, Ze-Nian, Drew, Mark S., Fundamentals of Multimedia, Prentice Hall 2004
  • Roads Curtis, The Computer Music Tutorial, MIT Press 1996
  • McClellan, J. H. et al., DSP First: A Multimedia Approach, Prentice Hall 1998
  • Salomon D., Data Compression – The Complete Reference, Springer 2004
  • Watt. A. et al., The Computer Image, Addison Wesley, 1998