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



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

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

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

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

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

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

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

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

Δίνουμε λύσεις, δεν προτείνουμε

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

Περίληψη ιπλωµατικής Εργασίας

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

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

Διαφάνεια 1.1. Μέρος 1 Εισαγωγή. Κεφάλαιο 1 Εισαγωγή στο ψηφιακό επιχειρείν και το ηλεκτρονικό εμπόριο

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

Ηλεκτρονικό Επιχειρείν & Νέες Τεχνολογίες για Επιχειρηματικότητα ΔΕΟ45

ΟΙ ΨΗΦΙΑΚΕΣ ΕΙΚΟΝΙΚΕΣ ΚΟΙΝΟΤΗΤΕΣ ΩΣ ΔΟΜΕΣ ΣΤΗΡΙΞΗΣ ΤΟΥ ΕΚΠΑΙΔΕΥΤΙΚΟΥ ΈΡΓΟΥ

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

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

ΠΡΟΛΟΓΟΣ. Σε ποιους απευθύνεται αυτό το βιβλίο... vi Διάρθρωση του βιβλίου... vi

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

1 Συστήματα Αυτοματισμού Βιβλιοθηκών

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ Τμήμα Πληροφορικής και Τηλεπικοινωνιών

GoDigital.Store E-Commerce Platform

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

Σχεδίαση και Ανάπτυξη Ιστότοπων

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

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

ΟΙΚΟΝΟΜΙΚΗ ΠΡΟΣΦΟΡΑ ΣΧΕ ΙΑΣΗΣ ΚΑΙ ΚΑΤΑΣΚΕΥΗΣ web εφαρµογής - ηλεκτρονικού κατατήµατος για έξυπνα κινητά

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

ΤΕΛΙΚΕΣ ΔΙΠΛΩΜΑΤΙΚΕΣ ΕΡΓΑΣΙΕΣ (6 Μονάδες ECTS)- Ακαδημαϊκό Έτος

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

Θέματα Ατομικής Διπλωματικής Εργασίας Ακαδημαϊκό Έτος 2017/2018. Γεωργία Καπιτσάκη (Επίκουρη Καθηγήτρια)

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

ΜΗΧΑΝΙΣΜΟΣ ΔΙΑΓΝΩΣΗΣ ΤΩΝ ΑΝΑΓΚΩΝ ΤΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ ΣΕ ΕΠΑΓΓΕΛΜΑΤΑ ΚΑΙ ΔΕΞΙΟΤΗΤΕΣ: Η ΠΕΡΙΠΤΩΣΗ ΤΩΝ ΤΠΕ

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

Γεω-χωρικές υπηρεσίες και τεχνολογίες WEB. Βασίλειος Βεσκούκης Μηχανικός ΗΥ, Επ.Καθ. ΕΜΠ

- Η ασύρµατη τεχνολογία Bluetooth είναι µια µικρής εµβέλειας ασύρµατη επικοινωνία. - Χρησιµοποιείται για ad hocδικτύωση για την µεταφορά δεδοµένων

Διεθνής έρευνα για την εξάπλωση των Smartphones και Tablets

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

Εγχειρίδιο Χρήσης. Σημαντικό!

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

Σύστημα Αναθέσεων. Σχεδιασμός Υποσυστημάτων

ΤΕΙ ΚΑΒΑΛΑΣ. Πτυχιακή εργασία ΕΙΣΑΓΩΓΗ. Μιλτιάδης Κακλαμάνης

Αγροτική Ανάπτυξη Περιβάλλον

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

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

Σύστημα Διαχείρισης, Ελέγχου και Παρακολούθησης Ασθενοφόρων και Περιστατικών

Ολοκληρωμένες Δράσεις προβολής δημοσιότητας για το Δήμο Αρχανών Αστερουσίων Εγχειρίδιο Χρήσης - Παρουσίαση

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

Οργάνωση ενός σύγχρονου Υπολογιστικού Συστήματος ή Ηλεκτρονικού Υπολογιστή (Η/Υ) Τα σύγχρονα συστήματα Η/Υ έχουν την παρακάτω οργάνωση:

Κεφάλαιο 1 Συναντώντας τις Τεχνολογίες του Σήμερα. Ενισχυμένη Έκδοση 2017

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

Λειτουργικά Συστήματα Ι. Κεφάλαιο 1 Βασικές Έννοιες Λειτουργικών Συστημάτων

Τεχνολογίες Ανάπτυξης Ηλεκτρονικού Καταστήματος Μικρομεσαίας Επιχείρησης. Μικρομεσαίες Επιχειρήσεις και Καινοτομία

SNMP ΔΙΑΧΕΙΡΙΣΗ ΔΙΚΤΥΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΥΠΟΥΡΓΕΙΟ ΟΙΚΟΝΟΜΙΑΣ ΥΠΟΔΟΜΩΝ, ΝΑΥΤΙΛΙΑΣ & ΤΟΥΡΙΣΜΟΥ ΑΠΟΦΑΣΗ ΕΠΙ ΔΗΛΩΣΗΣ ΣΗΜΑΤΟΣ ΑΠΟΦΑΣΗ ΕΞ 3113/

Field Service Management ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ

Προσαρμογή λειτουργιών Δικτύου Κινητής Τηλεφωνίας

Το Ασύρματο Δίκτυο TETRA. Αντωνίου Βρυώνα (Α.Μ. 1019)

ΕΠΙΧΕΙΡΗΣΙΑΚΟ ΠΡΟΓΡΑΜΜΑ ΚΡΗΤΗΣ

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΔΙΑΔΙΚΤΥΟ

Chania a place to visit

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

Πανεπιστήμιο Αιγαίου Σχολή Κοινωνικών Επιστημών Τμήμα Πολιτισμικής Τεχνολογίας Και Επικοινωνίας

Προεπισκόπηση Παρουσίασης Διαδραστικοί Πίνακες

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

ΚΟΙΝΩΝΙΚΗ ΔΙΚΤΥΩΣΗ ΜΕΣΩ ΚΙΝΗΤΩΝ ΣΥΣΚΕΥΩΝ: ΧΡΗΣΗ ΔΕΚΤΗ GPS ΓΙΑ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΗΣ ΚΟΙΝΩΝΙΚΗΣ ΔΙΚΤΥΩΣΗΣ ΣΕ ΚΙΝΗΤΗ ΣΥΣΚΕΥΗ

Tales & Trails. apps4thessaloniki 2016

Όλες οι υπηρεσίες είναι διαθέσιμες μέσω διαδικτύου.

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ - Π.Μ.Σ. ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

Θέματα Ατομικής Διπλωματικής Εργασίας - DRAFT Ακαδημαϊκό Έτος 2015/2016. Γεωργία Καπιτσάκη (Λέκτορας)

Πλοήγηση και Αναζήτηση

WEB # API # CLOUD communicationsolution. Routee. Powered by

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

Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών

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

ΛΟΓΙΣΜΙΚΟ (software)

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

Εφαρµογές πλοήγησης για φορητές συσκευές µε τη χρήση Web Services

Η Oracle ανακοίνωσε την πιο ολοκληρωμένη λύση στον τομέα της Ανάλυσης δεδομένων στο Cloud

ΠΛΑΤΩΝΑΣ Έργο ΓΓΕΤ 1SME2009

Αναζήτηση στον Ιστό. Πληκτρολόγηση του URL: στο πλαίσιο αναζήτησης του Mozilla Firefox. Enter ή κλικ στο Αναζήτηση

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

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

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

Μέρος 3 ο : Βασικές Έννοιες για δυναμικές ιστοσελίδες

Διαχειριστείτε το σύστημα κλειδώματος σας CLIQ όποτε και & από όπου θέλετε εσείς!

Εγχειρίδιο Χρήσης. 1bank Internet Banking για Εταιρικούς Συνδρομητές

Το Διαδίκτυο των Αντικειμένων και η Δύναμη του Πλήθους (Internet of Things and Crowdsourcing)

Προγραμματισμός Διαχείρισης Συστημάτων Ι

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

Αρχιτεκτονικές κατανεμημένων συστημάτων. I. Sommerville 2006 Βασικές αρχές Τεχνολογίας Λογισμικού, 8η αγγ. έκδοση Κεφ. 12

ΕΝΟΤΗΤΑ 2 η ΙΑΧΕΙΡΙΣΗ ΡΟΗΣ ΕΡΓΑΣΙΑΣ (WORKFLOW MANAGEMENT) 2.1 Εισαγωγή

Νέες Εφαρμογές 3D Χαρτογραφίας:

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

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΥΛΟΠΟΙΗΣΗ ΠΡΟΣΑΡΜΟΣΤΙΚΩΝ ΥΠΗΡΕΣΙΩΝ ΔΙΑΔΙΚΤΥΟΥ Γλυκιώτης Δημήτριος Επιβλέπων: Κωνσταντίνος Βασιλάκης Τρίπολη, Νοέμβριος 2012

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

Abstract The object of this thesis is the research and analysis of the evolution of adaptable internet services and of the applications based on environment information. Alongside with this research, will follow the design and programming of such an application, which compiles and executes on the Android operating system, an operating system for mobile devices. This application will be adaptable, as it is based on the users preferences of different product brands, as well on the users geographical position. In this thesis there is also an extensive reference and analysis of the Android operating system and its functions and features. 3

Πίνακας Περιεχομένων Περίληψη 2 Abstract 3 Πίνακας Περιεχομένων 4 Πίνακας εικόνων 6 1. Εισαγωγή 7 1.1. Ιστορική Αναδρομή στο Κινητό Ηλεκτρονικό Εμπόριο 7 1.2. Υπηρεσίες που βασίζονται στη θέση του χρήστη (Location Based Services) 9 1.2.1. Ορισμός 9 1.2.2. Ιστορία των υπηρεσιών που βασίζονται στη θέση του χρήστη 9 1.2.3. Μέθοδοι Εντοπισμού 11 1.2. Περιγραφή Προβλήματος 13 2. Σχετιζόμενες εργασίες και τεχνολογίες 15 2.1. Εισαγωγή στο Android 15 2.1.1.Τα Σημαντικότερα Συστατικά του Android και η Αρχιτεκτονική του 16 2.1.2.Εργαλεία Ανάπτυξης Εφαρμογών Android (Android Developer Tools) 19 2.2. Βιβλιογραφική Επισκόπηση Εφαρμογών Κινητού Ηλεκτρονικού Εμπορίου 20 2.2.1.Ο Ρόλος της Περιβάλλουσας Κατάστασης στον Σχεδιασμό των Εφαρμογών Κινητού Ηλεκτρονικού Εμπορίου 20 2.2.2.Οι εμπλεκόμενοι στο Κινητό Ηλεκτρονικό Εμπόριο 23 2.2.3.Βιβλιογραφική Επισκόπηση 25 3. Σχεδιασμός και Υλοποίηση της Εργασίας 30 3.1. Διάρθρωσης της εφαρμογής 30 4

3.2. Περιγραφή του Σχήματος της Βάσης Δεδομένων (Database Schema) 36 3.3. Ανταλλαγής δεδομένων μεταξύ του εξυπηρέτη και της συσκευής του χρήστη 39 3.3.1.Περιγραφή των εργαλείων που χρησιμοποιήθηκαν 39 3.3.2.Η ανταλλαγή πληροφοριών ανάμεσα στη συσκευή του χρήστη και τον εξυπηρέτη 40 3.3.3.Λίστα των PHP scripts που χρησιμοποιήθηκαν 41 4. Συμπεράσματα Μελλοντικές επεκτάσεις 42 Βιβλιογραφία 43 Παράρτημα A: Κώδικας εφαρμογής 45 Υποθέσεις 45 ActivitiesBridge.java 45 AddUserLikes.java 46 GetItemsFromDB.java 47 MainActivity.java 48 makeminesql.java 49 MyMapActivity.java 53 NewUser.java 57 ShopInfo.java 61 ShowAdvert.java 64 5

Πίνακας εικόνων Εικόνα 2.1: Διάγραμμα ενεργοποίησης νέων συσκευών Android σε σχέση με τον χρόνο... 15 Εικόνα 2.2: Αρχιτεκτονική συστήματος Android... 17 Εικόνα 2.3. Λειτουργικότητα των εφαρμογών κινητού ηλεκτρονικού εμπορίου με επίγνωση της περιβάλλουσας κατάστασης... 22 Εικόνα 3.1. Διάγραμμα Ροής της εφαρμογής... 30 Εικόνα 3.2: Οθόνη σύνδεσης χρήστη... 31 Εικόνα 3.3: Οθόνη εισαγωγής στοιχείων του χρήστη... 32 Εικόνα 3.4: Επιλογή προϊόντων από τις διαθέσιμες μάρκες... 32 Εικόνα 3.5: Εμφάνιση χάρτη GoogleMaps και επισήμανση των καταστημάτων και της τοποθεσίας του χρήστη.... 34 Εικόνα 3.6: Ειδοποίηση για την είσοδο του χρήστη σε επιθυμητό κατάστημα.... 35 Εικόνα 3.7: Παράδειγμα διαφήμισης... 36 Εικόνα 3.8.: Σχήμα Βάσης Δεδομένων... 37 6

1. Εισαγωγή 1.1. Ιστορική Αναδρομή στο Κινητό Ηλεκτρονικό Εμπόριο Το κινητό ηλεκτρονικό εμπόριο, εξελίχθηκε μέσα από το ηλεκτρονικό εμπόριο, στα τέλη του 1990. Συγκεκριμένα, η Παγκόσμια Ένωση Κινητού Εμπορίου (Global Mobile Commerce Forum - GMCF), η οποία κατέληξε να περιέχει πάνω από 100 οργανισμούς, ξεκίνησε να υπάρχει στις 10 Νοεμβρίου 1997 στο Λονδίνο. Ιδρύθηκε από τις εταιρίες Logica και Cellnet. Η πρώτη πρακτική εφαρμογή του κινητού ηλεκτρονικού εμπορίου εμφανίζεται το 1997 στο Ελσίνκι, όπου και εγκαταστάθηκαν οι πρώτοι αυτόματοι πωλητές του αναψυκτικού Coca-Cola, οι οποίοι δέχονταν πληρωμή μέσω ηλεκτρονικού μηνύματος (SMS). Η πρώτη τραπεζική υπηρεσία βασισμένη σε κινητά τηλέφωνα ξεκίνησε επίσης το 1997 στο Ελσίνκι, από την τράπεζα Merita της Φινλανδίας, η οποία χρησιμοποιούσε επίσης SMS για να επιτρέπει στους χρήστες της, την διαχείριση των τραπεζικών λογαριασμών τους. Τη χρονιά του 1998 έγινε για πρώτη φορά εφικτή η αγορά ψηφιακού υλικού για κινητά, μέσω κινητού. Στο Ελσίνκι για άλλη μια φορά, ο χρήστης μπορεί πλέον να πληρώνει μέσω SMS για να αγοράζει ψηφιοποιημένους ήχους κλήσης για το κινητό του. Στις αρχές του 2000, υπάρχει και η κύρια άνθηση του κινητού ηλεκτρονικού εμπορίου, καθώς πλέον το κινητό σταματάει να θεωρείται είδος πολυτελείας και πλέον ευρύνεται η χρήση του. Στη Νορβηγία ξεκινάει η υπηρεσία πληρωμής στάθμευσης μέσω κινητού. Στην Αυστρία προσφέρονται μειωμένες τιμές για την αγορά εισιτηρίου τρένου μέσω κινητού, ενώ στην Ιαπωνία συναντάται η ίδια υπηρεσία για κλείσιμο αεροπορικών εισιτηρίων. Τον Απρίλιο του 2002, το Ευρωπαϊκό Ινστιτούτο Τηλεπικοινωνιακών Προτύπων (European Telecommunications Standards Institute ETSI) στηριζόμενο στο έργο της Παγκόσμιας Ένωσης Κινητού Εμπορίου, έχρισε τον Joachim Hoffman της Motorola υπεύθυνο για να αναπτύξει τα επίσημα πρότυπα για το ηλεκτρονικό εμπόριο. Τότε ο Hoffman δήλωσε πως οι αναλυτές του Ινστιτούτου προέβλεπαν πως η ανάπτυξη του κινητού ηλεκτρονικού εμπορίου τα επόμενα χρόνια θα είναι εκθετική σε τέτοιο βαθμό ώστε να αγγίξει τα 200 δις δολάρια μέχρι το 2004. 7

Με το πέρασμα των χρόνων, τα PDA και τα κινητά τηλέφωνα έγιναν τόσο δημοφιλή, ώστε αρκετές επιχειρήσεις είχαν αρχίσει να χρησιμοποιούν το κινητό ηλεκτρονικό εμπόριο ως έναν πιο αποτελεσματικό τρόπο για να επικοινωνούν με τους πελάτες τους. Εταιρίες όπως οι Nokia, Ericsson, Motorola και άλλες, αντιλήφθηκαν τις πιθανές εφαρμογές του κινητού ηλεκτρονικού εμπορίου, και άρχισαν να δουλεύουν με φορείς όπως τα AT&T Wireless και Sprint για να αναπτύξουν έξυπνες συσκευές οι οποίες κάνουν χρήση του WAP και προσφέρουν στον χρήστη fax και e-mail. Η επανάσταση στον χώρο του κινητού ηλεκτρονικού εμπορίου, έγινε με την παραγωγή του πρώτου iphone στην αγορά: μέχρι το σημείο αυτό η τεχνολογία των «έξυπνων τηλεφώνων» (smart phones) στόχευε σχεδόν αποκλειστικά σε εταιρικά περιβάλλοντα και η Apple άλλαξε την κατάσταση αυτή προωθώντας το iphone ως τεχνολογία για τελικούς καταναλωτές. Η όλη φιλοσοφία του κινητού ηλεκτρονικού εμπορίου άλλαξε προσανατολισμό, καθώς η χρήση του συστήματος SMS για πληρωμή, αντικαταστάθηκε από εφαρμογές. Αυτό συνέβη κυρίως, γιατί η τεχνολογία πληρωμής από SMS είναι ιδιαίτερα ευπαθής σε θέματα ασφαλείας, παρόλο που είναι ιδιαίτερα διαδεδομένη. Επίσης η εξέλιξη των δυνατοτήτων των κινητών τηλεφώνων και η ανάπτυξή τους σε θέματα υλικού, συμπεριλαμβανομένης της ασύρματης δικτύωσης, της αύξησης της επεξεργαστικής ισχύος, της χωρητικότητας της μνήμης και της διάρκειας της μπαταρίας, έδωσε την ευκαιρία να φορτωθεί το βάρος σε χρήση πόρων, κυρίως στα κινητά τηλέφωνα και λιγότερο με την υπηρεσία με την οποία επικοινωνούν (όπως εξυπηρέτες (servers), ή άλλους υπολογιστές). Τα πιο πρόσφατα χρόνια, η εξέλιξη των τηλεφώνων και των εφαρμογών τους, έδωσε τη δυνατότητα σε προγραμματιστές και εταιρίες, να εξελίξουν σε μεγάλο βαθμό το κινητό ηλεκτρονικό εμπόριο, χρησιμοποιώντας υπηρεσίες που βασίζονται στη θέση του χρήστη (location based services), σαρωτές barcode (barcode scanners), και προώθηση ειδοποιήσεων (push notifications). Με αυτόν τον τρόπο δημιουργήθηκε το περιβάλλον γνωστό ως Bricks & Clicks, όπου τα συμβατικά καταστήματα προσφέρουν στους πελάτες τα προνόμια του ηλεκτρονικού εμπορίου, όπως κριτικές προϊόντων, πληροφορίες και ειδικές προσφορές. Το περιβάλλον αυτό μπορεί να θεωρηθεί «γέφυρα» μεταξύ του ηλεκτρονικού και του συμβατικού εμπορίου και σε αυτήν την ιδέα στηρίζεται η παρούσα εργασία. 8

1.2. Υπηρεσίες που βασίζονται στη θέση του χρήστη (Location Based Services) 1.2.1. Ορισμός Οι υπηρεσίες που βασίζονται στη θέση του χρήστη είναι μια γενικευμένη κατηγορία υπηρεσιών για υπολογιστές, οι οποίες χρησιμοποιούν συγκεκριμένες πληροφορίες, όπως τοποθεσία και χρόνο, ως βασικά δεδομένα. Τέτοιες υπηρεσίες, χρησιμοποιούνται από χρήστες καθημερινά. Η πιο συνηθισμένη χρήση τους πλέον, συναντάται στα κοινωνικά δίκτυα, όπου κάποιος χρήστης μπορεί να ενημερώσει τους φίλους του, για την τρέχουσα τοποθεσία του, μέσω μιας συσκευής (κινητό τηλέφωνο, φορητός υπολογιστής κ.ά.). Με την εισαγωγή των έξυπνων συσκευών στην καθημερινότητα μας, αυτή η λειτουργία χρησιμοποιείται καθημερινά και από περισσότερους χρήστες. Οι υπηρεσίες που βασίζονται στη θέση του χρήστη χρησιμοποιούνται για διαφορετικές περιστάσεις και ανάγκες, όπως θέματα υγείας, διασκέδαση, δουλειά, προσωπική ζωή κ.ά. Επίσης χρησιμοποιούνται για την εύρεση θέσης ενός προσώπου, αντικειμένου ή τοποθεσίας. Για παράδειγμα, μέσω τέτοιον υπηρεσιών ο χρήστης μπορεί να ενημερωθεί σχετικά με το που βρίσκονται φαρμακεία, μαγαζιά ή ακόμα και οι φίλοι του, σε σχέση με την εκάστοτε τοποθεσία του. Οι υπηρεσίες αυτές, σχετίζονται με το ηλεκτρονικό κινητό εμπόριο, καθώς ο χρήστης μπορεί να ανακαλύψει διάφορες προσφορές, ή πληροφορίες για καταστήματα τα οποία βρίσκονται σε κοντινή απόσταση από την τοποθεσία του. 1.2.2. Ιστορία των υπηρεσιών που βασίζονται στη θέση του χρήστη Οι έρευνες που έδειξαν τον δρόμο για την σημερινή κατάσταση των υπηρεσιών που βασίζονται στη θέση του χρήστη είναι το σύστημα υπερύθρων Active Badge (1989-1993) και η διπλωματική εργασία ενός υπαλλήλου της Nokia (Timo Rantalainen, 1994). Ο Todd Glassey ήταν αυτός που σχεδίασε τον πρώτο εξυπηρέτη ψηφιακών χρονοσήμων (Digital Timestamp Server) για μηνύματα ηλεκτρονικού εμπορίου καθώς και αυτός που εισήγαγε την έννοια των γεωχωρικών κλειδιών (GeoSpatial Keying) μιας κρυπτογραφικής διαδικασίας που χρησιμοποιούσε χωρικά και χρονικά δεδομένα για να αποφανθεί αν επιτρέπεται η πρόσβαση σε υπηρεσίες - το 1996. 9

Αργότερα μέσα στην ίδια χρονιά, η Αμερικανική Ομοσπονδιακή Επιτροπή Επικοινωνιών (US Federal Communication Commission), εξέδωσε εντολή σε όλους τους φορείς κινητής τηλεφωνίας, να μπορούν να εντοπίζουν άτομα τα οποία πραγματοποιούσαν κλήση έκτακτης ανάγκης από τα δίκτυά τους. Το 1997, ο Christopher Kingdon της εταιρίας Ericsson, παρέδωσε την περιγραφή του πρώτου επιπέδου υπηρεσιών εντοπισμού (Location Services stage 1 - LCS) στο Ευρωπαϊκό Ινστιτούτο Τηλεπικοινωνιακών Προτύπων (European Telecommunication Standard Institute ETSI) και στο Αμερικανικό Εθνικό Ινστιτούτο Προτύπων (American National Standards Institute ANSI). Με αυτόν τον τρόπο δημιουργήθηκε η ομάδα εργασίας LCS στον οργανισμό ANSI. Αυτή η ομάδα, προχώρησε στην επιλογή συγκεκριμένων μοντέλων και προτύπων για τις υπηρεσίες εντοπισμού. Μερικά από αυτά τα μοντέλα ήταν τα: (Gateway Mobile Location Centre - GMLC), Serving Mobile Location Centre(SMLC) και ιδέες, όπως Mobile Originating Location Centre(MO-LR), Network Induced Location Request (NI-LR) και Mobile terminating Location Request(MT-LR). Τα μοντέλα αυτά δεν ήταν ιδιαίτερα λειτουργικά στο επίπεδο της εφαρμογής, καθώς έλειπε η δυνατότητα επικοινωνίας με τον χρήστη και ελέγχου από αυτόν. Η βελτίωση επήλθε από τα εξελισσόμενα μοντέλα του Glassey, τα οποία διεύρυναν τα μοντέλα του group LCS. Η εξέλιξη αυτών των μοντέλων, είχε ως αποτέλεσμα την καταχώρηση της πρώτης πατέντας για ψηφιακές υπηρεσίες που βασίζονται στη θέση του χρήστη, στις Η.Π.Α. τον Μάρτιο του 2002. Η λειτουργικότητα της πατέντας αυτής συναντάται σε σημαντικά σημεία σε όλα τα σημερινά συστήματα που χρησιμοποιούν υπηρεσίες που βασίζονται στη θέση του χρήστη. Η πρώτη φορητή συσκευή ευρείας χρήσης που είχε την δυνατότητα να χρησιμοποιήσει τις υπηρεσίες που βασίζονται στην θέση του χρήστη, ήταν το Palm VII, που έκανε την εμφάνισή του στην αγορά το 1999. Αυτή η συσκευή πωλούταν με δύο εφαρμογές, οι οποίες εντόπιζαν τον χρήστη σε επίπεδο ταχυδρομικού κώδικα και προσέφεραν σε αυτόν πρόβλεψη καιρού και πρόβλεψη της κίνησης των δρόμων. Μερικές από τις πρώτες εφαρμογές που έκαναν χρήση των υπηρεσιών που βασίζονται στην θέση του χρήστη, ήταν οι FriendFinder (εφαρμογή, που εντόπιζε άλλα άτομα με την ίδια εφαρμογή εγκατεστημένη στην συσκευή τους) και ο αυτόματος εντοπισμός 10

κλήσης εάν αυτή γινόταν σε κάποιο νούμερο έκτακτης ανάγκης (Πυροσβεστική, Αστυνομία ή Πρώτες Βοήθειες). Η πρώτη χρήση των υπηρεσιών που βασίζονται στη θέση του χρήστη για διαφημιστικούς λόγους, έγινε στην Ιαπωνία το 2001, από την εταιρία DoCoMo και βασιζόταν στον τριγωνισμό για συσκευές, οι οποίες δεν χρησιμοποιούσαν ακόμα GPS, ενώ αργότερα μέσα στο ίδιο έτος, η εταιρία KDDI δημιούργησε την πρώτη διαφημιστική εφαρμογή, η οποία προοριζόταν για χρήση σε κινητά τηλέφωνα, τα οποία είχανε GPS. Οι εταιρίες DoCoMo και KDDI, είναι πάροχοι κινητής τηλεφωνίας και όχι κατασκευαστές τηλεφώνων. Εδώ φαίνεται πως η πρωτοβουλία της χρήσης υπηρεσιών που βασίζονται στη θέση του χρήστη σε εμπορικές εφαρμογές, ελήφθη καθαρά από φορείς κινητής τηλεφωνίας και έτσι οι κατασκευαστές τηλεφώνων, αναγκάστηκαν στην ουσία να περιλάβουν στις δυνατότητές τους και αυτήν την δυνατότητα. 1.2.3. Μέθοδοι Εντοπισμού Οι πιο διαδεδομένες μέθοδοι εντοπισμού είναι οι Control plane locating και GSΜ localization. Control plane locating: Με τη μέθοδο εντοπισμού control plane locating, ο φορέας κινητής τηλεφωνίας, είναι σε θέση να εντοπίσει την θέση του χρήστη, σύμφωνα με την καθυστέρηση του σήματος από τους κοντινότερους πύργους κινητής τηλεφωνίας (για συσκευές κινητών τηλεφώνων οι οποίες δεν έχουν τη δυνατότητα χρήσης της τεχνολογίας GPS). Η συγκεκριμένη μέθοδος εντοπισμού υπάρχει περίπτωση να είναι αρκετά αργή, καθώς χρησιμοποιείται το κανάλι το οποίο μεταφέρει την φωνή σε μια τηλεφωνική κλήση, για τον υπολογισμό της καθυστέρησης σήματος. Στο Ηνωμένο Βασίλειο, οι υπηρεσίες που βασίζονται στην θέση του χρήστη χρησιμοποιούν μόνο ένα βασικό σταθμό βάσης για να εντοπίσουν την τοποθεσία μιας συσκευής,, μετρώντας την ισχύ του σήματος: προφανώς αυτή η τεχνική δεν δίνει ακριβή αποτελέσματα, καθώς ή ισχύς του σήματος εξαρτάται όχι μόνο από την απόσταση αλλά και από άλλους παράγοντες, όπως τα εμπόδια που παρεμβάλλονται μεταξύ κινητής συσκευής και σταθμού βάσης. Ακόμη και χωρίς τον παράγοντα αυτό όμως, η τεχνική αυτή δίνει τη ως πιθανές θέσεις του χρήστη έναν κύκλο, με κέντρο τον σταθμό βάσης. Στις νεώτερες συσκευές όμως, υπάρχει συνήθως ενσωματωμένο ένα ολοκληρωμένο A-GPS. 11

Υπάρχουν μερικοί κανόνες που πρέπει να τηρούνται για να μπορούν να χρησιμοποιούνται με επιτυχία οι υπηρεσίες που βασίζονται στη θέση του χρήστη με την μέθοδο του control plane locating. Αυτοί είναι οι ακόλουθοι: Απαιτήσεις ακρίβειας συντεταγμένων που καθορίζονται από τον αρμόδιο φορέα. Ελαχιστοποίηση του κόστους. Ελαχιστοποίηση των πρόσθετων αναγκών που αφορούν στο δίκτυο και στον εξοπλισμό. Αν η φορητή συσκευή διαθέτει δέκτη GPS, η χρήση του για την υποστήριξη υπηρεσιών που βασίζονται στη θέση του χρήστη είναι πιο απλή και παρέχει μεγαλύτερη ακρίβεια. Το GPS είναι βασισμένο στην ιδέα του τριπλευρισμού (trilateration). Μιας βασικής γεωμετρικής αρχής, η οποία επιτρέπει την εύρεση της τοποθεσίας ενός ατόμου, εάν είναι γνωστή η απόστασή του από άλλες, ήδη γνωστές τοποθεσίες. GSM localization: Η δεύτερη επιλογή για μέθοδο εντοπισμού είναι το GSM localization, η βασική αρχή του οποίου είναι η εύρεση της τοποθεσίας μιας τηλεφωνικής συσκευής σε σχέση με την κυψέλη κινητής τηλεφωνίας. Βασίζεται σε διάφορους τρόπους πολυπλευρισμού (multilateration), του σήματος σε σχέση με τις κυψέλες του δικτύου του φορέα της συγκεκριμένης συσκευής. Η γεωγραφική τοποθεσία της συσκευής μπορεί να ανακαλυφθεί από τεχνικές όπως η διαφορά στον χρόνο άφιξης (time difference of arrival, TDOA), ή η ενισχυμένη παρατήρηση διαφοράς χρόνου (enhanced observed time difference, E-OTD). Άλλες μέθοδοι εντοπισμού: Στα πλαίσια των υπηρεσιών τοπικής εμβέλειας που βασίζονται στη θέση του χρήστη (Νear Location Based Services, NLBS), οι οποίες αφορούν πρόσβαση σε κοντινές υπηρεσίες, χρησιμοποιούνται και άλλες μέθοδοι και τεχνολογίες. Τέτοιες μέθοδοι και τεχνολογίες είναι: Bluetooth, WLAN, υπέρυθρες, όπως και οι τεχνολογίες RFID/Near Field Communication. Αυτές οι τεχνολογίες επιτρέπουν στις συσκευές του χρήστη να χρησιμοποιούν κοντινές (σε απόσταση από αυτόν) υπηρεσίες. Καθώς τα δίκτυα GSM και GPS, λειτουργούν καλύτερα και με μεγαλύτερη ακρίβεια σε εξωτερικό χώρο, οι NLBS προσφέρονται κυρίως για χρήση 12

σε εσωτερικούς χώρους. Παραδείγματα χρήσης των υπηρεσιών που βασίζονται στην τοποθεσία του χρήστη Στη συνέχεια παρατίθενται μερικές από τις πιο γνωστές υπηρεσίες που βασίζονται στην τοποθεσία του χρήστη. Πρόταση κοινωνικών γεγονότων σε μία πόλη. Αναζήτηση των κοντινότερων στον χρήστη υπηρεσιών ή καταστημάτων. Πλοήγηση προς κάποια διεύθυνση ή προορισμό. Πρόβλεψη καιρού στην τρέχουσα τοποθεσία του χρήστη. Ενημέρωση της τοποθεσίας του χρήστη σε κοινωνικά δίκτυα. Εύρεση φίλων μέσω κοινωνικών δικτύων οι οποίοι, βρίσκονται κοντά στην περιοχή του χρήστη. 1.2. Περιγραφή Προβλήματος Στα πλαίσια της παρούσας πτυχιακής εργασίας θα αναπτυχθεί μία εφαρμογή η οποία θα χρησιμοποιεί υπηρεσίες εντοπισμού χρήστη, για εμπορικούς σκοπούς. Σενάριο: Το ηλεκτρονικό εμπόριο έχει εξελιχθεί σε μεγάλο βαθμό τα τελευταία χρόνια. Η καθημερινή του χρήση από μεγάλο αριθμό χρηστών, έχει οδηγήσει τις εταιρίες και τα καταστήματα στην δημιουργία ηλεκτρονικών καταστημάτων εκτός από των συμβατικών. Ένα παρακλάδι του ηλεκτρονικού εμπορίου, είναι το ηλεκτρονικό εμπόριο για κινητές συσκευές (Mobile e-commerce). Η συγκεκριμένη υποκατηγορία ηλεκτρονικού εμπορίου έχει γνωρίσει μεγάλη άνθηση την τελευταία δεκαετία, καθώς ευνοείται από την ανάπτυξη της τεχνολογίας των «έξυπνων» κινητών συσκευών (smart phones, tablets, PDAs). Η τεχνολογία όπως πάντα καλείται να κάνει ευκολότερη την ζωή του χρήστη, και να απλοποιεί σε όποιον βαθμό αυτό γίνεται τις δραστηριότητές του για την ικανοποίηση των αναγκών του. Στην παρούσα πτυχιακή εργασία, προσπαθούμε να δημιουργήσουμε μια εφαρμογή, η οποία βοηθά τον χρήστη στην εμπορική του δραστηριότητα. 13

Με την εκκίνηση της εφαρμογής, ο χρήστης καλείται να εισάγει τα στοιχεία του, τα οποία καταχωρούνται σε μια βάση δεδομένων. Μαζί με την εισαγωγή των στοιχείων του, ο χρήστης καλείται να επιλέξει τις μάρκες προϊόντων, ο οποίος προτιμά, μέσα από μια λίστα καταχωρημένη στην βάση. Χρησιμοποιώντας τις υπηρεσίες εντοπισμού χρήστη, που προαναφέρθηκαν στην εισαγωγή, ο χρήστης θα μπορεί να βρει σε σχέση με την εκάστοτε τοποθεσία του, τα πιο κοντινά σε αυτόν καταστήματα, τα οποία εμπορεύονται τις μάρκες που έχει επιλέξει. Όταν το σύστημα εντοπισμού θέσης, ανακαλύψει πως ο χρήστης έχει εισέλθει σε ένα από αυτά τα καταστήματα, θα αποστέλλονται στην συσκευή του πληροφορίες σχετικές με προσφορές, ή νέα προϊόντα, ανάλογα με τις μάρκες που ο ίδιος έχει επιλέξει. Ζητούμενα: Ζητούμενα στην παρούσα πτυχιακή εργασία, είναι η υλοποίηση της εφαρμογής για κινητή συσκευή, η αλληλεπίδραση της εφαρμογής με την βάση δεδομένων, ο εντοπισμός της συσκευής του χρήστη, μέσα από υπηρεσίες που βασίζονται στη θέση του χρήστη και η πρόταση σεναρίων για περαιτέρω ανάπτυξη της εφαρμογής. 14

2. Σχετιζόμενες εργασίες και τεχνολογίες 2.1. Εισαγωγή στο Android Το Android είναι ένα λειτουργικό σύστημα, το οποίο αποτελεί κινητήρια δύναμη για εκατομμύρια διαφορετικούς τύπους κινητών συσκευών, σε περισσότερες από 190 χώρες του κόσμου. Πρόκειται για την μεγαλύτερη εγκατεστημένη βάση πλατφόρμας κινητής συσκευής στον κόσμο και παρ όλα αυτά συνεχίζει να επεκτείνεται με ταχείς ρυθμούς, καθώς κάθε μέρα ένας σημαντικός αριθμός χρηστών (κοντά στο ένα εκατομμύριο) [Εικόνα 2.1], ανακαλύπτει μια συσκευή που λειτουργεί με Android και ξεκινά τη χρήση της. Το Android δίνει την ευκαιρία σε μηχανικούς λογισμικού να σχεδιάζουν και να δημιουργούν εφαρμογές, οι οποίες απευθύνονται σε χρήστες σε όλη την υφήλιο, καθώς υπάρχει μια ανοιχτή «αγορά» για να διαδίδονται αυτές οι εφαρμογές άμεσα. Εικόνα 2.1: Διάγραμμα ενεργοποίησης νέων συσκευών Android σε σχέση με τον χρόνο Βασιζόμενο στην συμβολή της κοινότητας ανοικτού λογισμικού του Linux (opensource Linux community), και σε περισσότερους από 300 συνεργάτες από τον χώρο 15

του λογισμικού, του υλικού και φορείς κινητής τηλεφωνίας, το Android έγινε το γρηγορότερα αναπτυσσόμενο λειτουργικό σύστημα για κινητές συσκευές. 2.1.1. Τα Σημαντικότερα Συστατικά του Android και η Αρχιτεκτονική του Το Android είναι μια συλλογή λογισμικού για κινητές συσκευές, η οποία περιέχει ένα λειτουργικό σύστημα, κάποιες βασικές εφαρμογές (καλούμενες και εφαρμογέςκλειδιά) και ένα ενδιάμεσο λογισμικό (middleware). Οι εφαρμογές προγραμματίζονται και εκτελούνται στη γλώσσα προγραμματισμού Java, εμπλουτισμένη με συγκεκριμένες βιβλιοθήκες από το Android. Τα σημαντικότερα συστατικά του Android είναι τα ακόλουθα: Πλαίσιο εφαρμογών (Application framework): Επιτρέπει την επαναχρησιμοποίηση και την αντικατάσταση συστατικών. Dalvik virtual machine: Πρόκειται για μία εικονική μηχανή για τη γλώσσα Java βελτιστοποιημένη για κινητά [2]. Ενσωματωμένη εφαρμογή πλοήγησης (browser). Βελτιστοποιημένα γραφικά: To Android ενσωματώνει βιβλιοθήκες για χειρισμό δισδιάστατων γραφικών, ενώ υποστηρίζει και την OpenGL για χειρισμό τρισδιάστατων γραφικών. SQLite: Το Android ενσωματώνει το σύστημα διαχείρισης βάσεων δεδομένων SQLite. Υποστήριξη για πολυμέσα: Το Android παρέχει άμεση υποστήριξη για ήχο, βίντεο και διάφορες μορφοποιήσεις αρχείων εικόνας. Επικοινωνία μέσω δικτύου GSM, δικτύου 3G, Bluetooth, EDGE,και WiFi: Το Android διαθέτει λογισμικό για να υποστηρίξει όλους τους ανωτέρω τρόπους επικοινωνίας, η διαθεσιμότητά τους όμως εξαρτάται από το αν υπάρχει το σχετικό υλικό στη συσκευή. Camera, GPS, πυξίδα, επιταχυνσιόμετρο: Το Android διαθέτει λογισμικό για να υποστηρίξει όλες τις ανωτέρω συσκευές, η διαθεσιμότητά τους όμως εξαρτάται από το αν υπάρχει το σχετικό υλικό στη συσκευή. 16

Εικόνα 2.2: Αρχιτεκτονική συστήματος Android Στην Εικόνα 2.2 βλέπουμε τα διαφορετικά επίπεδα της αρχιτεκτονικής του Android και ακολουθεί μια σύντομη περιγραφή αυτών: Linux Kernel (Πυρήνας Linux): Ολόκληρο το λειτουργικό σύστημα του Android είναι χτισμένο σε έναν πυρήνα Linux 2.6 με κάποιες αλλαγές στην αρχιτεκτονική, οι οποίες έχουν γίνει από την Google. Αυτός ο πυρήνας Linux αλληλεπιδρά με το hardware των συσκευών, καθώς περιέχει όλους τους απαραίτητους οδηγούς συσκευών (drivers) για να γίνει αυτό. Ο πυρήνας Linux χρησιμοποιείται από το λογισμικό, ως «γέφυρα» ανάμεσα στις διάφορες εφαρμογές και το υλικό της συσκευής. Το Android χρησιμοποιεί επίσης τον πυρήνα Linux για όλες τις βασικές λειτουργίες του, όπως διαχείριση της μνήμης και των διεργασιών, ρυθμίσεις ασφαλείας κ.ά. Το γεγονός ότι το Android στηρίχθηκε σε μια από τις πιο διαδεδομένες πλατφόρμες λογισμικού, έκανε σχετικά εύκολη τη μεταφορά του σε μια μεγάλη ποικιλία υλικού και αύξησε τη συμβατότητά του με άλλες πλατφόρμες. Libraries (Βιβλιοθήκες): Ένα επίπεδο πιο ψηλά από τον πυρήνα Linux συναντώνται οι βασικές βιβλιοθήκες του Android. Αυτές οι βιβλιοθήκες είναι 17

γραμμένες στις γλώσσες προγραμματισμού C και C++ και είναι συγκεκριμένες για διαφορετικούς τύπους hardware. Ανάμεσα στις βιβλιοθήκες ξεχωρίζουμε τις ακόλουθες: Surface manager (διαχειριστής επιφάνειας): Η βιβλιοθήκη αυτή χρησιμοποιείται από τον διαχειριστή παραθύρων (window manager) για τη δημιουργία παραθύρων με off-screen buffering. Ο όρος off-screen buffering σημαίνει ότι ο προγραμματιστής δεν σχηματίζει τις οθόνες λειτουργίας των εφαρμογών κατευθείαν στην οθόνη της συσκευής, αλλά αυτές ετοιμάζονται εκτός οθόνης και μεταφέρονται σε αυτήν ολοκληρωμένες από τον off-screen buffer. Media framework (πλαίσιο διαχείρισης πολυμέσων): Περιέχει οδηγούς για την καταγραφή και αναπαραγωγή διαφορετικών τύπων media. WebKit: H «μηχανή» της εφαρμογής πλοήγησης. Η μηχανή χρησιμοποιείται για την προβολή περιεχομένου HTML. Android Runtime (περιβάλλον εκτέλεσης Android): To περιβάλλον εκτέλεσης Android αποτελείται από την εικονική μηχανή Dalvik και τις βασικές βιβλιοθήκες της Java. Εικονική μηχανή Dalvik: Πρόκειται για έναν τύπο εικονικής μηχανής Java (JVM),το οποίο χρησιμοποιείται σε συσκευές Android για να εκτελούνται εφαρμογές και είναι βελτιστοποιημένη ώστε να χρησιμοποιεί όσο το δυνατόν μικρότερη υπολογιστική ισχύ και μνήμη. Σε αντίθεση με τις κλασσικές JVM, το Dalvik δεν εκτελεί αρχεία τύπου.class, αλλά αρχεία τύπου.dex. Τα αρχεία τύπου.dex παράγονται από τα αντίστοιχα αρχεία τύπου.class κατά την μεταγλώττιση της εφαρμογής, και είναι πιο κατάλληλα για χρήση σε περιβάλλοντα με περιορισμένους πόρους (μνήμη και υπολογιστική ισχύ). Βασικές βιβλιοθήκες Java: Αυτές οι βιβλιοθήκες διαφέρουν από αυτές της Java SE και της Java ME, αλλά προσφέρουν σχεδόν την ίδια λειτουργικότητα με τις βιβλιοθήκες της Java SE. 18

Application Framework (πλαίσιο εφαρμογών): Το πλαίσιο εφαρμογών τοποθετείται αμέσως πιο πάνω από το περιβάλλον εκτέλεσης Android, και πρόκειται για κομμάτια λογισμικού με τα οποία η εφαρμογή αλληλεπιδρά άμεσα. Αυτά τα τμήματα λογισμικού παρέχουν πρόσβαση στις βασικές λειτουργίες της συσκευής, όπως διαχείριση πόρων, διαχείριση κλήσεων κ.ά. Οι σημαντικότερες ενότητες αυτού του επιπέδου λογισμικού είναι οι ακόλουθες: Activity Manager (διαχειριστής δραστηριοτήτων): Διαχειρίζεται τον κύκλο εκτέλεσης μιας εφαρμογής. Content Providers (πάροχοι περιεχομένου): Πρόκειται για οντότητες που διαχειρίζονται τα δεδομένα τα οποία διαμοιράζονται ανάμεσα στις εφαρμογές. Telephony Manager (διαχειριστής τηλεφωνίας): Διαχειρίζεται όλες τις τηλεφωνικές κλήσεις. Location Manager (διαχειριστής τοποθεσίας): Διαχειρίζεται τις λειτουργίες εντοπισμού θέσης του χρήστη, χρησιμοποιώντας GPS, ή το cell tower. Στην εφαρμογή που αναπτύχθηκε στην παρούσα πτυχιακή εργασία, χρησιμοποιήθηκε μια εξομοίωση του εντοπισμού μέσω GPS. Applications (εφαρμογές): Πρόκειται για το ανώτερο επίπεδο στην αρχιτεκτονική του Android. Εδώ αποθηκεύονται τόσο οι εφαρμογές που δημιουργούνται από τους προγραμματιστές, όσο και οι εφαρμογές που δίνονται προεγκατεστημένες με τη συσκευή. 2.1.2. Εργαλεία Ανάπτυξης Εφαρμογών Android (Android Developer Tools) Τα εργαλεία ανάπτυξης εφαρμογών Android (Android Developer Tools, ADT), είναι ένα σύνολο λειτουργιών και εργαλείων το οποίο επεκτείνει τις δυνατότητες λειτουργίας του περιβάλλοντος ανάπτυξης εφαρμογών Eclipse. Τα ADT προσφέρουν στον προγραμματιστή πρόσβαση σε αρκετές δυνατότητες οι οποίες καθιστούν τον προγραμματισμό εφαρμογών Android πολύ ευκολότερο. Τα ADT προσφέρουν στον προγραμματιστή πρόσβαση μέσα από μια γραφική διεπαφή χρήστη (Graphical user interface, GUI) σε πολλές λειτουργίες και εργαλεία, τα οποία χωρίς την γραφική διεπαφή χρήστη θα έπρεπε να χειρίζονται μέσα από γραμμή 19

εντολών. Επίσης προσφέρει στον προγραμματιστή ένα εργαλείο σχεδίασης της διεπαφής με τον χρήστη, το οποίο είναι εύκολο στην χρήση και προσφέρεται για την δημιουργία και ανάπτυξη της διεπαφής με τον χρήστη. Τα σημαντικότερα από τα εργαλεία που προσφέρονται μέσα από τον συνδυασμό των ADT και του Eclipse είναι τα ακόλουθα: Ενσωματωμένες λειτουργίες για δημιουργία προγραμμάτων, εγκατάστασής τους σε συσκευές, καθώς και αποσφαλμάτωση. Δημιουργία εικονικών συσκευών Android για την δοκιμή και την αποσφαλμάτωση των εφαρμογών. Επεξεργαστές της προγραμματιστικής γλώσσας Java και XML. Ενσωματωμένη βιβλιογραφία των δυνατοτήτων του Android. 2.2. Βιβλιογραφική Επισκόπηση Εφαρμογών Κινητού Ηλεκτρονικού Εμπορίου Η ραγδαία εξέλιξη στο χώρο των φορητών και ασύρματων επικοινωνιών έχει επιτρέψει να επεκταθεί στο νέο περιβάλλον ένας μεγάλος αριθμός ηλεκτρονικών υπηρεσιών, ενώ ταυτόχρονα παρέχει στους προγραμματιστές τη δυνατότητα της δημιουργίας νέων και καινοτόμων υπηρεσιών. Η επιτυχία και η διάδοση των εφαρμογών κινητού ηλεκτρονικού εμπορίου στηρίζεται σε διάφορους παράγοντες, όπως η ευρεία διαθεσιμότητα των φορητών συσκευών και των ασύρματων δικτύων, η συνεχής μείωση των τιμών τους, αλλά και την ραγδαία αύξηση στην πρόθεση χρήσης του ηλεκτρονικού εμπορίου. 2.2.1. Ο Ρόλος της Περιβάλλουσας Κατάστασης στον Σχεδιασμό των Εφαρμογών Κινητού Ηλεκτρονικού Εμπορίου Οι εφαρμογές κινητού ηλεκτρονικού εμπορίου έχουν διάφορα ιδιαίτερα χαρακτηριστικά τα οποία δεν συναντώνται σε άλλες εφαρμογές. Ένα μέρος αυτών των χαρακτηριστικών οφείλεται στην συνεχόμενη μεταβολή του περιβάλλοντος λειτουργίας αυτών των εφαρμογών. Αυτή η συνεχόμενη μεταβολή του περιβάλλοντος, καθιστά αναγκαία μια ριζικά νέα προσέγγιση στη διαδικασία σχεδιασμού τους. Αναζητώντας λύσεις σε αυτό το πρόβλημα σχεδιασμού των εφαρμογών του κινητού ηλεκτρονικού εμπορίου μπορούν να εξεταστούν προτάσεις που έχουν γίνει για αντίστοιχα θέματα, σε «συγγενείς» χώρους του κινητού 20

ηλεκτρονικού εμπορίου. Μια από αυτές είναι η προσέγγιση της «επίγνωσης της περιβάλλουσας κατάστασης.» Η προσέγγιση της επίγνωσης της περιβάλλουσας κατάστασης έχει προταθεί ως μια καινοτόμος τεχνική στο χώρο της διάχυτης και πανταχού παρούσας υπολογιστικής (pervasive and ubiquitous computing), για την ανάπτυξη εφαρμογών με απαιτήσεις για ευελιξία, αυτονομία και προσαρμογή, μέσα στους περιορισμούς που επιφέρουν οι υπολογιστικοί πόροι. Η συγκεκριμένη προσέγγιση αξιοποιεί την περιβάλλουσα κατάσταση, την πληροφορία δηλαδή που περιβάλλει την αλληλεπίδραση χρήστηεφαρμογής, προκειμένου να μειώσει τα δεδομένα που εισάγει ο χρήστης (user input) και να πετύχει την προσαρμογή (adaptation) στο δυναμικό περιβάλλον λειτουργίας και στις μεταβαλλόμενες απαιτήσεις του χρήστη. Παρόλο που η χρήση της περιβάλλουσας κατάστασης στα συστήματα της διάχυτης και πανταχού παρούσας υπολογιστικής είναι ένα θέμα που έχει συζητηθεί εκτενώς στις μέρες μας, η ανάπτυξη και η εφαρμογή του δεν είναι αυτή που θα περιμέναμε, καθώς συναντάται σε ένα μικρό σχετικά σε εύρος σύνολο εφαρμογών. Μερικές από τις εφαρμογές αυτές είναι τουριστικοί οδηγοί, υπενθυμιστές (reminders) και εργαλεία επικοινωνίας (communication tools), οι οποίες αξιοποιούν ένα σχετικά μικρό και απλό υποσύνολο της περιβάλλουσας πληροφορίας. Στις εφαρμογές κινητού ηλεκτρονικού εμπορίου υπάρχουν μερικά παραδείγματα όπου έχει αξιοποιηθεί η τρέχουσα θέση του χρήστη, όπως π.χ. σε συστήματα διαφήμισης με βάση την τοποθεσία, καθώς και παραδείγματα εφαρμογών στα οποία έχουν αξιοποιηθεί κάποιες από τις προτιμήσεις του χρήστη (user preferences), όπως σε εφαρμογές προσωπικής προσαρμογής (personalization) σελίδων ιστού, οι οποίες προσαρμόζονται ανάλογα με το προφίλ του κάθε χρήστη και εμφανίζονται σε φορητές συσκευές. Οι εφαρμογές αυτές, παρόλο που έχουν προωθηθεί για εμπορική κατανάλωση, έχουν σχετικά μικρή εξάπλωση χωρίς ιδιαίτερη ανάπτυξη και μελέτη της ανατροφοδότησης από τους χρήστες (user feedback). Η περιορισμένη εξάπλωση των εφαρμογών κινητού ηλεκτρονικού εμπορίου με επίγνωση περιβάλλουσας κατάστασης, οδηγεί στην μελέτη των συνιστωσών που απαρτίζουν μια εφαρμογή με επίγνωση της περιβάλλουσας κατάστασης, καθώς και των προϋποθέσεων που είναι απαραίτητες για την επιτυχή ανάπτυξη και λειτουργία της. Αυτές οι συνιστώσες και προϋποθέσεις είναι οι ακόλουθες: 21