Εισαγωγικές έννοιες Ιωάννης Γ. Τσούλος 2014
Διάγραμμα παρουσιάσεως 1. Κατηγορίες κινητών τηλεφώνων 2. Κατηγορίες έξυπνων κινητών τηλεφώνων 3. Προγραμματισμός κινητών συσκευών 4. Ξεκίνημα με το Eclipse SDK 5. Βασικές έννοιες από Java
Κατηγορίες κινητών Τηλεφώνων Τα κινητά τηλέφωνα χωρίζονται σε δύο κατηγορίες: απλά και έξυπνα κινητά. Απλά κινητά. Είναι παλαιάς τεχνολογίας κινητά τηλέφωνα που δεν μπορούν να συνδεθούν στο διαδίκτυο (συνήθως) και χωρίς οθόνη αφής τις περισσότερες φορές. Έξυπνα κινητά. Είναι τηλέφωνα και παρόμοιες συσκευές με σύνδεση στο ίντερνετ και με οθόνη αφής. Σε αυτά υπάρχει η δυνατότητα να μεταφέρουμε κώδικα γραμμένο σε υψηλού επιπέδου γλώσσα (πχ Java)
Κινητά Τηλέφωνα Android Λειτουργικό σύστημα βασισμένο σε Linux Πολλές εταιρείες τα παράγουν Κόστος απόκτησης 50- ευρώ Κατέχουν την πρώτη θέση παγκοσμίως Γλώσσα προγραμματισμού: Κυρίως Java. Δυνατότητα προγραμματισμού από κάθε λειτουργικό σύστημα Για ανέβασμα εφαρμογής απαιτούνται 25 δολλάρια άπαξ.
Κινητά τηλέφωνα Iphone Λειτουργικό σύστημα Ios Μόνον η εταιρεία Apple τα παράγει Κόστος απόκτησης: 300 ευρώ και πάνω για Ipad και 600 ευρώ και πάνω για Iphone Κατέχουν την δεύτερη θέση παγκοσμίως Γλώσσα προγραμματισμού: Objective C Απαιτείται η κατοχή υπολογιστή Mac Για ανέβασμα εφαρμογής απαιτούνται 100 δολλάρια ετησίως
Κινητά τηλέφωνα Symbian Κατείχαν την πρώτη θέση παλαιότερα Τα έδινε η εταιρεία Nokia Πλέον έχουν εγκαταλειφθεί Προγραμματισμός σε C++ Δυνατότητα προγραμματισμού από κάθε λειτουργικό σύστημα Για ανέβασμα εφαρμογής απαιτούταν 1 ευρώ.
Κινητά τηλέφωνα Windows Λειτουργικό σύστημα Windows Κατέχουν 5% παγκοσμίως Τα παρέχουν οι εταιρείες Nokia και HTC Κόστος απόκτησης 200 ευρώ και πάνω Προγραμματισμός σε C# Δυνατότητα προγραμματισμού μόνον από Windows μηχανήματα Για το ανέβασμα εφαρμογής απαιτούνται 100 δολλάρια ετησίως
Γιατί Android Είναι φτηνά στην απόκτησή τους Έχουν μεγάλη διάδοση Δεν απαιτείται η αγορά συγκεκριμένου υπολογιστή Το περιβάλλον ανάπτυξης μπορεί να τρέξει σε κάθε λειτουργικό σύστημα Απαιτείται γνώση της Java
Προγραμματισμός σε Eclipse SDK Δωρεάν λογισμικό για κάθε λειτουργικό σύστημα Μπορεί να χρησιμοποιηθεί και για την συγγραφή κώδικα σε Java αλλά και άλλων γλωσσών προγραμματισμού. Απαιτείται κατέβασμα του Android SDK (σχετικά πολύπλοκη διαδικασία) Συνήθως χρησιμοποιούμε το ADT Bundle (Eclipse + Android SDK) Εγκατάσταση απο http://developer.android.com
Προγραμματισμός σε Qt Creator Δωρεάν λογισμικό για κάθε λειτουργικό σύστημα Προγραμματισμός σε C++ αλλά και σε QML Απαιτεί την ύπαρξη ANDROID SDK και ANDROID NDK Μπορεί να παράξει κώδικα για android, iphone αλλά και για τα νέα Ubuntu Phone, όπως και για Desktop Εγκατάσταση από http://qt-project.org
Προγραμματισμός σε Intel XDK Δωρεάν λογισμικό για κάθε λειτουργικό σύστημα Προγραμματισμός σε HTML5 Μπορεί να δώσει αποτέλεσμα για κάθε κινητό τηλέφωνο αλλά και για Desktop Εγκατάσταση από http://xdk-software.intel.com/
Ανοίγουμε το Eclipse Εισαγωγή Java - Δημιουργία Έργου Δίνουμε File -> New->Java Project Δίνουμε Example1 σαν όνομα έργου Πατάμε Finish Δεξί κλικ στον φάκελο src Επιλέγουμε New->Class Δίνουμε example1 σαν όνομα πακέτου Δίνουμε test1 σαν όνομα κατηγορίας Επιλέγουμε και την μέθοδο main από την επιλογή Which method stubs would you like to create
Εισαγωγή Java Μια απλή main Πληκτρολογούμε την επόμενη main public static void main(string[] args) { int x=100; int y=200; System.out.println("Hello world"); System.out.println("X+Y = "+x+y); System.out.println("X+Y = "+(x+y)); }
Μια απλή κατηγορία σημείο Δίνουμε δεξί κλικ στον φάκελο με το όνομα του πακέτου (example1) New->Class και δίνουμε σαν όνομα point Δεν επιλέγουμε πάλι το main Μέσα στην κατηγορία γράφουμε τον επόμενο κώδικα
Η κατηγορία Point package example1; public class point { private double x,y; public point() { } public double getx() {return x;} public double gety() {return y;} public void set(double mx,double my) {x=mx; y=my;} }
Σύνδεση κατηγοριών { } Η νέα κατηγορία με την main θα είναι πλέον public static void main(string[] args) point x1=new point(); point x2=new point(); x1.set(100,100); x2.set(x1.getx()+5,x1.gety()-10); System.out.println("point2 is "+x2.getx()+","+x2.gety());
Εισαγωγή Java Γραφικά Χρήση της κατηγορίας Frame από το πακέτο AWT Η απόκριση στα γεγονότα γίνεται με event based functions όπως η action, mousepressed κτλ. Δεν χρησιμοποιείται πλέον τόσο όσο το Swing Η βιβλιοθήκη γραφικών του android βασίζεται στο Swing
Δημιουργία Προσομοιωτή Από το Eclipse δίνουμε Window->Android Virtual Device Manager Create Συμπληρώνουμε τα στοιχεία (προσοχή να διαλέξουμε σχετικά πρόσφατο Target) Πατάμε ΟΚ Πολλές φορές είναι πιο χρήσιμο να έχουμε μια σειρά από προσομοιωτές ώστε να δοκιμάσουμε την έξοδο σε όλους πριν την αποστολή για έγκριση.