ΕΦΑΡΜΟΓΗ ΠΑΡΑΓΩΓΗΣ ΚΡΥΠΤΟΛΕΞΩΝ ΣΕ ΠΛΑΤΦΟΡΜΑ ANDROID

Σχετικά έγγραφα
Ανάπτυξη Διεπαφών Χρήστη σε Λειτουργικά Συστήματα Κινητών Συσκευών

ANDROID Προγραμματισμός Εφαρμογών

Επιμέλεια: Μαργαρίτα Ρουγγέρη Επιβλέπων: Γεώργιος Στυλιαράς Πληροφορική Πολυμέσα ΓΤΠ61 4 η Εργασία 2011

Digital Academy. Εισαγωγή στην ανάπτυξη Android Εφαρμογών

Εφαρμογές Υπολογιστών. Κεφάλαιο 4 Λογισμικό Συστήματος

64.1% 18.8% 5.9% 5.2% 2.7%

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Ανάπτυξη εφαρμογής Android και IOS σε περιβάλλον Flash. ΟΝΟΜΑΤΕΠΩΝΥΜΑ ΣΠΟΥΔΑΣΤΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΜΣ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ & ΥΠΗΡΕΣΙΕΣ ΚΑΤΕΥΘΥΝΣΗ ΨΗΦΙΑΚΕΣ ΕΠΙΚΟΙΝΩΝΙΕΣ ΚΑΙ ΔΙΚΤΥΑ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού

Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ

Τεχνολογίες & Εφαρμογές Πληροφορικής Ενότητα 10: Κινητή Τηλεφωνία

ΚΕΦΑΛΑΙΟ 10. Υπηρεσίες και εφαρμογές Διαδικτύου. ΚΕΦΑΛΑΙΟ 10 Υπηρεσίες και εφαρμογές Διαδικτύου. Α Γενικού Λυκείου

Χρήση του Office 365 σε τηλέφωνο Android

ΜΑΘΗΜΑ 3 ΛΟΓΙΣΜΙΚΟ (SOFTWARE)

Κατασκευή δικτυακής εφαρμογής στην αρχιτεκτονική ios iphone που υλοποιεί ένα παιχνίδι ερωτοαπαντήσεων

Smartphones και πολυμέσα

Ανάπτυξη διαδικτυακής εφαρμογής σε περιβάλλον κινητών συσκευών με λειτουργικό σύστημα Android

12/5/18. συστημάτων. Το λογισµικό συστηµάτων. Κεφάλαιο 5

Information Technology for Business

Οδηγός γρήγορης εκκίνησης

Τεχνολογία Ηλεκτρονικού Εμπορίου

Σύγχρονες τάσεις στα ασύρματα ευρυζωνικά δίκτυα και δυνατότητες αξιοποίησής τους στην ελληνική περιφέρεια

Διαφορές single-processor αρχιτεκτονικών και SoCs

Σχεδιαστικά Προγράμματα Επίπλου

Νεογεωγραφία και Χαρτογραφική Διαδικτυακή Απεικόνιση. Η χρήση Ελεύθερων Γεωγραφικών Δεδομένων και Λογισμικού Ανοιχτού Κώδικα σε Φορητές Συσκευές.

Ενότητα 1η. Εισαγωγή στην Πληροφορική

Λιόλιου Γεωργία. ιατµηµατικό Πρόγραµµα Μεταπτυχιακών Σπουδών στα Πληροφοριακά Συστήµατα

Κοιτάζοντας Πιο Λεπτομερώς. Ανδρεάκης Σωτήρης Καραμολέγκος Χρήστος Καλαματιανός Βασίλης

Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος

Ως Διαδίκτυο (Internet) ορίζεται το παγκόσμιο (διεθνές) δίκτυο ηλεκτρονικών υπολογιστών (international network).

Python και Android. Νίκος Νοδαράκης. 17 Μαΐου 2010

Απαντήστε στις παρακάτω ερωτήσεις πολλαπλής επιλογής (μόνο μία ερώτηση είναι σωστή):

Χρήση του Office 365 σε iphone ή ipad

Σύντομος οδηγός χρήσης Vodafone Mobile Wi-Fi R209-Z

Σύντομος οδηγός χρήσης Vodafone Mobile Wi-Fi R207

Λογισμικό - Προγράμματα

Internet Business Hellas

Σύγκριση λειτουργικών συστηµάτων Android, Symbian και ios µε έµφαση στα πολυµεσικά χαρακτηριστικά τους

Η Πράξη συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (ΕΤΠΑ) κατά 80% και από εθνικούς πόρους της Ελλάδας και της Κύπρου κατά 20% Μ Ε Λ Ε Τ Η

TRAVIS TRAFFIC VIOLATION INFORMATION SYSTEM ΣΥΣΤΗΜΑ ΔΙΑΧΕΙΡΗΣΗΣ ΠΑΡΑΒΑΣΕΩΝ ΦΩΤΟΕΠΙΣΗΜΑΝΣΗΣ

Χαρακτηριστικά ιστοσελίδας

ΤΕΙ ΚΑΒΑΛΑΣ ΤΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ SYMBIAN OS (ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΚΙΝΗΤΩΝ ΤΗΛΕΦΩΝΩΝ) ΕΠΙΒΛΕΠΟΝ ΚΑΘΗΓΗΤΗΣ: Δρ. ΠΑΠΑΔΑΚΗΣ ΣΤΥΛΙΑΝΟΣ

Επικοινωνία Ανθρώπου- Υπολογιστή Σχεδίαση Αλληλεπίδρασης Ενότητα: 8 η

ΨΗΦΙΑΚΟΣ ΓΡΑΜΜΑΤΙΣΜΟΣ

Συστήματα πανταχού παρόντος υπολογιστή σε περιβάλλοντα υβριδικών βιβλιοθηκών

Υπηρεσία διαμοιρασμού αρχείων

Το ηλεκτρονικό ταχυδρομείο: Aφορά στην αποστολή και λήψη μηνυμάτων με συγκεκριμένη δομή και με συγκεκριμένα πρωτόκολλα. Ο αποστολέας και ο παραλήπτης

Κινητό τηλέφωνο. Κινητό τηλέφωνο

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ. Υλοποίηση εφαρμογής information aggregator για πληροφορίες σχετικές με το τμήμα ΤΠΤ σε πλατφόρμα Apple ios.

ΚΕΦΑΛΑΙΟ 2 ΛΟΓΙΣΜΙΚΟ

ΨΗΦΙΑΚΗ ΑΛΛΗΛΕΓΓΥΗ ΟΔΗΓΟΣ

ΚΕΦΑΛΑΙΟ 2 - ΛΟΓΙΣΜΙΚΟ

Google Apps για το Office 365 για επιχειρήσεις

ΑΝΑΚΟΙΝΩΣΗ ΔΙΑΔΙΚΑΣΙΑΣ ΑΠΕΥΘΕΙΑΣ ΑΝΑΘΕΣΗΣ. Αριθμ. Πρωτ.: /2017 Ο ΕΙΔΙΚΟΣ ΛΟΓΑΡΙΑΣΜΟΣ ΚΟΝΔΥΛΙΩΝ ΕΡΕΥΝΑΣ

Διπλωματική Εργασία. Μουσικές Εφαρμογές σε Περιβάλλον Κινητών Συσκευών Android με Χαρακτηριστικά Εξατομίκευσης

Βασίλειος Κοντογιάννης ΠΕ19

economy Δρ. Πάνος Φιτσιλής, Καθηγητής ΤΕΙ Θεσσαλίας Πρόγραμμα Μεταπτυχιακών Σπουδών Διοίκηση και Διαχείριση Έργων

Σύντομος οδηγός χρήσης Vodafone Mobile Wi-Fi R216-Z

ΠΤΥΧΙΑΚΗ ΕΡΕΥΝΑ ΥΠΗΡΕΣΙΕΣ ΚΑΙ ΕΦΑΡΜΟΓΕΣ ΑΣΥΡΜΑΤΩΝ ΔΙΚΤΥΩΝ ΙΩΑΝΝΟΥ ΓΕΩΡΓΙΟΣ ΛΕΥΚΩΣΙΑ-ΚΥΠΡΟΣ

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112

Η όλα σε - ένα λύση για μικρά και περιφερειακά ΤETRA δίκτυα

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10

Ανάπτυξη Εφαρμογής Ταξίμετρου σε Android

Αρχίστε εδώ BlackBerry Torch 9800 Smartphone

Αντικειμενοστρεφής Προγραμματισμός

Παραδείγματα Δεδομένων: Οι τιμές στο κυλικείο, μια λίστα από ονόματα, τα σήματα της τροχαίας.

Περιεχόμενα. Τεχνικό εγχειρίδιο χρήσης IBNEWSLETTER

Ενσωματωμένα controls τα οποία προσαρμόζονται και χρησιμοποιούνται σε οποιαδήποτε ιστοσελίδα επιλέγει ο φορέας.

ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ. Ανάλυση, Σχεδιασμός και Υλοποίηση μιας εφαρμογής Movie Quiz πολλαπλών παικτών στο λειτουργικό σύστημα Android

Samsung PC Studio 3.0 Οδηγός χρήστη

Εγχειρίδιο Ζωντανών Μεταδόσεων Υπηρεσιών Βίντεο. Πανεπιστημίου Κρήτης. Εγχειρίδιο τεχνικού μετάδοσης

Εφαρμογές & Υπηρεσίες Του Κινητού Τηλεφώνου Και Οι Χρήσεις Του Από τους Νέους

"Ανάπτυξη Location Based εφαρμογής με τεχνολογίες GPS, HTML5 και Android"

Λιβανός Γιώργος Εξάμηνο 2017Β

Αξιοποίηση της Τεχνολογίας των Εικονικών Μηχανών στην Επαγγελματική Εκπαίδευση και την Κατάρτιση Πληροφορικής. Βασιλάκης Βασίλειος Τζανάκης Δημήτριος

Χαράλαμπος Καραγιαννίδης

Οδηγίες Χρήσης EAP Controller Software

Ο Οδηγός γρήγορης εκκίνησης

Ανάπτυξη πλήρους διαδικτυακής e-commerce εφαρμογής με χρήση του CMS WordPress

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Δυναμική προσωποποιημένη ενημέρωση προσφορών Super Markets στη Θεσσαλονίκη

Παραδοτέο Π5.3: Έντυπο και ψηφιακό υλικό (Web site) προβολής των δράσεων έργου

BlackBerry Desktop Software. Έκδοση: 7.1. Οδηγός χρήσης

Υπηρεσίες Ιστού (Web Services) ΜΙΧΑΛΗΣ ΜΑΛΙΑΠΠΗΣ

Τα είδη των ιστοσελίδων. Web Sites E-commerce Sites CMS & Blog Sites CMS Flash Facebook Layouts Tumblr Themes

Ερωτήσεις- Απαντήσεις Πολυμέσα Απο το Βιβλίο Εφαρμογές Η/Υ Α,Β,Γ Λυκείου

Κεφάλαιο 2: Λογισμικό (Software) Εφαρμογές Πληροφορικής Κεφ. 2 Καραμαούνας Πολύκαρπος

Παρουσίαση της λύσης Dnet Mobile Terminal

Χαρακτηριστικά ιστοσελίδας

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)

Θεσσαλονίκη Alert - Αναλυτική παρουσίαση εφαρμογής

Connecto. Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Άγγελος Σφακιανάκης. Επιφάνεια Άμεσης Σύνδεσης

ΕΡΕΥΝΗΤΙΚΗ ΕΡΓΑΣΙΑ Α_ΤΕΤΡΑΜ_ ΕΣΠΕΡΙΝΟ ΛΥΚΕΙΟ ΛΑΡΙΣΑΣ. ΘΕΜΑ: E-LEARNING Αντζελα Πιετρη-Αριστελα Γκιονι ESPERINO LYKEIO LARISAS

Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική. Τυπικοί χρόνοι πρόσβασης. Μέσος χρόνος πρόσβασης. Ταχύτητα µεταφοράς δεδοµένων

Σχεδιάζοντας Εφαρμογές για το Διαδίκτυο

Οδηγός χρήστη. Xperia SmartTags NT1/NT2

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Vodafone Business Connect

Transcript:

ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΑΝ.ΜΑΚΕΔΟΝΙΑΣ ΚΑΙ ΘΡΑΚΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΦΑΡΜΟΓΗ ΠΑΡΑΓΩΓΗΣ ΚΡΥΠΤΟΛΕΞΩΝ ΣΕ ΠΛΑΤΦΟΡΜΑ ANDROID ΠΑΡΑΣΚΕΥΑΣ ΘΟΔΩΡΗΣ Α.Ε.Μ 970 ΚΑΒΑΛΑ ΜΑΙΟΣ 2014

Περιεχόμενα Πίνακας εικόνων... 2 Σκοπός εργασίας... 3 Εισαγωγή... 4 Περιγραφή του Λειτουργικού Συστήματος Android... 7 Επισκόπιση του ανταγωνισμού... 14 BlackBerry... 14 ios... 20 Symbian... 25 Windows Phone 7... 30 Σχεδίαση της εφαρμογής... 32 Απαιτήσεις... 32 Οι λειτουργίες της εφαρμογής... 35 Δημιουργία νέου παιχνιδιού... 35 Εύρεση λέξεων... 36 Ολοκλήρωση παιχνιδιού... 37 Σχεδίαση της Διεπαφής... 38 Αρχική οθόνη... 38 Οθόνη επιλογών... 39 Κύρια οθόνη παιχνιδιού... 40 Κλάσεις και Διεπαφές χρήστη-activities... 41 Κλάσεις... 41 Cell... 41 Word... 41 Lexeis... 41 Διεπαφές χρήστη Activities... 42 Startpage... 42 Home... 42 Kuriws... 42 Ανάπτυξη με Eclipse... 44 Εγκατάσταση του Eclipse ADT... 44 Εγκατάσταση Android Developer Tools... 44 Εγκατάσταση Android SDK και πακέτα εκδόσεων του Android... 46 Δημιουργία του προσομοιωτή (emulator)... 48 Χρήση της εφαρμογής... 50 AdMob και Google Play... 56 Ad mob... 56 Google Play... 58 Αναφορές... 59 1

Πίνακας εικόνων Εικόνα 1: Η εξέλιξη των συσκευών κινητής τηλεφωνίας... 5 Εικόνα 2: To λογότυπο του Android... 8 Εικόνα 3: Αρχιτεκτονική Android... 10 Εικόνα 4: Συσκευή BlackBerry... 14 Εικόνα 5: Αρχιτεκτονική BES... 17 Εικόνα 6: Οθόνες ios... 20 Εικόνα 7: Αρχιτεκτονική ios... 22 Εικόνα 8: Διαστρωμάτωση ανάπτυξης εφαρμογών... 23 Εικόνα 9:Series και UIQ συσκευές... 27 Εικόνα 10: Αρχιτεκτονική του Λειτουργικού Συστήματος Symbian... 30 Εικόνα 11: Use Case διάγραμμα... 33 Εικόνα 12: Αρχικό Class Diagram... 34 Εικόνα 13:Διάγραμμα New Game... 35 Εικόνα 14:Διάγραμμα Ελέγχου Λέξης... 36 Εικόνα 15:Διάγραμμα Ολοκλήρωσης παιχνιδιού... 37 Εικόνα 16:Εικόνα αρχικής οθόνης... 38 Εικόνα 17:Εικόνα οθόνης επιλογών... 39 Εικόνα 18: Εικόνα οθόνης Κυρίως παιχνιδιού... 40 Εικόνα 19: Εγκατάσταση του Eclipse Android Developers Tools... 45 Εικόνα 20: Εγκατάσταση του Android SDK I... 46 Εικόνα 21: Εγκατάσταση του Android SDK II... 47 Εικόνα 22: Δημιουργία Emulator... 49 Εικόνα 23: Εικόνα αρχικής οθόνης... 50 Εικόνα 24: Εικόνα οθόνης επιλογών... 51 Εικόνα 25:Λάθος δεδομένα... 52 Εικόνα 26: Εικόνα οθόνης Κυρίως παιχνιδιού... 52 Εικόνα 27: Εικόνα οθόνης Κυρίως παιχνιδιού Επιλογή γραμμάτων... 53 Εικόνα 28: Εικόνα οθόνης Κυρίως παιχνιδιού Σωστή λέξη... 54 Εικόνα 29:Εικόνα ενημερωτικού μηνύματος μετά από σωστή επιλογή... 54 Εικόνα 30:Εικόνα ενημερωτικού μηνύματος μετά από λάθος επιλογή... 55 Εικόνα 31: Εικόνα Νίκης... 55 2

Σκοπός εργασίας Στην παρούσα εργασία θα παρουσιαστεί η διαδικασία σχεδίασης και ανάπτυξης μία εφαρμογής κατάλληλης να τρέξει σε περιβάλλον Android με την χρήση του Eclipse. Η εφαρμογή αυτή θα αποτελεί ένα κρυπτόλεξο. Το κρυπτόλεξο είναι ένας δισδιάστατος πίνακας στον οποίο περιέχονται λέξεις τοποθετημένες σε οριζόντια, κάθετη ή διαγώνια διεύθυνση ενώ όσα κελιά δεν συμμετέχουν στις λέξεις συμπληρώνονται με τυχαία γράμματα. Ο λύτης αναζητά τις κρυμμένες λέξεις. Το παιχνίδι αυτό χρησιμοποιείται τόσο για ψυχαγωγικούς όσο και για εκπαιδευτικούς σκοπούς αφού συνδράμει στον εμπλουτισμό του λεξιλογίου του χρήστη. 3

Εισαγωγή Οι έξυπνες συσκευές κινητής τηλεφωνίας, τα πιο γνωστά με την αγγλική τους ονομασία Smartphones, έχουν πλέον διεισδύσει σε μεγάλο βαθμό στην καθημερινότητα πολλών ανθρώπων. Η έρευνα που οδήγησε στην ανάπτυξη τους ξεκίνησε μετά την λήξη του Β Παγκοσμίου πολέμου. Το πρώτο κινητό τηλέφωνο έκανε κλήση την 3 η Απριλίου του 1973 1 ενώ το πρώτο αυτοματοποιημένο δίκτυο κινητής τηλεφωνίας παρείχε τις υπηρεσίες του στις αρχές της δεκαετίας του 1980 και η πρόσβαση σε αυτό γινόταν από ογκώδεις συσκευές πρώτης γενιάς 1G. Την δεκαετία του 1990 η ανάπτυξη της κινητής τηλεφωνίας υπήρξε αλματώδης. Η ανάπτυξη του Global System for Mobile Communications (GSM) 2 ήταν η αιτία της εξέλιξης των συσκευών κινητής τηλεφωνίας αφού πλέον έγιναν μικρότερες σε μέγεθος και είχαν την δυνατότητα να διαχειρίζονται την αποστολή και την λήψη σύντομων γραπτών μηνυμάτων (Short Message Service SMS) 3 και φωτογραφιών. Την δεκαετία του 2000 εμφανίστηκαν οι έξυπνες συσκευές 3G με δυνατότητες διαχείρισης πολυμέσων και την λειτουργία εφαρμογών. Στην επόμενη εικόνα φαίνεται χαρακτηριστικά η εξέλιξη των συσκευών κινητής τηλεφωνίας. 1 Ο δόκτωρ Μάρτιν Κούπερ της Motorola, πραγματοποίησε την πρώτη κλήση από κινητό τηλέφωνο με 25 εκατοστά και βάρος 900 γραμμάρια με τον κωδικό MotorolaDynaTAC. 2 Το GSM είναι ένα κυψελοειδές ψηφιακό σύστημα κινητής τηλεφωνίας δεύτερης γενιάς (2G), το οποίο χρησιμοποιεί ηλεκτρομαγνητικά σήματα και την τεχνική πολλαπλής πρόσβασης με διαχωρισμό του διαθέσιμου φάσματος συχνοτήτων σε ένα αριθμό καναλιών και την διαίρεση αυτών σε χρονοθυρίδες για την μετάδοση σημάτων. 3 SMS είναι υπηρεσία της κινητής τηλεφωνίας, με την οποία ο χρήστης έχει τη δυνατότητα να αποστείλει ή να παραλάβει σύντομο γραπτό μήνυμα από άλλους χρήστες, στην οθόνη του κινητού του τηλεφώνου. 4

Εικόνα 1: Η εξέλιξη των συσκευών κινητής τηλεφωνίας Οι συσκευές τρίτης γενιάς παρέχουν ένα ευρύ σύνολο δυνατοτήτων στους χρήστες τους. Οι κυριότερες από αυτές είναι: Η επικοινωνία με ήχο και κινούμενη εικόνα (video telephony) Πλοήγηση και διαχείριση του ηλεκτρονικού ταχυδρομείου με μεγάλες ταχύτητες. Ενημέρωση για εξειδικευμένα και συγκεκριμένα θέματα (πχ εξέλιξη συγκεκριμένων γεγονότων) σε πραγματικό χρόνο από σχετικές υπηρεσίες. Αναπαραγωγή πολυμέσων σε υψηλή ποιότητα. Ηλεκτρονικές αγορές μέσω ταχέων εξειδικευμένων εφαρμογών του διαδικτύου. Μη εμπορικές συναλλαγές (πχ υπηρεσίες κοινής ωφέλειας). Διενέργεια τραπεζικών και λοιπών χρηματοοικονομικών συναλλαγών. Χρήση εφαρμογών με προσανατολισμό είτε την διασκέδαση είτε την παροχή υπηρεσιών στον τελικό χρήστη. Η ανάπτυξη των συσκευών τρίτης γενιάς όπως επίσης και το σχετικά χαμηλό κόστος απόκτησης τους αλλά και των παρεχομένων υπηρεσιών για χρήση από αυτές 5

συνέβαλαν στην ραγδαία εξάπλωση τους. Έτσι ακμάζει η δραστηριότητα γύρω από αυτές. Η δραστηριότητα αυτή περιλαμβάνει την ανάπτυξη καινοτόμων εφαρμογών, έρευνα για βελτίωση των παρεχομένων δυνατοτήτων και την ασφάλεια τους. Στα πλαίσια της έρευνας για την αποδοτικότερη λειτουργία τους προτάθηκαν ένας αριθμός από λειτουργικά συστήματα για έξυπνες συσκευές. Τα συστήματα έχουν μοναδικά χαρακτηριστικά που τα καθιστούν το κάθε ένα από αυτά περισσότερο κατάλληλα για συγκεκριμένα είδη συσκευών σε σχέση με τα άλλα. Το πιο διαδεδομένο από αυτά παρουσιάζεται να είναι το Android. 6

Περιγραφή του Λειτουργικού Συστήματος Android Το Android είναι ένα software stack για φορητές συσκευές, που περιλαμβάνει ένα λειτουργικό σύστημα, το απαραίτητο middleware και μια σειρά εφαρμογών. Το SDK του Android παρέχει τα εργαλεία και τα απαραίτητα APIs, για να μπορέσει κάποιος να αρχίσει να δημιουργεί εφαρμογές για την πλατφόρμα, χρησιμοποιώντας τη γλώσσα προγραμματισμού Java. Αποτελεί αναμφισβήτητα, το πλέον επιτυχές προϊόν της Google, η οποία κατάφερε να φέρει το Android στην πρώτη θέση των προτιμήσεων των χρηστών. Περιλαμβάνει όλα τα απαραίτητα συστατικά για τη λειτουργία τηλεφώνων ή tablets, οι κατασκευαστές των οποίων επέλεξαν αυτή την πλατφόρμα. Είναι software, το οποίο είναι σχεδιασμένο να δημιουργεί ένα User Interface, με το οποίο οι χρήστες αλληλεπιδρούν με τη φορητή συσκευή. Το λειτουργικό σύστημα Android αναπτύχθηκε από την Goolgle και είναι προσανατολισμένο για έξυπνες συσκευές κινητής τηλεφωνίας. Η ονομασία του είναι Ελληνική και σημαίνει ανδροειδές ανθρωποειδές (εξ ου και το λογότυπο του). Η ανάπτυξη του και η διεισδυτικότητα του στην αγορά ήταν ραγδαία με αποτέλεσμα να χρησιμοποιείται στις μέρες μας από μεγάλο αριθμό των κατασκευαστών (Samsung, HTC, Motorola, Sony Ericsson, LG κα). Επίσης συγκεντρώνει το ενδιαφέρον μεγάλης μάζας των προγραμματιστών που δραστηριοποιούνται στην αγορά εφαρμογών για smart phones. Έτσι υπάρχουν διαθέσιμες πολλές εφαρμογές προσαρμοσμένες σε αυτό. Σημαντικό ρόλο στην διείσδυση του έπαιξε και η απόλυτη συμβατότητα του με τις δημοφιλείς υπηρεσίες της Google καθώς και το ότι οι μεγάλο πλήθος εφαρμογών του και υπηρεσιών του παρέχονται εντελώς δωρεάν. Στην επόμενη εικόνα φαίνεται μία οθόνη έξυπνης συσκευής κινητής τηλεφωνίας που τρέχει Android και το λογότυπο της. 7

Εικόνα 2: To λογότυπο του Android τα εξής: Η αρχιτεκτονική του συντίθεται από τέσσερα επίπεδα. Τα επίπεδα αυτά είναι Πυρήνας Linux (Linux Kernel): Το Android βασίζεται σε πυρήνα Linux για τις χαμηλού επιπέδου υπηρεσίες του. Οι υπηρεσίες αυτές περιλαμβάνουν: o διαχείριση των προγραμμάτων οδήγησης της συσκευής, o αποδοτική χρησιμοποίηση της μνήμης, o χρονοπρογραμματισμό των διεργασιών, o εγκατάσταση και διατήρηση της δικτύωσης με την χρήση όλων των διαθέσιμων σχετικών τεχνολογιών (GSM, HSDPA, WiFi, Bluetooth). Βιβλιοθήκες (Libraries): Στο επίπεδο αυτό περιλαμβάνονται οι εγγενείς βιβλιοθήκες και οι εκείνες χρόνου εκτέλεσης. o Εγγενείς Βιβλιοθήκες (Internal): Οι βιβλιοθήκες που χρησιμοποιούν οι λειτουργίες του έχουν αναπτυχθεί σε γλώσσα προγραμματισμού C/C++ και χρησιμοποιούνται με κατάλληλες διεπαφές της Java. o Βιβλιοθήκες Χρόνου Εκτέλεσης (Runtime): Στο επίπεδο αυτό κατατάσσονται οι βασικές βιβλιοθήκες της Java που χρησιμοποιούνται και η εικονική μηχανή Dalvik η οποία είναι μία υλοποίηση μιας εικονικής μηχανής Java για φορητές 8

συσκευές που αναπτύχθηκε από την Google.Χαρακτηριστικό της είναι το γεγονός της χρήσης των πιο συνεκτικών τύπων αρχείων που παρουσιάζονται πιο αποδοτικά σε περιβάλλον συσκευών με περιορισμένους φυσικούς πόρους. Πλαίσιο Υποστήριξης Εφαρμογών (Application Framework): Στο επίπεδο αυτό βρίσκονται οι λειτουργικές μονάδες που χρησιμοποιούνται για την ανάπτυξη εφαρμογών. Υπάρχει ένα σύνολο από βασικές προεγκατεστημένες λειτουργίες που στην συνέχεια μπορεί να επεκταθούν από τον κατασκευαστή της έξυπνης συσκευής. Τα κυριότερα στοιχεία του επιπέδου αυτού είναι: o View System: Είναι το σύστημα εκείνο που παρέχει τα στοιχεία των γραφικών διεπαφών (πχ buttons, textboxes, links). o Content Providers: Είναι οι λειτουργικές μονάδες εκείνες που επιτρέπουν στις εφαρμογές την πρόσβαση στα δεδομένα άλλων εφαρμογών ή την διάθεση των δικών τους δεδομένων σε άλλες. o Resource Manager: Ως πόροι αναφέρονται όλα εκείνα τα στοιχεία ενός προγράμματος που δεν είναι κώδικας. Η μονάδες αυτές ρυθμίζουν την πρόσβαση σε αυτά. o Notification Manager: Διαχειρίζεται τα μηνύματα που ανταλλάσσονται μεταξύ των εφαρμογών ή εκείνων που οι εφαρμογές παράγουν. o Activity Manager: Ελέγχει τις δραστηριότητες της εφαρμογής κατά την λειτουργία της και διατηρεί μιας στοίβα που επιτρέπει την πλοήγηση στην πρότερες καταστάσεις των διεπαφών της. o Location Manager: Δομική μονάδα που διατηρεί την θέση της συσκευής ανά πάσα στιγμή. Επίπεδο Εφαρμογών (Application): Στο ανώτερο επίπεδο βρίσκονται οι εφαρμογές που χειρίζεται ο τελικός χρήστης Βασικό τους χαρακτηριστικό είναι η διαφανής χρήση των λειτουργιών και των υπηρεσιών των κατωτέρων επιπέδων της αρχιτεκτονικής αποκρύπτοντας τις λεπτομέρειες υλοποίησης τους από τους τελικούς χρήστες. Στο παρακάτω σχήμα φαίνεται σχηματικά η αρχιτεκτονική του Android. 9

Εικόνα 3: Αρχιτεκτονική Android Στον ακόλουθο πίνακα φαίνονται συνοπτικά οι δυνατότητες των συσκευών κινητής τηλεφωνίας που λειτουργούν με λειτουργικό σύστημα Android. 10

Λειτουργία Περιγραφή χαρακτηριστικών Λειτουργίες Οθόνης Προσαρμόζεται σε μεγάλη ανάλυση, δισδιάστατες ψηφιακές γραφικές βιβλιοθήκες, τρισδιάστατα γραφικά και παραδοσιακές απεικονίσεις οθόνης "έξυπνων" συσκευών κινητής τηλεφωνίας. Αποθήκευση Δεδομένων Χρησιμοποιείται το σύστημα διαχείρισης σχεσιακής βάσης δεδομένων SQLite για την αποθήκευση των δεδομένων Συνδεσιμότητα Υποστηρίζει όλες τις γνωστές τεχνολογίες ενσύρματης και ασύρματης σύνδεσης συμπεριλαμβανομένων των GSM/EDGE, CDMA, EV-DO, UMTS, Bluetooth, και WiFi. Αποστολή μηνυμάτων Ανταλλαγή μηνυμάτων με SMS και MMS. Περιήγηση στον Ιστό WebKit browser. Υποστήριξη Java Λογισμικό γραμμένο στην Java είναι δυνατόν να μεταγλωττιστεί και να εκτελεστεί στην εικονική μηχανή Dalvik. Υποστήριξη Πολυμέσων Υποστηρίζει τις εξής μορφές πολυμέσων: H.263, H.264, MPEG-4 SP, AMR, AMR- WB, AAC, HE-AAC, MP3, MIDI, OGG Vorbis, WAV, JPEG, PNG, GIF, BMP. Επιπλέον υποστήριξη hardware Παρουσιάζει συμβατότητα με κάμερες στατικής ή κινούμενης εικόνας, οθόνες αφής, GPS, αισθητήρες επιτάχυνσης, μαγνητόμετρα, δισδιάστατους καθώς και τρισδιάστατους επιταχυντές γραφικών. Περιβάλλον Περιλαμβάνει ένας προσομοιωτή συσκευής, εργαλεία 11

Λειτουργία Περιγραφή χαρακτηριστικών Ανάπτυξης Λογισμικού για διόρθωση σφαλμάτων, μνήμη και εργαλεία ανάλυσης της απόδοσης του εκτελέσιμου λογισμικού καθώς και ένα επιπρόσθετο για το Eclipse. Αγορά και Εγκατάσταση Εφαρμογών Tο Android Market είναι ένας κατάλογος εφαρμογών που μπορούν να μεταφορτωθούν και εγκατασταθούν στην συσκευή άμεσα μέσω ασύρματων καναλιών, χωρίς την χρήση υπολογιστή. Οθόνη Αφής Πολλαπλών Σημείων Το λειτουργικό Android είχε εξ ορισμού υποστήριξη για οθόνες πολλαπλών σημείων. Τα πλεονεκτήματα του Android πηγάζουν από την ίδια την αρχιτεκτονική του. Στο κατώτερο επίπεδο της αρχιτεκτονική του βρίσκεται ο πυρήνας Linux ο οποίος δεν είναι ιδιαίτερα απαιτητικός σε φυσικούς πόρους. Το χαρακτηριστικό αυτό του επιτρέπει να εγκαθίσταται σε διαφορετικές πλατφόρμες υποβόσκοντος υλικού αλλά και να παρουσιάζει υψηλό βαθμό επεκτασιμότητας ώστε μελλοντικά να είναι ικανό να προσαρμοστεί σε νέες απαιτήσεις. Η χρήση πυρήνα Linux επίσης είναι ένας παράγοντας που καθιστά το λειτουργικό σύστημα πιθανών αξιόπιστο. Σε βάθος χρόνου έχουν αναπτυχθεί και λειτουργήσει αξιόπιστα απαιτητικές εφαρμογές βασιζόμενες σε Linux χρήση από κινητές συσκευές αμβλύνοντας έτσι την αβεβαιότητα λόγω της βραχείας διάρκειας ζωής του μέχρι σήμερα. Η ανάπτυξη των εφαρμογών του γίνεται σε γλώσσα προγραμματισμού Java της οποίας το βασικότερο χαρακτηριστικό είναι ότι και αυτή δεν εξαρτάται από την πλατφόρμα του υλικού όπου τρέχουν τα προγράμματα της. Η φύση των εφαρμογών που αναπτύσσονται για Android έχει παρουσιάζει σε υψηλό βαθμό προσαρμοστικότητα σε διαφορετικά είδη συσκευών. Επιπλέον παρέχει όλα τα εργαλεία για την αποδοτική διασύνδεση των συσκευών που υποστηρίζει είτε με ασύρματα είτε με ασύρματα φυσικά μέσα. Το χαρακτηριστικό του που το έχει κάνει δημοφιλές είναι ότι παρέχει δωρεάν πρόσβαση στον κώδικα του ώστε να μπορούν τρίτοι προγραμματιστές να ενσωματώσουν πρόσθετες λειτουργίες, να επαναπροσδιορίσουν τον τρόπο εκτέλεσης δεδομένων λειτουργιών του. Ενισχυτικοί παράγοντες της διείσδυσης του στην κοινότητα των 12

προγραμματιστών εφαρμογών για έξυπνες συσκευές είναι η πλήρης προσαρμογή του σε διεθνή πρότυπα λειτουργίας για κάθε επίπεδο της αρχιτεκτονική του και η δυνατότητα που παρέχει για δωρεάν χρήση, ανάπτυξη και δημοσίευση εφαρμογών. Τα στοιχεία αυτά ήταν άλλωστε και ο αντικειμενικός σκοπός της Google κατά την σχεδίαση του. Τέλος όσο αφορά την πρόσθετη απαίτηση των έξυπνων συσκευών κινητής τηλεφωνίας (σε σχέση με εκείνες της τρίτης γενιάς), την ασφάλεια, παρέχει ικανοποιητικό επίπεδο ασφάλειας αφού ο πυρήνας Linux μπορεί να ελέγχει τις δικές του διαδικασίες αλλά και αυτές των εφαρμογών ανάλογα με τα δικαιώματα πρόσβασης που έχουν στους πόρους του συστήματος. Επιπροσθέτως παρέχει και διαδικασίες ελέγχου για τον περιορισμό των επιτρεπομένων ενεργειών για κάθε μία διαδικασία που τρέχει. Συνοψίζοντας, τα βασικά πλεονεκτήματα του Android πηγάζουν από τα χαρακτηριστικά του: Ανοιχτή Πλατφόρμα: Με βάση το Linux, παρέχει πρόσβαση σε βασικές λειτουργίες της κινητή συσκευή Ξεπερνά τεχνικά όρια: Το Android σας επιτρέπει να συνδυάζετε τις πληροφορίες από το Web, λειτουργίες του κινητού σας σε συνδυασμό με τα δεδομένα των εταιρικών εφαρμογών και πληροφοριών σας. Απλοποιημένη Ανάπτυξη: τόσο οι πελάτες όσο και προγραμματιστές ζητούν μειωμένους κύκλους ανάπτυξης και εύκολα στη χρήση σχετικά εργαλεία. Η Linux-based πλατφόρμα Android επιτρέπει την πλήρη πρόσβαση σε όλη την λειτουργικότητα των κινητών συσκευών, δεδομένου ότι βασίζεται σε ένα ισχυρό κινητήρα Java. 13

Επισκόπιση του ανταγωνισμού BlackBerry Η εταιρεία Research In Motion (RIM) παράγει τις έξυπνες συσκευές κινητής τηλεφωνίας γνωστές ως BlackBerry. Οι συσκευές αυτές τρέχουν το λειτουργικό σύστημα BlackBerry OS, το οποίο επίσης αναπτύσσεται από την RIM. Το λειτουργικό σύστημα BlackBerry είναι διαθέσιμο αποκλειστικά για συμβατές συσκευές. Δυνατό του σημείο είναι οι υπηρεσίες που παρέχει για την διαχείριση του ηλεκτρονικού ταχυδρομείου και των άμεσων μηνυμάτων (instant messaging). Παράλληλα έχει επενδυθεί μεγάλη σπουδή για την ανάκτηση και αναπαραγωγή πολυμέσων και την εξατομίκευση των συσκευών και των εφαρμογών τους. Η πλατφόρμα Blackberry παρέχει υψηλού επιπέδου υποστήριξη σε εταιρικές εφαρμογές και για αυτό το λόγο χρησιμοποιείται κυρίως σε τέτοιου είδους εφαρμογές. Εκεί άλλωστε στόχευε εξ αρχής η ομάδα ανάπτυξης του. Χαρακτηριστικό των BlackBerry συσκευών είναι το ότι διαθέτουν πλήρες πληκτρολόγιο τύπου QWERTY ακόμα και στις οθόνες αφής προσδίδοντας έτσι μεγαλύτερη ευχέρεια στην πληκτρολόγηση σχετικά μεγάλων κειμένων. Γενικό χαρακτηριστικό των συσκευών της RIM είναι ότι δεν υποστηρίζουν αναβάθμιση του λογισμικού τους με αποτέλεσμα να είναι συμβατά αποκλειστικά με το αρχικό λειτουργικό της εκάστοτε συσκευής. Μία συσκευή BlackBerry φαίνεται στην επόμενη εικόνα. Εικόνα 4: Συσκευή BlackBerry 14

Επίσης το ότι αποτελεί closed source λογισμικό δεν παροτρύνει τους προγραμματιστές να επιχειρούν την παραμετροποίηση τους και την ανάπτυξη εφαρμογών πάνω σε αυτό. Οι τρέχουσα έκδοση προσφέρει: Υψηλής αισθητικής διεπαφές βασισμένες στην ομαδοποίηση των πληροφοριών και των στοιχείων διάδρασης με τους χρήστες σε καρτέλες. Εφαρμογές αναπαραγωγής πολυμέσων που μπορούν να τύχουν άνετου χειρισμού με τον αντίχειρα του τελικού χρήστη. Δυνατότητα ευρείας κύλισης με kinetic scrolling and rubberbanding Δυνατότητα για ευρύ multitouch με pinch σε zoom Ευανάγνωστα εικονίδια για την διαχείριση της ηλεκτρονικής διακίνησης μηνυμάτων Φύτρα RSS που λειτουργούν στον φάκελο εισερχόμενης αλληλογραφίας. Πλήρως προσαρμοζόμενη αρχική οθόνη με πολλαπλές σελίδες ενώ και κάθε σελίδα μπορεί να περιλαμβάνει πολλαπλές υπο-σελίδες. Δυνατότητα καθολικής αναζήτησης Το λειτουργικό σύστημα αρχικά ήταν προγραμματισμένο σε γλώσσα C++ αλλά στην εξέλιξη του η ανάπτυξη του έγινε σε Java. Είναι έτσι προγραμματισμένο ώστε να έχει την δυνατότητα να ανταποκρίνεται σε πολλαπλές εργασίες ταυτόχρονα. Χρησιμοποιεί ειδικές συσκευές εισόδου όπως scroll wheel,trackball, trackpad τα οποία είναι ενσωματωμένα στις BlackBerry συσκευές. Υποστηρίζει το προφίλ Java Mobile Information Device Profile 1.0 (MIDP 1.0) και το Wireless Application Protocol 1.2 (WAP 1.3) έχει το MIDP σαν προδιαγραφή για χρήση σε ασύρματες συσκευές. Το WAP είναι ένα πρωτόκολλο που υποστηρίζει τους WAP φυλλομετρητές (browsers). Οι φυλλομετρητές αυτοί ομοιάζουν με αυτούς που τρέχουν σε ηλεκτρονικούς υπολογιστές αλλά είναι προσαρμοσμένοι στις ανάγκες πλοήγησης από συσκευές κινητής τηλεφωνίας. Μέσω του BlackBerry OS γίνεται ο συγχρονισμός των ημερολογίου, δραστηριοτήτων, επαφών επικοινωνίας, αλληλογραφίας και σημειώσεων. Αυτές οι λειτουργίες είναι διαθέσιμες από το τμήμα του που ονομάζεται BlackBerry Enterprise Server (BES). To BlackBerry Enterprise Server είναι ένα πακέτο λογισμικού το οποίο διαθέτει τις λειτουργίες αυτές που 15

χρειάζονται για την συνεργασία με τα προγράμματα ανταλλαγής μηνυμάτων και συνεργασίας σε δίκτυα οργανισμών. Επίσης διαχειρίζεται την δρομολόγηση των μηνυμάτων και συγχρονίζει τις επαφές και τις πληροφορίες ημερολογίου μεταξύ servers, σταθμών εργασίας και ασυρμάτων συσκευών. Αντικειμενικός στόχος του BES είναι η κεντρικοποίηση της διαχείρισης και του ελέγχου των BlackBerry λειτουργιών σε έναν οργανισμό. Παρέχει γενικά τις ακόλουθες υπηρεσίες: Ελέγχει το mailbox των χρηστών. Επιβάλλει προσαρμοσμένα από τον χρήστη φίλτρα για τον κατάλληλο χειρισμό κάθε εισερχομένου μηνύματος. Συμπιέζει και κρυπτογραφεί τα εξερχόμενα μηνύματα. Αποσυμπιέζει και αποκρυπτογραφεί τα εισερχόμενα μηνύματα. Τα στοιχεία που συνθέτουν το BES περιλαμβάνουν: Υπηρεσίες σηματοδοσίας (BlackBerry Alert) Υπηρεσίες επισύναψης (BlackBerry attachment) μέσω της οποίας τα συνημμένα αρχεία των μηνυμάτων μετατρέπονται και ανακτώνται σε και από μορφές αναγνωρίσιμες από το BlackBerry. Υπηρεσίες συνεργασίας (BlackBerry collaborative service) που υποστηρίζει την ανταλλαγή άμεσων μηνυμάτων. Υπηρεσίες ελέγχου (BlackBerry controller) για τον έλεγχο της κατάστασης των BlackBerry συσκευών. Υπηρεσίες συνοχής βάσεων δεδομένων (BlackBerry Database Consistency Service) Υπηρεσίες διοχέτευσης της επικοινωνίας (BlackBerry Dispatcher) μέσω της οποίας διέρχεται η επικοινωνία μεταξύ των συστατικών του δικτύου. Υπηρεσία σύνδεσης σε επικοινωνία άμεσων μηνυμάτων (BlackBerry Instant Messaging Connector). Υπηρεσία ελέγχου ανταλλαγής μηνυμάτων (BlackBerry Messaging Agent) με την οποία επιτυγχάνεται ο ασύρματος συγχρονισμός του ημερολογίου και η δημιουργία καταλλήλου κλειδιού κρυπτογράφησης. Παρέχει επίσης λειτουργίες για την ανταλλαγή μηνυμάτων ηλεκτρονικού ταχυδρομείου και για αναζητήσεις. Υπηρεσία σύνδεσης MDS (BlackBerry MDS Connection Service) που προωθεί τις αιτήσεις που προέρχονται από το intranet του οργανισμού. 16

Υπηρεσίες MDS (BlackBerry MDS Services - Apache Tomcat Service) που αποστέλλουν και λαμβάνουν αιτήσεις και αποκρίσεις από και προς την συσκευή μέσω του BlackBerry Dispatcher service. Χρησιμοποιείται επίσης για τον πραγματοποίηση της ροής όπου το ένα άκρο είναι Java εφαρμογές τρίτων κατασκευαστών. Υπηρεσία εφαρμογής πολιτικής (BlackBerry Policy Service) που μεταφέρει τις επιταγές της πολιτικής στις συσκευές που αφορούν κυρίως το κλειδί κρυπτογράφησης και τον προσδιορισμό εντολών για το κλείδωμα των συσκευών. Υπηρεσίες δρομολόγησης (BlackBerry Router) που διέπουν την δρομολόγηση όλων των δεδομένων στις κινητές συσκευές αλλά και την σύνδεση μεταξύ BES και SRP host. Υπηρεσία συγχρονισμού που παρέχει OTA backup και συγχρονισμό όλων των PIM δεδομένων. Υπηρεσίες διαχείρισης χρηστών. Μία τυπική αρχιτεκτονική BES φαίνεται σχηματικά στην επόμενη εικόνα. Εικόνα 5: Αρχιτεκτονική BES 17

Εναλλακτικό του BES είναι το BlackBerry Internet Service (BIS) που επιτρέπει την πρόσβαση στο διαδίκτυο αλλά και την χρήση των υπηρεσιών που υποστηρίζονται από τα πρωτόκολλα POP3, IMAP και OWA. Το BIS χρησιμοποιείται για τον συγχρονισμό με τις επαφές και το ημερολόγιο και την σύνδεση της συσκευής σε λογαριασμούς email (υπάρχει η δυνατότητα αυτή για όλους τους μεγάλους οργανισμούς παροχής υπηρεσιών ηλεκτρονικού ταχυδρομείου όπως gmail, hotmail και yahoo) και για την παρουσίαση των μηνυμάτων με απλό τρόπο σαν να πρόκειται για SMS. Ο βασικός λόγος ανάπτυξης του ήταν να εξυπηρετηθούν οι χρήστες που δεν είχαν επιχειρηματικό λογαριασμό ηλεκτρονικού ταχυδρομείου. Το BIS είναι μια υπηρεσία που τρέχει από την RIM αλλά παρέχεται από τον πάροχο κινητής τηλεφωνίας. Το λειτουργικό σύστημα έχει επίσης ένα Application Programming Interface (API). Με την χρήση κλάσεων API, παρέχεται η δυνατότητα σε προγραμματιστές να αναπτύξουν δικές τους εφαρμογές. Αυτές οι κλάσεις παρέχουν πρόσβαση σε τεχνολογίες που ενισχύουν την ανάπτυξη εφαρμογών που πέραν των άλλων θα μπορούν να συνεργάζονται με άλλες εφαρμογές περιλαμβανομένων των ενσωματωμένων BlackBerry εφαρμογών. Αναλυτικότερα το API μπορεί να χρησιμοποιηθεί για την ανάπτυξη εφαρμογών που θα έχουν την δυνατότητα να: Έχουν δοσοληψίες με διάφορες εγγενείς υπηρεσίες της BlackBerry συσκευής. Προγραμματίζουν τα ειδικά συμβάντα των BlackBerry συσκευών. Ενσωματώνουν εφαρμογές BlackBerry. Έχουν δοσοληψίες με τα στοιχεία της BlackBerry εφαρμογών. Οι προγραμματιστές εφαρμογών για BlackBerry συσκευές έχουν την δυνατότητα να χρησιμοποιούν εξελιγμένες διεπαφές API και να τις ενσωματώνουν στις εφαρμογές τους εύκολα. Επίσης παρέχονται δικτυακά API για την ανάπτυξη αντιστοίχων λειτουργιών στις εφαρμογές αλλά και API για την ενσωμάτωση λειτουργιών των συσκευών. Περιέχει επίσης Graphical User Interface (GUI) για την διάδραση του με τους χρήστες των κινητών συσκευών στις οποίες είναι εγκατεστημένο. Υπάρχουν επίσης ισχυρά εργαλεία για την ανάπτυξη διεπαφών με πιο δημοφιλή το GUI Builder for Blackberry Java Plug-in for Eclipse. 18

Υπηρεσία του BlackBerry αποτελεί το BlackBerry Enterprise Server Express (BESX) που είναι μια δωρεάν έκδοση του BES. Ενισχύει τον συγχρονισμό των BlackBerry συσκευών κινητής τηλεφωνίας με το Microsoft Exchange ή το Microsoft Windows Small Business Server επιτρέποντας την χρήση της υπηρεσίας BlackBerry από μικρούς και μεσαίους οργανισμούς για τους οποίους η χρήση του BES είναι πλεονασμός. Οι ΙΤ διαχειριστές μπορούν να επιλέξουν από 35 ΙΤ λειτουργίες για την διευκόλυνση της διαχείρισης των χρηστών BlackBerry και να διασφαλίζετε την επιχείρηση σας. Λειτουργεί στον ίδιο πραγματικό και εικονικό server μαζί με το Microsoft mail server ή σε δικό του server και παρέχει Web-based περιβάλλον εργασίας που επιτρέπει απομακρυσμένη διαχείριση και κάνει εύκολη την εγκατάσταση του λογισμικού και την σύνδεση με τα BlackBerry smartphones. To BESX είναι πιστοποιημένο για χρήση με VMware ESX. Ο BlackBerry Enterprise Server Express είναι συμβατός με όλα τα προγράμματα δεδομένων από BIS έως BES που τον κάνει πιο προσιτό. Επίσης, οι χρήστες των BlackBerry smartphones έχουν την δυνατότητα να συνδεθούν με τους server της οργανισμού τους, χαρακτηριστικό το οποίο θα μειώσει σημαντικά το κόστος επικοινωνίας. Το BESX προσφέρει στους χρήστες ασφαλή και απομακρυσμένη πρόσβαση σε push mail, ημερολόγιο, επαφές, σημειώσεις και εφαρμογές, καθώς και πλήθος εφαρμογών με την ασφάλεια του εταιρικού firewall και χρησιμοποιεί την ίδια αρχιτεκτονική ασφαλείας που βρίσκουμε και στο BES. Στο τομέα της ασφαλείας δεν παρέχει κάποιας μορφής κρυπτογράφηση στις επικοινωνίες μεταξύ των συνδρομητών και των BlackBerry Internet services. Αποτέλεσμα αυτού είναι η ασφάλεια των μεταδιδομένων πληροφοριών να εξαρτάται αποκλειστικά από τις επιταγές ασφαλείας των πρωτοκόλλων 3G και 2G. Ωστόσο η ανταλλαγή δεδομένων μέσω του BlackBerry Enterprise Server γίνεται με κρυπτογράφηση 3DES ή AES. Όταν η επικοινωνία περιλαμβάνει BIS και BES τότε κρυπτογραφούνται τα δεδομένα που περνάνε μέσω του BES. Όσο αφορά την ανταλλαγή των αμέσων μηνυμάτων αυτά κρυπτογραφούνται με Global PIN Encryption key που επιτρέπει στις συσκευές να μπορούν να κρυπτογραφούν και να αποκρυπτογραφούν τα διακινούμενα μηνύματα. Οι αυτόματες ενημερώσεις των εκδόσεων του BlackBerry είναι διαθέσιμοι από ασύρματος φορείς που υποστηρίζουν over the air software loading (OTASL) service που προσφέρεται από το BlackBerry OS. 19

ios Το λειτουργικό σύστημα ios 4 είναι διαθέσιμο μόνο στις συσκευές της Apple. Αρχικά αναπτύχθηκε μόνο για το iphone αλλά στην συνέχεια επεκτάθηκε και στην υποστήριξη ipod Touch και ipad. Στο τέλος του 2010 το ios κατείχε το 16% της αγοράς των smartphones και κατείχε την τρίτη θέση στον σχετικό πίνακα. Βασίζεται στην άμεση αλληλεπίδραση του χρήστη με την οθόνη αφής της συσκευής. Με αυτόν τον τρόπο ο χειρισμός των συσκευών καθίσταται γρήγορος και απλός. Στηρίζεται στο Mac OS X και κατ επέκταση στο UNIX. Η εγκαταστασή του χρησιμοποιεί περίπου 0,5GB μνήμης από τον αποθηκευτικό χώρο της συσκευής. Διαχειρίζεται το υλικό της συσκευής όπου είναι εγκατεστημένο και παρέχει όλες εκείνες τις τεχνολογίες και μεθοδολογίες για την υλοποίηση εφαρμογών από τρίτους προγραμματιστές, μέσω του ios Software Development Kit (SDK). Επίσης περιέχει προεγκατεστημένες ορισμένες εφαρμογές του συστήματος όπως η διαχείριση τηλεφωνικών κλήσεων, το ηλεκτρονικό ταχυδρομείο και ο φυλλομετρητης safari. Το ios Software Development Kit χρησιμοποιεί το Xcode 4. Δίνει την δυνατότητα στους προγραμματιστές να δημιουργούν εφαρμογές και να τις δοκιμάζουν στο iphone Simulator, ένα εργαλείο για την προσομοίωση λειτουργίας των εφαρμογών που αναπτύσσουν. Το SDK της Apple έχει ως απαιτήσεις συστήματος για να χρησιμοποιηθεί, έναν Intel Mac με λειτουργικό σύστημα Mac OS X Leopard ή και νεότερο. Τα Windows αλλά και παλιότερες εκδόσεις Mac OS X δεν υποστηρίζονται. Στην επόμενη εικόνα φαίνονται χαρακτηριστικές οθόνες του ios. Εικόνα 6: Οθόνες ios 4 Το Xcode είναι ένα εξελιγμένο περιβάλλον ανάπτυξης εφαρμογών της Apple που περιλαμβάνει ένα σύνολο εργαλείων ανάπτυξης για εφαρμογές που προορίζονται για OS X και ios. 20

Η apple έχει διαθέσιμες πάνω από 500.000 εφαρμογές στο App Store της. Στο App Store μπορούν προγραμματιστές να προωθήσουν τις δικές τους εφαρμογές αποκομίζοντας κάποιο οικονομικό όφελος. Οι πιο δημοφιλείς υπηρεσίες του λειτουργικού συστήματος είναι χρήση συσκευής σαν ipod για μουσική συγχρονίζοντας με το itunes, το FaceTime για κλήσεις βίντεο μεταξύ iphone συσκευών και η δυνατότητα πολυδιεργασίας ώστε να χρησιμοποιούν περισσότεροι από ένας χρήστες το ίδιο σύστημα / παιχνίδι. Το λειτουργικό σύστημα του iphone στηρίζεται στο UNIX με αποτέλεσμα αρκετές από τις χαμηλού επιπέδου λειτουργίες να προέρχονται από τεχνολογίες ανοικτού κώδικα, αν και το ίδιο το ios είναι λογισμικό κλειστού κώδικα. Το λογισμικό του λειτουργικού συστήματος είναι οργανωμένο σε μια στοίβα. Το κατώτερο στοιχείο της στοίβας αποτελεί ο πυρήνας Mach και οι οδηγοί (drivers) του υλικού της συσκευής κινητής τηλεφωνίας. Τοποθετημένα πάνω από αυτά βρίσκονται λειτουργίες πυρήνα και διεπαφές που χρησιμοποιούνται στην ανάπτυξη ειδικευμένων εφαρμογών. Η αρχιτεκτονική του λειτουργικού συστήματος διαρθρώνεται στα εξής επίπεδα: Το επίπεδο του υλικού μέρους (hardware) το οποίο έχει να κάνει με τα υλικά συστατικά μέρη της συσκευής όπως συσκευές εισόδου-εξόδου, επεξεργαστής και μνήμη. Το επίπεδο firmware αναφέρεται στον προγραμματισμό του κάθε chip ξεχωριστά. Το επίπεδο του επεξεργαστή που σχετίζεται με το σύνολο των εντολών ARM και με τον πίνακα διακοπών (interrupts) όπως αυτός ορίζεται κατά την διάρκεια εκκίνησης της συσκευής και αρχικοποίησης των drivers. Στο επίπεδο iphone OS περιλαμβάνεται ο πυρήνας, οι drivers και οι υπηρεσίες που αποτελούν το λειτουργικό σύστημα που iphone. Το επίπεδο Objective-C Runtime αποτελείται από τις αντίστοιχες δυναμικές βιβλιοθήκες αλλά και τις βασικές βιβλιοθήκες της C. 21

Στο επίπεδο Frameworks/API περιλαμβάνονται τα cocoa touch 5 και οι κλήσεις ανωτέρων επιπέδων. Στο υψηλότερο επίπεδο της αρχιτεκτονικής βρίσκεται το επίπεδο εφαρμογών (Application) όπου τοποθετούνται οι εφαρμογές που είναι εγκατεστημένες στην συσκευή. Στο επίπεδο αυτό το λογισμικό παίζει τον ρόλο του ενδιάμεσου μεταξύ του υλικού της συσκευής και των εφαρμογών που παρουσιάζονται στον χρήστη. Οι εφαρμογές επικοινωνούν με το υλικό μέσω διεπαφών του συστήματος προκειμένου να προστατευθούν από αλλαγές που ενδεχομένως να συμβούν στο υλικό επιτυγχάνοντας υψηλό βαθμό ανεξαρτησίας από αυτό. Σχηματικά η αρχιτεκτονική του παρουσιάζεται στην επόμενη εικόνα. APPLICATION FRAMEWORK OBJECTIVE C RUNTIME iphone OS PROCESSOR FIRMWARE HARDWARE Εικόνα 7: Αρχιτεκτονική ios Η ανάπτυξη εφαρμογών προορισμένων για να λειτουργήσουν πάνω σε ios περιλαμβάνει τέσσερα επίπεδα. Ανεβαίνοντας από τα κατώτερα επίπεδα στα ανώτερα μετακινούμαστε από τις βασικές τεχνολογίες που στηρίζονται όλες οι εφαρμογές προς πιο εξειδικευμένες. 5 Πρόκειται για ένα πρωτόκολλο για την κατασκευή προγραμμάτων λογισμικού για ipod, ipad, iphone. Εισάγει ένα επιπλέον επίπεδο αφαίρεσης στο ios. Είναι γραμμένο σε Objective-C και επιτρέπει την χρήση υλικού και χαρακτηριστικών που δεν είναι διαθέσιμα σε MAC OS X. 22

Cocoa Touch Media Core Services Core OS Εικόνα 8: Διαστρωμάτωση ανάπτυξης εφαρμογών Οι υπηρεσίες που υπάρχουν στα ανώτερα επίπεδα περιλαμβάνουν τις απαραίτητες αφαιρέσεις για την αποδοτικότερη ανάπτυξη προγραμμάτων που να χρησιμοποιούν τις υπηρεσίες των κατωτέρων επιπέδων. Cocoa Touch: Έτσι το επίπεδο των cocoa touch περιλαμβάνει το πλαίσιο για την βασική μορφή της εφαρμογής και υποστηρίζει μεθοδολογίες υψηλού επιπέδου, καθοδηγώντας την διαδραση του χρήστη με την εφαρμογή. Είναι γραμμένο σε Objective-C και διαχειρίζεται τα συμβάντα στην οθόνη της συσκευής, τα συμβάντα αλλαγή κλίσης της συσκευής (Accelerometer), την υποστήριξη κάμερας για την εφαρμογή, την ιεραρχία των προβαλομένων στοιχείων στην οθόνη και την προσαρμογή των τοπικών ρυθμίσεων της εφαρμογής. Έχει αναπτυχθεί πάνω σε Model View Controller (MVC). Media: Στο επίπεδο Media περιλαμβάνονται οι μεθοδολογίες ανάπτυξης στοιχείων πολυμέσων και δικτυακών λειτουργιών και παρέχονται πολλές δυνατότητες για ενσωμάτωση αρκετών μορφών πολυμέσων στην εφαρμογή. Χρησιμοποιείται το OpenAL (open audio library) που έχει την ικανότητα να παράγει υψηλής ποιότητας πολυδιαυλικό ήχο. Πραγματοποιούνται οι διαδικασίες εγγραφής και μείξης ήχου, αναπαραγωγή βίντεο. Υποστηρίζεται επίσης η σχεδίαση και υλοποίηση γραφικών δύο ή τριών διαστάσεων και η δημιουργία κινουμένων περιβάλλόντων χρήσης. Core Services: Στο επίπεδο αυτό παρέχονται υπηρεσίες συστήματος που χρησιμοποιούνται από τις εφαρμογές. Σε αυτά περιλαμβάνονται οι ακόλουθες τεχνολογίες: Block Objects: Τμήματα λογισμικού γραμμένα σε C που ενσωματώνονται σε προγράμματα C ή Objective C και 23

χρησιμοποιούνται κυρίως ως callbacks 6 ή σε περιπτώσεις που απαιτείται ευελιξία του κώδικα και των δεδομένων που θα χρησιμοποιηθούν. Grand Central Dispatch (GCD): Είναι τεχνολογία που χρησιμοποιείται για την διαχείριση των διεργασιών μίας εφαρμογής. In-App Purchase: Παρέχει τις μεθοδολογίες για την συναλλαγή του χρήστη μιας εφαρμογής με το περιεχόμενο και τις υπηρεσίες που είναι διαθέσιμες. SQLite: Βιβλιοθήκη που βοηθάει την ενσωμάτωση μίας SQL βάσης δεδομένων στην εφαρμογή. Υποστήριξη XML: Παρέχει μεθοδολογίες για την ανάκτηση XML εγγράφων και την διαχείριση XML περιεχομένου. Core OS: Στο επίπεδο Core OS περιλαμβάνονται τα χαμηλού επιπέδου χαρακτηριστικά στα οποία στηρίζονται οι τεχνολογίες των ανωτέρων επιπέδων καθώς και το σύστημα που καλύπτει το περιβάλλον του πυρήνα τους drivers και τις χαμηλού επιπέδου διεπαφές του λειτουργικού συστήματος. 6 Συνάρτηση που παρέχεται από τον IIS και επιτρέπει σε έναν Internet Server API (ISAPI) extension ή filter να έχει πρόσβαση στο διαδίκτυο. 24

Symbian Το Symbian είναι σήμερα το πιο διαδεδομένο λειτουργικό σύστημα για κινητά τηλέφωνα. Διατίθεται από την εταιρεία Symbian στην οποία βασικός μέτοχος είναι και η ΝΟΚΙΑ - και προέρχεται από το λειτουργικό σύστημα EPOC. Η Symbian λειτουργεί ως κερδοσκοπική, ανεξάρτητη εταιρία, αδειοδοτεί το πηγαίο της κώδικα σε Κατασκευαστές τηλεφώνων και σε συνεργάτες ανάπτυξης και υποστηρίζει ανεξάρτητα αδειοδοτούμενα γραφικά περιβάλλοντα (UIs). Δεν είναι open source λογισμικό αλλά υποστηρίζεται από γνωστά καθιερωμένα πρότυπα. Η πλειονότητα των εφαρμογών για Symbian είναι γραμμένες σε C++ ή Java. Περιλαμβάνει έναν πολύ ισχυρό πυρήνα πολλαπλών λειτουργιών, ενσωματωμένη υποστήριξη κινητής τηλεφωνίας, επικοινωνιακά πρωτόκολλά και χρηστικές διεπαφές. Βασικό μειονέκτημα του είναι ότι δεν είναι δυνατή η αναβάθμιση των εγκατεστημένων εκδόσεων σε νεότερες. Χαρακτηριστικά της είναι ότι παρέχει υψηλού επιπέδου δυνατότητες σε πολυμέσα, δωρεάν πλοήγηση με τα Ovi Maps ενώ το Ovi Store της Nokia έχει διαθέσιμες πάνω από 10.000 εφαρμογές. Στις έξυπνες συσκευές που χρησιμοποιούν το Symbian OS είναι εφικτή η παραμετροποιήσει της στις ανάγκες του χρήστη. Έτσι, μπορεί ο κάθε χρήστης να τροποποιήσει την αρχική οθόνη τους και τα μενού τους με διαφορετικά θέματα ακόμα και από τρίτους κατασκευαστές, να μετακινήσει κάθε εικονίδιο εφαρμογής ακόμα και μέσα σε φακέλους που ο ίδιος έχει δημιουργήσει και επίσης μπορεί να αλλάξει το μέγεθος των γραμματοσειρών, τους ήχους κλήσεις και μηνυμάτων κτλ Χαρακτηριστικό επίσης του λειτουργικού συστήματος είναι ότι έχει την δυνατότητα να υποστηρίζει ένα μεγάλο εύρος τύπων συσκευών. Μπορεί και υποστηρίζει QWERTY αναδιπλούμενες (Series 80), με οθόνη αφής (UIQ) και σε μορφή candybar και slider. Η παλαιότητα του μπορεί να εκτιμάται από ορισμένους μελετητές σαν ένας παράγοντας απαξίωσης του αλλά η ωριμότητα του, του δίνει την ικανότητα να ανταποκρίνεται αποδοτικότερα σε ορισμένες απαιτήσεις σε σχέση με τον ανταγωνισμό. Η παρουσία του λειτουργικού συστήματος για μεγάλο διάστημα στην αγορά έχει επιφέρει και μεγάλο βαθμός εξοικείωσης των χρηστών με αυτό. Τέτοια παραδείγματα είναι η ανταλλαγή αρχείων μέσω Bluetooth οι λειτουργίες «tethering», VoIP, ποιότητα κλήσεων ομιλίας, συνδεσιμότητα, διαχείριση φακέλων κ.α. Η ασφάλεια του αναβαθμίστηκε στην έκδοση Symbian OS 9 όπου κάθε εφαρμογή για 25

να εγκατασταθεί έπρεπε να είναι ψηφιακά. Οι συσκευές που τρέχουν Symbian χρειάζονται λιγότερα και πιο απλά τεχνικά μέρη για να ολοκληρωθεί η κατασκευή τους και πόρους για να λειτουργήσουν. Το Symbian OS έχει διαθέσιµα software development kits για ανάπτυξη εφαρμογών από τρίτους Πρόσφατα πάντως με ανακοίνωση της στην ιστοσελίδα Nokia Developer, η Φινλανδική εταιρεία ανακοίνωσε πως σταματάει την ανάπτυξη του Symbian και το τοποθετεί σε λειτουργία συντήρησης. Η αρχιτεκτονική του Symbian OS περιλαμβάνει δύο διαφορετικά UI στην κορυφή του πυρήνα. Αυτές είναι οι Series και UIQ. Οι προγραμματιστές δεν έχουν την δυνατότητα να χρησιμοποιήσουν ένα γενικής χρήσης SDK αλλά αυτό που αντιστοιχεί στο UI που χρησιμοποιεί η συσκευή. Η τυπική πλατφόρμα περιέχει σε ποσοστό 80% τον κοινό κώδικα Symbian και σε 20% τον κώδικα της πλατφόρμας των ειδικών προδιαγραφών σε UI. User Interface Quartz (UIQ): Κυκλοφόρησε, από την UIQ Technology AB, θυγατρική της Symbian Ltd. Προοριζόταν για χρήση σε κινητές συσκευές που ήταν εξοπλισμένες με οθόνες αφής. Την πλατφόρμα χρησιμοποίησαν οι Sony Ericsson, Motorola, Benq, Nokia και Arima. Οι UIQ συσκευές αρχικά προορίζονταν κυρίως για επαγγελματική χρήση, είχαν οθόνη αφής και δέχονταν εφαρμογές γραμμένες σε C++ με χρήση του Symbian/UIQ SDK, και υποστήριζαν εφαρμογές σε Java. Στην συνέχεια και μετά την έκδοση 3 επεκτάθηκε το κοινό στο οποίο απευθύνονται με την κυκλοφορία κινητών συσκευών από την Sony Ericsson και την Motorola που χρησιμοποιούσαν το συγκεκριμένο λογισμικό. Η έκδοση η 3.3 κυκλοφόρησε με αλλαγές αλλά δεν κυκλοφόρησε στην αγορά αφού η παραγωγή των Sony Ericsson P5 και Sony Ericsson G702 που θα την χρησιμοποιούσαν ακυρώθηκαν. Η επιλογή του S60 ως interface από το Symbian Foundation έφερε και το τέλος του UIQ. Series: Στην πλατφόρμα αυτή περιλαμβάνονται οι Series 60 και 80. Το πρώτο σχεδιάστηκε για έξυπνες κινητές συσκευές με μικρής επιφάνειας οθόνες. Ο χρήστης εκτελούσε τις λειτουργίες του μέσω βασικών πλήκτρων. Το δεύτερο σχεδιάστηκε για συσκευές με μισή 26

VGA οθόνη, πληκτρολόγιο και πλήκτρα κατά μήκος της δεξιάς πλευράς της οθόνης. Εικόνα 9:Series και UIQ συσκευές Από το Symbian υποστηρίζονται οι ακόλουθες δικτυακές υπηρεσίες: OMA data synchronization v1.1 για διαχείριση ημερολόγιου και επαφών. Αποστολή και λήψη SMS, συνόλου SMS και EMS Διαχείριση e-mail με τα πρωτόκολλά POP3, IMAP4, SMTP, SMTP auth καθώς και την αποστολή και λήψη συνημμένων αρχείων Wireless Application Protocoll push 7 και WSP 8 μηνυμάτων. 7 Τα μηνύματα push WAP περιέχουν ένα σύνδεσμο Web. Συχνά, ο σύνδεσμος αφορά στη λήψη ενός αρχείου. 27

Για την χρήση Java εφαρμογών υποστηρίζονται οι τεχνολογίες: Connected Limited Device Configuration - CLDC 1.1: Οι διαμορφώσεις (Configurations) προσδιορίζουν τα χαρακτηριστικά μιας Εικονικής Μηχανή και τις λεπτομέρειες των APIs που μπορούν να χρησιμοποιηθούν µε συγκεκριμένες συσκευές. Η διαμόρφωση CLDC είναι κατάλληλη για συσκευές με περιορισμένη μνήµη, οθόνη, επεξεργαστική ισχύ, όγκο εισερχομένων δεδομένων, διάρκεια ενεργειακής ισχύος και σύνδεση σε δίκτυα. Η υλοποίηση της CLDC διαμόρφωση βασίζεται σε µια μικρή εικονική μηχανή Java την KVM (Kilo Virtual Machine) που είναι ένα ολοκληρωμένο περιβάλλον λειτουργίας (Java Runtime Environment - JRE ) που σχεδιάστηκε για κινητές συσκευές. Mobile Information Device Profile - MIDP 2.0: Υποστηρίζει την αναπαραγωγή πολυμέσων και παιχνιδιών καθώς και ασφαλή σύνδεση μέσω HTTPS. Java Technology for the Wireless Industry (JTWI): Πρόκειται για προδιαγραφή της Java για το ποια API πρέπει να περιλαμβάνει μία πλατφόρμα Java ME. Java API για Bluetooth 1.0 (JSR082): Το JSR 082 είναι το API μέσω του οποίου καθίσταται εφικτή η πρόσβαση στις ιδιότητες της Bluetooth συνδεσιμότητας μιας φορητής συσκευής μέσω Java. Συγκεκριμένα το Bluetooth API παρέχει μια διεπαφή προς την ασύρματη σύνδεση μέσω Bluetooth μιας φορητής συσκευής, περιλαμβανομένων των λειτουργιών ανακάλυψης συσκευών (device discovery) προς σύνδεση και ανταλλαγής δεδομένων (data exchange). Wireless Messaging 1.1 (JSR120): Παρέχει τρόπο πρόσβασης και οργάνωσης δεδομένων σε περιβάλλον περιορισμένων πόρων βασισμένο στο Generic Connection Framework του CLDC. Mobile media 1.1 (JSR 135): Το Moblie Media API (MMAPI) είναι ένα προαιρετικό πακέτο το οποίο υποστηρίζει εφαρμογές πολυμέσων σε συσκευές που υποστηρίζουν J2ME. Αυτό το πακέτο, το οποίο 8 Πρωτόκολλο που παρέχει μεθόδους ανταλλαγής περιεχομένων μεταξύ των server ασύρματων συσκευών και εφαρμογών. 28

ορίστηκε από τη Java Community Process (JCP) στο JSR 135, είναι πολύ ευέλικτο. Σχεδιάστηκε για να τρέχει με οποιοδήποτε πρωτόκολλο και format. Για παράδειγμα, δεν καθορίζει ότι η εφαρμογή πρέπει να υποστηρίζει συγκεκριμένα πρωτόκολλα μεταφοράς δεδομένων όπως το HTTP ή το Real Time Transport Protocol (RTP), ή συγκεκριμένα media format όπως MP3, MIDI, ή MPEG-4. Mobile 3D graphics API for J2ME 1.0 για την υποστήριξη τρισδιάστατων γραφικών. Personal Information Management API (JSR075): Παρέχει πρόσβαση στο σύστημα διαχείρισης αρχείων της συσκευής. Για την αναπαραγωγή και αποθήκευση πολυμέσων υποστηρίζονται multimegapixel camera, λήψη και καταγραφή εικόνας και ήχου, hardware abstraction layer, abstract camera interface, λειτουργίες για την μετατροπή μορφών εικόνων και 3D Graphics µε OpenGL ES API. Για την ανάπτυξη λογισµικού υποστηρίζονται J2ME MIDP 2.0 CodeWarrior για Symbian OS v3.0: Περιβάλλον ανάπτυξης λογισμικού για ένα μεγάλο αριθμό ενσωματωμένων συστημάτων. Το εργαλείο εστιάζει σε C/C++ και Assembly αλλά υπάρχουν και εκδόσεις για Pascal, Object Pascal, Objective C, Java. ARM RVCT 2.2 compiler: Πρόκειται για compiler που έχει σχεδιαστεί για να υποστηρίζει αποδοτικά με τους ARM επεξεργαστές. Υποστηρίζουν την ανάπτυξη εφαρμογών για Symbian OS και ARM Linux εφαρμογές και βιβλιοθήκες. PC emulation environment : Εργαλεία προσομοίωσης λειτουργίας των εφαρμογών σε κινητές συσκευές. Eclipse-based εργαλεία για Symbian. Η αρχιτεκτονική του λειτουργικού συστήματος περιλαμβάνει: Στο ανώτερο επίπεδο και πιο κοντά στο τελικό χρήστη βρίσκονται οι διεπαφές. 29

Στο αμέσως κατώτερο επίπεδο βρίσκεται η μηχανή εφαρμογών Symbian που επιτρέπει την πρόσβαση στα δεδομένα των ενσωματωμένων λειτουργιών. Στο ενδιάμεσο επίπεδο που βρίσκεται το σύστημα και περιλαμβάνει τα APIs του για τις λειτουργίες των εφαρμογών. Τον πυρήνα του συστήματος στον οποίο περιλαμβάνονται οι οδηγοί των συσκευών και οι εξυπηρετητές αρχείων Διαχειρίζεται τους πόρους του υλικού ενώ εξασφαλίζει και ελέγχει την πρόσβαση των εφαρμογών λογισμικού σε αυτούς. Επίπεδο Διεπαφών Μηχανή Εφαρμογών Symbian Επίπεδο Συστήματος Symbian Πυρήνας Εικόνα 10: Αρχιτεκτονική του Λειτουργικού Συστήματος Symbian Κάθε εφαρμογή που εκτελείται στο λειτουργικό σύστημα αποτελεί μία διαδικασία με τον δικό της χώρο. Μία διαδικασία μπορεί να έχει ένα ή περισσότερα νήματα. Κάθε νήμα εκτελείται ανεξάρτητα από τα υπόλοιπα αλλά στον ίδιο χώρο διευθύνσεων. Τα νήματα είναι preemptive scheduled από τον πυρήνα του λειτουργικού και έτσι συχνά χρειάζεται να σταματάει η εκτέλεση ενός νηματος για να εκτελεστεί άλλο με άλλο. Αυτή η διαδικασία είναι εξαιρετικά κοστοβόρα. Έτσι χρησιμοποιείται συχνά η τεχνική του της πολυεπεξεργασίας όπου μία εφαρμογή ή ένας εξυπηρετητής χρησιμοποιούν τη δικιά τους διαδικασία με μόνο ένα νήμα. Windows Phone 7 Το νέο λειτουργικό για κινητά από την Microsoft παρουσιάστηκε τον Οκτώβριο του 2010 επανασχεδιασμένο από την αρχή. Στοχεύει στην απλούστευση του χειρισμού της συσκευής που είναι εγκατεστημένο και της σύνδεσης σε τόπου 30

κοινωνικής δικτύωσης στο διαδίκτυο. Δόθηκε επίσης σημασία στην παροχή καλαίσθητών και χρηστικών γραφικών διεπαφών χρήστη, στην λειτουργία των multituch οθονών και στην παροχή δημοφιλών υπηρεσιών. Παράλληλα με την ανάπτυξη του λειτουργικού συστήματος η Microsoft παρουσίασε και το Windows Marketplace για την υποστήριξη του. Περιλαμβάνει ένα περιβάλλον χρήσης το οποίο έχει δημιουργηθεί με την Metro. Υποστηρίζει πλέων τις υπηρεσίες της Microsoft Windows Live, Zune, Xbox Live και το Bing. Υποστηρίζει επίσης υπηρεσίες τρίτων κατασκευαστών όπως Facebook και οι Google Accounts. Τα Windows Phone 7 Smartphones έχουν διασύνδεση με το Zune της Microsoft, Facebook, Windows LIVE καθώς και το Windows Phone Marketplace. Περιέχουν επίσης το office hub, ένα εργαλείο για την διασύνδεση της Windows Phone 7 συσκευής και της αντίστοιχης έκδοσης Microsoft Office στον υπολογιστή, Word Mobile, Excel Mobile, PowerPoint Mobile, OneNote Mobile, και SharePoint για την διαχείριση αρχείων του office. Για τον προγραμματισμό σε αυτή την πλατφόρμα, οι εφαρμογές πρέπει να βασίζονται ή στο XNA, ένα σετ εργαλείων της Microsoft με διαχωρίσιμο περιβάλλον ανάπτυξης εφαρμογών, ή σε μια συγκεκριμένη έκδοση του Silverlight που να υποστηρίζει τα Windows Phone 7. Για την σχεδίαση και την προσομοίωση των εφαρμογών παρέχεται από την Microsoft μία επέκταση για το Visual Studio 2010, το Windows Phone Developer. 31

Σχεδίαση της εφαρμογής Απαιτήσεις Ο χρήστης θα επιλέγει το μέγεθος του πίνακα που θα περιέχονται οι λέξεις, μέσω του βαθμού δυσκολίας και την γλώσσα των τοποθετημένων λέξεων. Στην συνέχεια θα επιλέγεται ένα πλήθος λέξεων από κατάλληλο αρχείο κειμένου, Αγγλικό ή Ελληνικό ανάλογα την επιλογή γλώσσας του χρήστη και αυτές θα τοποθετούνται στον πίνακα σε οριζόντια ή κάθετη διεύθυνση. Το πλήθος των λέξεων θα είναι ανάλογο της επιλεγείσας δυσκολίας. Τα κελιά του πίνακα που δεν θα έχουν τοποθετηθεί γράμματα από τις επιλεγμένες λέξεις συμπληρώνονται με τυχαία γράμματα. Στην συνέχεια ο χρήστης μπορεί να προσπαθήσει να εντοπίσει τις λέξεις στον πίνακα μέχρι να τις εντοπίσει όλες. Οι πιθανοί χρήστες της εφαρμογής είναι το σύνολο των χρηστών smartphones και tablet s. Οι λειτουργίες που χρειάζεται να εκτελούνται είναι: Εκκίνηση Νέου Παιχνιδιού: Ο χρήστης ζητάει την εκκίνηση νέου παιχνιδιού. Η εκκίνηση περιλαμβάνει τις ακόλουθες λειτουργίες: o Επιλογή Γλώσσας: Ο χρήστης επιλέγει την γλώσσα του κρυπτολέξου. o Επιλογή Βαθμού Δυσκολίας: Ο χρήστης επιλέγει τον βαθμό δυσκολίας του κρυπτολέξου. o Δημιουργία Πίνακα: Ο πίνακας του κρυπτολέξου σχηματίζεται σύμφωνα με τις επιλογές του χρήστη. Εύρεση Λέξης: Ο χρήστης καταδεικνύει λέξη που πιστεύει ότι προς αναζήτηση. Περιλαμβάνονται οι παρακάτω λειτουργίες: o Επιλογή Γραμμάτων Λέξης: Ο χρήστης επιλέγει τα γράμματα που θεωρεί ότι ανήκουν σε μία λέξη. o Υπολογισμός Ορθότητας Λέξης: Η επιλεγείσα λέξη εξετάζεται αν είναι μία από τις ζητούμενες. o Αναπροσαρμογή Επίδοσης: Αν η λέξη είναι πράγματι μία από τις ζητούμενες η επίδοση του χρήστη αναπροσαρμόζεται. Ολοκλήρωση Παιχνιδιού: Περιλαμβάνει τις παρακάτω λειτουργίες: 32

o Έλεγχος Ολοκλήρωσης: Ελέγχεται αν ο χρήστης έχει εντοπίσει όλες τις ζητούμενες λέξεις. o Ενημέρωση Χρήστη: Αν έχουν εντοπιστεί όλες οι ζητούμενες λέξεις εμφανίζεται κατάλληλο μήνυμα στον χρήστη. Οι περιπτώσεις χρήσης αποτυπώνονται σχηματικά στο παρακάτω USE CASE διάγραμμα. Εικόνα 11: Use Case διάγραμμα Από τις παραπάνω αναφερθείσες απαιτήσεις εντοπίζονται οι ακόλουθες κλάσεις αντικειμένων να παίζουν ρόλο στην εξέλιξη του παιχνιδιού. ΛΕΞΗ: Παριστάνει μία λέξη που μπορεί να υπάρχει σε ένα κρυπτόλεξο. ΚΡΥΠΤΟΛΕΞΟ: Παριστάνει τον πίνακα ενός κρυπτολέξου. Τα χαρακτηριστικά της είναι το μέγεθος του, το πλήθος των λέξεων που υπάρχουν προς αναζήτηση, το σύνολο των λέξεων που υπάρχουν κρυμμένες, η γλώσσα του. ΠΑΙΧΝΙΔΙ: Παριστάνει ένα παιχνίδι. Στα χαρακτηριστικά της περιλαμβάνονται το κρυπτόλεξο και το πλήθος των λέξεων που έχει εντοπίσει ο χρήστης. Το αρχικό διάγραμμα κλάσεων που αντιστοιχεί στην περιγραφή αυτή έχει όπως παρακάτω: 33

Εικόνα 12: Αρχικό Class Diagram *Όπου n = πλήθος λέξεων 34

Οι λειτουργίες της εφαρμογής Δημιουργία νέου παιχνιδιού Ο χρήστης επιλεγεί στην αρχική οθόνη το επίπεδο δυσκολίας που καθορίζει το μέγεθος του κρυπτόλεξου και την γλώσσα επιλογής, Αγγλικά ή Ελληνικά. Μετά την επιλογή της γλώσσας και κατά την έναρξη της κύριας κλάσης Παιχνίδι, η κλάση τροφοδοτείτε από ένα αντικείμενο της κλάσης Κρυπτολέξου για την δημιουργία του πινάκα και αυτός με την σειρά του τροφοδοτείτε από αντικείμενα της κλάσης Λέξη έτσι ώστε να μπουν λέξεις από μια αποθήκη δεδομένων. Η διαδικασία φαίνετε στο παρακάτω διάγραμμα δημιουργίας παιχνιδιού. Εικόνα 13:Διάγραμμα New Game 35

Εύρεση λέξεων Ο χρήστης μετά από την επιλογή γραμμάτων χρησιμοποιεί μέσω κατάλληλης μεθόδου της κλάσης παιχνιδιού έναν έλεγχο που τον ενημερώνει αν το σύνολο των λέξεων που έχει πατήσει αντιστοιχεί σε σωστή λέξη ή οχι και ενεργεί αναλόγως,αναπροσαρμόζοντας το παιχνίδι είτε αλλάζοντας χρώμα στην σωστή-επιλεγμένη λέξη είτε επαναφέροντας το κρυπτόλεξο στην κατάσταση που ήταν πριν τον έλεγχο. Η διαδικασία φαίνετε στο παρακάτω διάγραμμα ελέγχου της λέξης Εικόνα 14:Διάγραμμα Ελέγχου Λέξης 36

Ολοκλήρωση παιχνιδιού Όπως δείχνει η εικόνα 15 μετά τον έλεγχο κάθε λέξης ξεχωριστά υπάρχει ο έλεγχος για την ολοκλήρωση του παιχνιδιού, αν έχουν βρεθεί όλες οι λέξεις. Στην περίπτωση που ο χρήστης βρει και την τελευταία λέξη του κρυπτολέξου ακολουθεί ένα μήνυμα με τις επιλογές νέου παιχνιδιού και την έξοδο από την εφαρμογή. Η διαδικασία φαίνετε στο παρακάτω διάγραμμα για την ολοκλήρωση του παιχνιδιού Εικόνα 15:Διάγραμμα Ολοκλήρωσης παιχνιδιού 37

Σχεδίαση της Διεπαφής Υπάρχουν 4 οθόνες για την διεπαφή χρήστη της εφαρμογής : 1. Αρχική οθόνη 2. Οθόνη επιλογών 3. Κύρια οθόνη παιχνιδιού Αρχική οθόνη Η οθόνη, αυτή, είναι μια εισαγωγή στο παιχνίδι και είναι ανενεργή από την μεριά του χρήστη, το μόνο που κάνει είναι να χρησιμοποιεί μια χρονοκαθηστέρηση και να εισάγει τον χρήστη στο παιχνίδι με ένα κομμάτι μουσικής. Εικόνα 16:Εικόνα αρχικής οθόνης 38

Οθόνη επιλογών Μετά την οθόνη εισαγωγής εμφανίζεται η οθόνη επιλογών. Στην οθόνη αυτή ο χρήστης πρέπει να επιλέξει την γλωσσά σχεδίασης του κρυπτολέξου μεταξύ Αγγλικών και Ελληνικών, καθώς και το επίπεδο δυσκολίας που καθορίζει το μέγεθος του κρυπτολέξου και το πλήθος των λέξεων που έχει το κάθε επίπεδο ξεχωριστά. Εικόνα 17:Εικόνα οθόνης επιλογών 39

Κύρια οθόνη παιχνιδιού Κατά την εισαγωγή στην κυρίως οθόνη παιχνιδιού δημιουργείτε το κρυπτόλεξο που πληροί τις προϋποθέσεις της προηγούμενης εικόνας για το μέγεθος και την γλωσσά του κρυπτολέξου. Στην οθόνη υπάρχει ο πινάκας γραμματων,4 κουμπιά με τις ονομασίες : 1. Νέο παιχνίδι, για την έναρξη νέου παιχνιδιού με τις ίδιες προϋποθέσεις 2. Πίσω, ώστε ο χρήστης ανά πάσα στιγμή να μπορεί να γυρίσει στην οθόνη επιλογών 3. Λύση, όταν ο χρήστης δεν μπορέσει να βρει τις λέξεις, να εμφανιστούν αυτόματα. 4. Έλεγχος, μετά από μια σειρά επιλεγμένων γραμμάτων ο χρήστης μπορεί να ελέγξει αν αυτό που πάτησε είναι σωστό. Εικόνα 18: Εικόνα οθόνης Κυρίως παιχνιδιού 40