Ταξιδιωτικός Οδηγός Χανίων Chania Advisor



Σχετικά έγγραφα
Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

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

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

ΥΠΗΡΕΣΙΕΣ ΔΙΑΔΙΚΤΟΥ Explorer & Outlook 2013

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

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

Συνοπτικό εγχειρίδιο χρήσης του Microsoft Visual Studio 2010

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ LIVETRIP TRAVELLER

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

Ει ναι τα Windows που γνωρι ζετε, αλλα καλυ τερα

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

Windows 8 2_windows8.indd 39 10/5/2014 2:10:10 μμ 10/5/2014 2:10:10

Οδηγίες Εγκατάστασης της εφαρμογής Readium και Readium για μαθητές με αμβλυωπία για την ανάγνωση βιβλίων epub σε Υπολογιστή.

Βιωματικό εργαστήριο ηλεκτρονικών υπολογιστών. Οργάνωση εκπαιδευτικού υλικού με Η/Υ από δραστηριότητες στο Δημοτικό και στο Νηπιαγωγείο.

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

Ενημέρωση σε Windows 8.1 από τα Windows 8

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

Cubitech Hellas Ακροπόλεως 24, Καλλιθέα, Αθήνα Τ.Κ , Ελλάδα, Τηλ Φαξ

Συσκευές δείκτη και πληκτρολόγιο

Ενηµερώσεις λογισµικού Οδηγός χρήσης

Δραστηριότητα 3: Ρυθμίσεις Oικιακής Ομάδας Τοπικού Δικτύου Η/Υ σε WINDOWS 7 & 8

Κεφάλαιο 2.3: Ρυθμίσεις των Windows

SharePoint Online. Δημιουργήστε μια τοποθεσία ή μια δημοσίευση ειδήσεων. Αναζήτηση Βρείτε Τοποθεσίες, Άτομα ή Αρχεία.

Εργαστήριο Δομημένος Προγραμματισμός (C#) Τμήμα Μηχανολογίας Νικόλαος Ζ. Ζάχαρης Καθηγητής Εφαρμογών

7.Α.1 Παρουσιάσεις. 7.Α.2 Περιγραφή περιεχομένων της εφαρμογής

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


Atlantis - Νέο user interface

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

Περιεχόμενα. Περιβάλλον ηλεκτρονικού υπολογιστή...9 Επιφάνεια εργασίας...12 Διαχείριση αρχείων...15 Ιοί Η/Υ...21 Διαχείριση εκτυπώσεων...

Η εφαρμογή είναι βελτιστοποιημένη για όλες τις συσκευές ios και Android, με ios 9.x ή νεότερη έκδοση και Android 4.4 ή νεότερη έκδοση.

Περιεχόμενα. Λίγα λόγια από το συγγραφέα Windows Vista Επιφάνεια εργασίας Γραμμή εργασιών... 31


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

B) Ετοιμάζοντας μια Παρουσίαση

Οδηγός των Ελληνικών Microsoft WINDOWS 7

Δημιουργία μιας εφαρμογής Java με το NetBeans

Δομή. 1 Πλήκτρα αυξομείωσης έντασης ήχου 7 Ηχεία 2 Θύρα Φόρτιση. 8 Πλήκτρο Home 3 Θύρα MicroUSB. 9 Είσοδος Κάρτας SD. 6 Μπροστινή κάμερα

Copyright 2016 HP Development Company, L.P.

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

Εγχειρίδιο Εγκατάστασης και Χρήσης Εκπαιδευτικής Εφαρμογής

PRISMA Win POS Sync Merge Replication

Οδηγό γρήγορης έναρξης Vodafone 858 Smart

MΠΑΤΑΡΙΑ ΚΑΛΩΔΙΟ USB

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

Αναλυτικός οδηγός της ενημέρωσης των Windows 8.1

MICROBOT SERVER MICROBOT MONITOR ΕΦΑΡΜΟΓΕΣ ΕΛΕΓΧΟΥ ΚΑΙ ΠΑΡΑΚΟΛΟΥΘΗΣΗΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ MICROBOT

Ενημερώσεις λογισμικού Οδηγός χρήσης

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

ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ.

Εισαγωγή 6. Είσοδος στα Windows και οθόνη κλειδώματος 11. Οι πρώτες ρυθμίσεις των Windows H επιφάνεια εργασίας 49

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ

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

Δημιουργία η-μαθήματος με τη. 3 ο Μέρος Εισαγωγή πληροφοριών: δημιουργία ιστοσελίδας

MASTER-MID GPS. Εγχειρίδιο. Mobility, Versatility, Flexibility MT7000

Σημείωση για το προϊόν

A3.3 Γραφικά Περιβάλλοντα Επικοινωνίας και Διαχείριση Παραθύρων

Περιεχόμενα. Μέρος 1: Βασικές έννοιες της πληροφορικής Πρόλογος... 11

Epsilon Net PYLON Platform

Vodafone Business Connect

Γρήγορη έναρξη. Model: 5800d-1. Nokia 5800 XpressMusic , Τεύχος 1 EL

Οδηγός αναβάθμισης των Windows 8 βήμα προς βήμα ΕΜΠΙΣΤΕΥΤ ΚΟ 1/53

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ.

ΟΔΗΓΙΕΣ ΓΙΑ ΤΗΝ ΥΠΗΡΕΣΙΑ OTE TV GO ΣΕ ΥΠΟΛΟΓΙΣΤΗ (PC/LAPTOP)

Μαλούτα Θεανώ Σελίδα 1

Οδηγός γρήγορης εγκατάστασης. (Για Windows και MAC) Ασύρματη κάμερα IP HD περιστροφής / κλισης για εσωτερικούς χώρους v3.14

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

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

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης

Sricam R CONCEPTUM. SricamPC. Εγχειρίδιο εφαρμογής

ΕΓΚΑΤΑΣΤΑΣΗ ΕΦΑΡΜΟΓΩΝ ΓΙΑ TABLET Η SMART PHONES (ANDROID, IOS)

Σύντομη περιγραφή 5. Για να ξεκινήσετε 6. Οι οθόνες του προγράμματος 8. Εγκατάσταση προγράμματος 6 Δημιουργία κωδικών χρήστη 7

Ενηµερώσεις λογισµικού Οδηγός χρήσης

Συσκευές δείκτη και πληκτρολόγιο Οδηγός χρήσης

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

Οδηγός αναβάθμισης των Windows 8 βήμα προς βήμα ΕΜΠΙΣΤΕΥΤΙΚΟ 1/53

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

Περιεχόμενα. Αντί προλόγου Πώς να χρησιμοποιήσετε το βιβλίο Κεφάλαιο 1: Πώς δημιουργώ το Προφίλ μου στο Facebook;...

Interactive Power Point

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

GK6915 FAQ (Συχνές ερωτήσεις) για το Eee Pad TF201

POWERPOINT Είναι το δημοφιλέστερο πρόγραμμα παρουσιάσεων.

ΟΔΗΓΙΕΣ ΓΙΑ ΤΗΝ ΥΠΗΡΕΣΙΑ COSMOTE TV GO ΣΕ ΥΠΟΛΟΓΙΣΤΗ (PC/LAPTOP)

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Εισαγωγή 6. Tα πολλά πρόσωπα των απειλών για το PC 8. Οι βασικές ρυθμίσεις ασφαλείας στα Windows 18. Προστασία από το Malware με το Avast Antivirus 34

ΟΔΗΓΙΕΣ ΓΙΑ ΤΗΝ ΥΠΗΡΕΣΙΑ COSMOTE TV GO ΣΕ ΥΠΟΛΟΓΙΣΤΗ (PC/LAPTOP)

Οδηγίες Χρήσης Εφαρμογής

Οδηγίες Χρήσης Ασύρματης Φορητής WiFi Κάμερας

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ DVR KTEC

Συνοπτικός Οδηγός Χρήσης του Moodle για τον Καθηγητή

Λίγα λόγια από το συγγραφέα Κεφάλαιο 1: Βάσεις δεδομένων και Microsoft Access Κεφάλαιο 2: Microsoft Access

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

Πρόλογος... 7 ΕΙΔΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΓΧΕΙΡΙΔΙΟ WEBCAM STATION EVOLUTION

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

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

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

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ GPRS 1. ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ GOOGLE EARTH

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΓΙΑ ΤΟΝ ΕΛΕΓΧΟ ΤΩΝ HX-GO02 & HX-GO1

Transcript:

ΑΤΕΙ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ Τμήμα Μηχανικών Πληροφορικής ΤΕ Ταξιδιωτικός Οδηγός Χανίων Chania Advisor ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Βασίλης Φραγκιουδάκης (ΑΜ: Τ03205) Επιβλέπων: Νικόλαος Λιόλιος, Καθηγητής ΛΑΡΙΣΑ 2014

«Εγώ ο Βασίλης Φραγκιουδάκης, δηλώνω υπεύθυνα ότι η παρούσα Πτυχιακή Εργασία με τίτλο Ταξιδιωτικός Οδηγός Χανίων - Chania Advisor είναι δική μου και βεβαιώνω ότι: Σε όσες περιπτώσεις έχω συμβουλευτεί δημοσιευμένη εργασία τρίτων, αυτό επισημαίνεται με σχετική αναφορά στα επίμαχα σημεία. Σε όσες περιπτώσεις μεταφέρω λόγια τρίτων, αυτό επισημαίνεται με σχετική αναφορά στα επίμαχα σημεία. Με εξαίρεση τέτοιες περιπτώσεις, το υπόλοιπο κείμενο της πτυχιακής αποτελεί δική μου δουλειά. Αναφέρω ρητά όλες τις πηγές βοήθειας που χρησιμοποίησα. Σε περιπτώσεις που τμήματα της παρούσας πτυχιακής έγιναν από κοινού με τρίτους, α- ναφέρω ρητά ποια είναι η δική μου συνεισφορά και ποια των τρίτων. Γνωρίζω πως η λογοκλοπή αποτελεί σοβαρότατο παράπτωμα και είμαι ενήμερος(-η) για την επέλευση των νομίμων συνεπειών» υπογραφή Βασίλης Φραγκιουδάκης

Εγκρίθηκε από την τριμελή εξεταστική επιτροπή Τόπος: Ημερομηνία: ΕΠΙΤΡΟΠΗ ΑΞΙΟΛΟΓΗΣΗΣ 1. 2. 3.

Περίληψη Αντικείμενο της παρούσας πτυχιακής εργασίας, είναι η ανάπτυξη μιας εφαρμογή για την πλατφόρμα "έξυπνων" κινητών τηλεφώνων με λειτουργικό σύστημα Windows Phone 8, της Microsoft. Αρχικά θα αναφερθούμε στο λειτουργικό σύστημα των Windows Phone, στα χαρακτηριστικά και τα κυριότερα στοιχεία του. Στη συνέχεια θα περιγράψουμε τα χαρακτηριστικά, τις απαιτούμενες προδιαγραφές και όλα τα βήματα για την εγκατάσταση των τεχνολογιών για την ανάπτυξη της εφαρμογής, όπως το Visual Studio και το Windows Phone sdk. Έπειτα αναλύονται τα βασικά χαρακτηριστικά της γλώσσας C# και της δηλωτική γλώσσα XAML, ο συνδυασμός των οποίων είναι απαραίτητος για να αναπτυχθεί μία εφαρμογή Windows Phone. Τέλος, ακολουθούν όλες οι φάσεις ανάπτυξης της εφαρμογής και βασικά κομμάτια του πηγαίου κώδικα XAML και C# που μας βοήθησαν στην επίτευξη της εφαρμογής της εφαρμογής Chania Advisor. -i-

Ευχαριστίες Θα ήθελα να ευχαριστήσω θερμά το Τμήμα Μηχανικών Πληροφορικής ΤΕ του ΤΕΙ Θεσσαλίας που εδώ και τέσσερα χρόνια μου προσέφερε σημαντικές γνώσεις για το ε- πάγγελμα που επιθυμώ να ακολουθήσω καθώς επίσης και τις πρώτες βάσεις στο τομέα της πληροφορικής και τηλεπικοινωνιών για να είμαι σε θέση να τις εξελίξω για να δημιουργήσω ένα νέο μέλλον μπροστά μου. Ευχαριστώ επίσης τον κύριο Νικόλαο Λιόλιο, καθηγητή του ΤΕΙ Θεσσαλίας, που ήταν επιβλέπων στην πτυχιακή μου εργασία και αφιέρωσε αρκετό χρόνο κατά την διάρκεια ολοκλήρωσή της. Βασίλης Φραγκιουδάκης Οκτώβριος 2014 -iii-

Περιεχόμενα ΠΕΡΙΛΗΨΗ... I ΕΥΧΑΡΙΣΤΙΕΣ... III ΠΕΡΙΕΧΟΜΕΝΑ... V 1 ΕΙΣΑΓΩΓΗ... 1 2 WINDOWS PHONE ΓΕΝΙΚΑ... 3 2.1 ΤΙ ΕΙΝΑΙ WINDOWS PHONE 7... 5 2.2 ΑΝΑΒΑΘΜΙΣΗ MANGO [WINDOWS PHONE 7.5]... 7 2.3 ΑΝΑΒΑΘΜΙΣΗ ΤANGO [WINDOWS PHONE 7.5 REFRESH]... 10 2.4 ΑΝΑΒΑΘΜΙΣΗ WINDOWS PHONE 7.8... 11 2.5 ΤΙ ΕΙΝΑΙ WINDOWS PHONE 8... 12 2.5.1 Βήματα που βοηθούν στη χρήση των Windows Phone 8... 18 2.6 ΤΙ ΕΙΝΑΙ ΤΑ WINDOWS PHONE 8.1... 25 3 ΤΟ VISUAL STUDIO 2013 ΓΙΑ WINDOWS PHONE... 27 3.1 ΕΙΣΑΓΩΓΗ ΣΤO VISUAL STUDIO... 27 3.1.1 Προδιαγραφές... 27 3.2 ΔΙΑΔΙΚΑΣΙΑ ΕΓΚΑΤΑΣΤΑΣΗΣ... 28 3.2.1 Solutions και Projects... 29 3.2.2 Το εργαλείο IntelliSense... 29 3.3 ΔΗΜΙΟΥΡΓΙΑ WINDOWS PHONE PROJECT... 30 3.3.1 Τo παράθυρο Toolbox... 32 3.3.2 Τα εγκατεστημένα templates... 33 3.3.3 Το αρχείο WMAppManifest.xml... 33 3.4 EΓΚΑΤΑΣΤΑΣΗ ΤΟΥ WINDOWS PHONE SDK... 34 3.4.1 Προδιαγραφές Συστήματος... 34 3.4.2 Διαδικασία εγκατάστασης... 35 4 ΓΛΩΣΣΑ C#... 38 -v-

4.1 ΤΙ ΕΙΝΑΙ Η ΓΛΩΣΣΑ C#... 38 4.1.1 Οι τύποι δεδομένων στη C#... 39 4.1.2 Σύμβολα τελεστών... 42 4.2 ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΕΙΣ ΙΔΙΟΤΗΤΕΣ ΤΗΣ C#... 42 4.2.1 Κλάσεις και αντικείμενα... 42 4.2.2 Κληρονομικότητα... 44 5 Η ΔΗΛΩΤΙΚΗ ΓΛΩΣΣΑ XAML & XML... 45 5.1 ΕΙΣΑΓΩΓΗ ΣΤΗΝ XAML... 45 5.1.1 Τα namespaces της XAML... 45 5.1.2 Δήλωση αντικειμένων... 47 5.2 EXTENSIBLE MARKUP LANGUAGE (XML)... 48 5.2.1 H γλωσσά XML... 48 5.2.2 Τι πρέπει να έχει ένα XML αρχείο... 49 6 ΠΕΡΙΓΡΑΦΗ ΤΗΣ ΕΦΑΡΜΟΓΗΣ «CHANIA ADVISOR»... 50 6.1 ΕΙΣΑΓΩΓΗ... 50 6.2 ΦΟΡΤΩΣΗ ΕΦΑΡΜΟΓΗΣ... 51 6.2.1 Ο κώδικας όπου τρέχει στην MainPage.xaml.cs:... 51 6.3 ΠΡΩΤΗ ΣΕΛΙΔΑ ΕΦΑΡΜΟΓΗΣ... 52 6.3.1 Κώδικας: Panorama Χανια στη MainPage.xaml... 53 6.3.2 Κώδικας: listpicker στη MainPage.xaml.cs... 53 6.3.3 Κώδικας: button Οδήγηση στη MainPage.xaml... 54 6.3.4 Κώδικας: button Οδήγηση στη MainPage.xaml.cs... 54 6.4 ΔΕΥΤΕΡΗ ΣΕΛΙΔΑ ΕΦΑΡΜΟΓΗΣ... 55 6.4.1 Κώδικας: Εξερεύνηση στη MainPage.xaml... 55 6.4.2 Κώδικας: Εξερεύνηση στη MainPage.xaml.cs... 55 6.4.3 Κώδικας: TileControl.xaml... 56 6.5 ΕΝΟΤΗΤΑ «ΠΟΛΗ»... 57 6.5.1 Κώδικας: Πόλη στη Poli.xaml... 57 6.6 ΕΝΟΤΗΤΑ «ΔΡΟΜΟΛΟΓΙΑ»... 60 6.6.1 Κώδικας: Δρομολόγια στη Dromologia.xaml... 61 6.6.2 Κώδικας: Δρομολόγια στη Dromologia.xaml.cs... 62 -vi-

6.7 ΕΝΟΤΗΤΑ ΕΣΤΙΑΤΟΡΙΑ, ΜΟΥΣΕΙΑ ΙΣΤΟΡΙΚΑ ΜΝΗΜΕΙΑ, ΠΑΡΑΛΙΕΣ, ΚΑΦΕΤΕΡΙΕΣ, ΦΥΣΗ, ΔΙΑΣΚΕΔΑΣΗ... 66 6.7.1 Κώδικας: SplitPage.xaml... 67 6.7.2 Κώδικας: SplitPage.xaml.cs... 69 6.8 ΑΝΤΙΚΕΙΜΕΝΟ «ΠΡΟΟΡΙΣΜΟΙ»... 74 6.8.1 Κώδικας: Προορισμοί στη Proorismoi.xaml... 75 6.8.2 Κώδικας: Προορισμοί στη Proorismoi.xaml.cs... 76 6.9 APP BAR... 78 6.9.1 Κώδικας: App Bar στη MainPage.xaml... 79 6.9.2 Κώδικας: App Bar στη MainPage.xaml.cs... 79 6.9.3 Κώδικας: Σχετικά στη Sxetika.xaml... 79 6.9.4 Κώδικας: Σχετικά στη Sxetika.xaml.cs... 80 6.10 ΑΡΧΕΙΑ XML... 81 6.10.1 Κώδικας: dromologia.xml... 81 6.10.2 Κώδικας: chaniadata.xml... 82 7 ΣΥΜΠΕΡΑΣΜΑΤΑ... 87 ΒΙΒΛΙΟΓΡΑΦΙΑ... 89 -vii-

-viii-

1 Εισαγωγή Στην εποχή που ζούμε ο τομέας της τεχνολογίας και ιδιαίτερα ο χώρος της πληροφορικής και των τηλεπικοινωνιών κατακλύζει τη καθημερινότητα μας. Οι νέοι ρυθμοί που έχουν εισχωρήσει για τα καλά στη ζωή μας, μας ανατρέπουν τον τρόπο με τον οποίο αντιμετωπίζαμε τη καθημερινότητα μας, προσφέροντας νέες υπηρεσίες και εργαλεία που διαφοροποιούν σημαντικά τον τρόπο που ενημερωνόμασταν, που ψυχαγωγούμασταν και που επικοινωνούσαμε. Η χρήση των smartphones αποτελεί πια το κυριότερο μέσο το οποίο χρησιμοποιεί ο άνθρωπος για να εκφραστεί, να ψυχαγωγηθεί, να κάνει αγορές και να απολαύσει τη κάθε στιγμή της ημέρας του. Η αγορά των κινητών τηλέφωνων smartphones είναι αναπόσπαστο και αναγκαίο αγαθό για κάθε άτομο. Η εξέλιξη τους τα τελευταία 10 χρόνια, παρέχουν στο καταναλωτή περισσότερα χαρακτηριστικά με δυνατότητες σε σύγκριση με άλλες ηλεκτρικές συσκευές,( τηλεόραση, φωτογραφική μηχανή, ηλεκτρονικός υπολογιστής κλπ). Η Microsoft έχοντας υπόψη της τις δυνατότητες των smartphones για την ανθρώπινη ζωή, κατευθύνθηκε δυναμικά στην αγορά των smartphones. Οι εφαρμογές και τα εργαλεία που παρέχει αυξάνονται συνεχώς ενσωματώνοντας τις νέες τάσεις της τεχνολογίας και τα νέα ανανεωμένα χαρακτηριστικά που κυκλοφορούν. Κύριος σκοπός της Microsoft είναι να παρέχει εργαλεία και εφαρμογές που ικανοποιούν τις ανάγκες των ανθρώπων, με εύκολο και απλό τρόπο, χωρίς να χρειάζεται επαγγελματική γνώση της τεχνολογίας. Αναφορικά, η εφαρμογή που παρουσιάζεται στη συνέχεια έχει ως σκοπό να ενημερώσει τον χρήστη για τις δυνατότητες που προσφέρει η Microsoft μέσα από την ανάπτυξη των διαφόρων εφαρμογών και να αναδείξει τον Ταξιδιωτικός Οδηγός Χανίων Chania Advisor, υπενθυμίζοντας στο κόσμο τις δυνατότητες και την σπουδαιότητα των Windows Phone. -1-

2 Windows Phone Γενικά Εικόνα 1: Windows Phone Το Windows Phone αποτελεί μια σειρά από smartphone λειτουργικά συστήματα που εξελίχθηκε και αναπτύχθηκε από τη Microsoft. Στη πραγματικότητα είναι ο διάδοχος του Windows Mobile, παρόλο που η σχέση μεταξύ τους φαίνεται να είναι εντελώς ασύμβατη. Η πρώτη εμφάνιση των Windows Phone, έγινε τον Οκτώβριο 2010 με την εμφάνιση του Windows Phone 7, στην συνέχεια ακολούθησε η έκδοση του Windows Phone 8, η οποία πήρε μέρος στις 29 Οκτωβρίου 2012 και πρόσφατα, λίγους μήνες πριν, κυκλοφορεί η νέα έκδοση του Windows Phone 8.1. Η Microsoft μέσα από τις δυνατότητες που παρουσιάζει, δημιουργεί ένα νέο κόσμο στην οθόνη κάθε χρήστη μέσα από τη σύγχρονη σχεδιαστική γλώσσα, Modern (η οποία ήταν παλαιότερα γνωστή ως «Metro»). Το νέο λογισμικό είναι εύκολο και εύχρηστο για κάθε χρήστη, είτε ερασιτέχνη είτε επαγγελματία στο τομέα της πληροφορικής. Η οθόνη -3-

αφής σε συνδυασμό με την απλή χρήση του, προσφέρει ένα διασκεδαστικό τρόπο πλοήγησης στο λογισμικό. Σκοπός είναι η προσπάθεια ταύτισης της λειτουργίας ενός υπολογιστή με τις ανάγκες και τις εφαρμογές ενός κινητού τηλεφώνου στη καθημερινή ζωή. Το λογισμικό είναι ενσωματωμένο με διάφορους κατασκευαστές εφαρμογών και υπηρεσιών της Microsoft, και ορίζει τις ελάχιστες απαιτήσεις για το hardware στο ο- ποίο τρέχει. Τα Windows Phone παρόλο που ταυτίζονται με την ονομασία των Windows των υ- πολογιστών, διαφέρουν στην φιλοσοφία και το σχεδιασμό τους. Αν και σιγά σιγά με την έκδοση των Windows 8 για προσωπικούς υπολογιστές, εντοπίζονται αρκετά χαρακτηριστικά από τα Windows Phone 8 για κινητά τηλέφωνα. Εικόνα 2: Windows Phone -4-

2.1 Τι είναι Windows Phone 7 Εικόνα 3: Windows Phone 7 Η Microsoft μετά την ανάπτυξη του λειτουργικού Windows Mobile, δημιούργησε το λειτουργικό σύστημα της επόμενης γενιάς OS για κινητά και φορητές συσκευές, το Windows Phone 7. Τα δύο αυτά λογισμικά είναι εντελώς ασύμβατα μεταξύ τους. Ενώ το Windows Mobile αποβλέπει κυρίως στον τομέα των επιχειρήσεων, το Windows Phone 7 αναφέρεται στην καταναλωτική αγορά. Η νέα αυτή πλατφόρμα λογισμικού κέρδισε γρήγορα τη θετική υποδοχή του κόσμο της τεχνολογίας και κατάφερε να αποσπάσει εξαιρετικά σχόλια για τη μοναδικότητά του. Το Windows Phone 7 ανακοινώθηκε στο Mobile World Congress στη Βαρκελώνη της Ισπανίας, στις 15 Φεβρουαρίου του 2010 και κυκλοφόρησε το δεύτερο εξάμηνο του 2010 στο κοινό, συγκεκριμένα στις 8 Νοεμβρίου 2010 στις Ηνωμένες Πολιτείες.Στις αρχές του 2011 κυκλοφόρησε και στην Ασία. Η σημαντική διαφοροποίηση που γίνεται στο Windows Phone σε σχέση με τον προκάτοχο τους είναι το νέο περιβάλλον χρήστη το οποίο χρησιμοποιεί τη σχεδιαστική γλώσσα metro. Επίσης, το λειτουργικό αυτό έχει ενσωματωμένη υποστήριξη υπηρεσιών τρίτων εταιριών και υπηρεσιών της ίδιας της Microsoft και ορίζονται και οι ελάχιστες απαιτήσεις του λειτουργικού σε υλικό. -5-

Η πρώτη έκδοση του λειτουργικού παρουσιάστηκε στις 15 Φεβρουαρίου του 2010 και τελικά τον Οκτώβριο του 2010 ξεκίνησαν να υπάρχουν στην αγορά οι πρώτες συσκευές με το νέο αυτό λειτουργικό. Αρχικά το λειτουργικό παρέχονταν σε 25 γλώσσες και οι εφαρμογές του Marketplace ήταν διαθέσιμες σε 35 χώρες. Στη συνέχεια όμως πήραν μέρος επιπλέον γλώσσες μέσω των αναβαθμίσεων που ονομάστηκαν Mango και Tango αντίστοιχα. Προνόμιο του Windows Phone 7 είναι τα λεγόμενα << live tiles>> που αποτελούν και πρωτοποριακό στοιχείο. Οι εφαρμογές δηλαδή ενημερώνονται σε πραγματικό χρόνο real time, μία δυνατότητα που διευκολύνει το χρήστη ρίχνοντας μία ματιά στις ε- φαρμογές του, χωρίς να χρειάζεται η εκκίνηση τους και μπορεί να βλέπει εάν έχει νέες ειδοποιήσεις όπως κλήσεις, προγραμματισμένα ραντεβού, μηνύματα, ειδήσεις και άλλα. Αξιοσημείωτο χαρακτηριστικό της νέας πλατφόρμας του λειτουργικού συστήματος, είναι το γεγονός ότι επιτεύχθηκε συμβατότητα τόσο σε επίπεδο υλικού (hardware) όσο και σε επίπεδο λογισμικού (software). Όλες οι κινητές συσκευές Windows Phone 7 χρησιμοποιούν το chipset από τον ίδιο κατασκευαστή, οπότε διευθετείται σε σημαντικό βαθμό το ζήτημα της ασυμβατότητας μεταξύ διαφορετικών επεξεργαστών και χωρητικότητας της μνήμης. Η ασυμβατότητα λύθηκε και σε επίπεδο λογισμικού, καθώς όλες οι εφαρμογές βασίζονται σε μία από τις δύο προγραμματιστικές πλατφόρμες του Windows Phone (Silverlight, XNA πλατφόρμα). Ακόμη καινοτόμο στοιχείο του Windows Phone σε σχέση με τους ανταγωνιστές του στην αγορά, σε επίπεδο λογισμικού, είναι η δυνατότητα βελτιωμένης αναζήτησης μέσω της μηχανής αναζήτησης Bing. Η αναζήτηση είναι σε θέση να αντιλαμβάνεται τη περιοχή στην οποία βρίσκεται το κινητό τη δεδομένη στιγμή αλλά και το είδος της εφαρμογής που είναι εκείνη τη στιγμή που γίνεται η αναζήτηση ανοιχτό, με αποτέλεσμα να προσφέρει στο χρήστη τα πιο προσαρμοσμένα και αξιόπιστα αποτελέσματα που επιθυμεί. Για παράδειγμα αν γίνει αναζήτηση για καφετέρια στο Bing, η μηχανή αναζήτησης θα θεωρήσει ότι ο χρήστης ζητά μία καφετέρια κοντά στη περιοχή στην οποία βρίσκεται τη στιγμή που κάνει την αναζήτηση. -6-

2.2 Αναβάθμιση Mango [Windows Phone 7.5] Εικόνα 4: Mango [Windows Phone 7.5] Η αναβάθμιση με το κωδικό όνομα Mango [Windows Phone 7.5] έγινε διαθέσιμη το Μάιο του 2011 και αναβάθμισε σημαντικά πολλές δυνατότητες στο λειτουργικό καθώς διόρθωσε και αρκετά μικροπροβλήματα. Σπουδαία σημεία της αναβάθμισης ήταν η ενσωμάτωση του Internet Explorer 9 και η υποστήριξη παράλληλης εκτέλεσης εφαρμογών και τρίτων κατασκευαστών, αντικαθιστώντας την πρώτη έκδοση του λειτουργικού που υποστήριζε παράλληλη εκτέλεση μόνο για τις προεγκατεστημένες εφαρμογές. Πιο αναλυτικά, με τη αναβάθμιση του Mango αναδιαμορφώθηκαν τομείς της κοινωνικής δικτύωσης όπως τα δυναμικά tiles, ενσωματώθηκαν οι εφαρμογές του Twitter και του Linked In. Οργανώθηκαν οι επαφές ανά κατηγορία, άρχισε να υπάρχει διατήρηση ιστορικού επαφών καθώς επίσης υποστηρίχθηκε η αναγνώριση τοποθεσίας από το Facebook. Ενσωματώθηκε το Messenger και το Facebook chat. Όλες οι υπηρεσίες μηνυμάτων πλέον επεξεργάζονται σε ένα νήμα. Υπάρχει δυνατότητα πολλαπλών λογαριασμών e-mail και ενσωματώθηκε η αναγνώριση φωνής και αφήγησης. Διαφοροποιήσεις πραγματοποιήθηκαν και στο τομέα της αναζήτησης. Ξεκίνησε η αναγνώριση κειμένου, barcode και εικόνων, η αναγνώριση μουσικής. Η δυνατότητα εμφάνισης επιχειρήσεων κοντά στην τρέχουσα τοποθεσία του χρήστη. Επίσης, η αναγνώριση πληροφοριών και η ανασκόπηση προϊόντων. Η αναζήτηση εικόνων -7-

και ενσωμάτωση αναζήτησης σε εφαρμογές τρίτων κατασκευαστών. Τέλος, η δυνατότητα οπτικής και φωνητικής πλοήγησης. Αντίστοιχες αλλαγές έγιναν στο τομέα εφαρμογών του γραφείου, με την δυνατότητα αποθήκευσης εγγράφων στο σύννεφο [Skydrive] και συγχρονισμός εγγράφων. Την υ- ποστήριξη μακροεντολών στο Excel και την παύση υποστήριξης εγγράφων πρότερων του Office 2007. Αλλαγές έγιναν και στο Τομέα επεξεργασίας εικόνας και διαχείρισης φωτογραφιών. Συναντάμε λοιπόν, συγχρονισμό με το Facebook, αυτόματη βελτιστοποίηση φωτογραφιών, (φωτεινότητα, κοντράστ) και κοινοποίηση βίντεο μέσω MMS, Facebook, Skydrive και e-mail. Ομοίως και στο τομέα των πολυμέσων. Νέο βελτιωμένο περιβάλλον χρήσης του media player, ανανεωμένη δυνατότητα υποστήριξης φωνητικών εντολών αναπαραγωγής καθώς και ικανότητα δημιουργίας και αποθήκευσης λιστών αναπαραγωγής. Ο Τομέας Marketplace υπέστη επίσης αλλαγές με νέο διαμορφωμένο περιβάλλον και αναζήτηση. Επιπρόσθετα, ο Τομέας φωτογραφικής μηχανής και βιντεοκάμερας με νέο περιβάλλον. Με αποθήκευση επιλογών ακόμα και μετά την έξοδο από την εφαρμογή. Με υποστήριξη της εμπρόσθιας κάμερας καθώς και με δυνατότητα επιλογής σημείου εστίασης. Ο Τομέας των παιχνιδιών αναβαθμίστηκε επιτυχώς, με ανασχεδιασμένη εφαρμογή διαχείρισης παιχνιδιών, με δυνατότητα κοινοποίησης επιδόσεων του χρήστη και ακόμη με νέα βελτιωμένη ασύγχρονη επικοινωνία για καλύτερες επιδόσεις στα διαδικτυακά παιχνίδια. Αναδιαμόρφωση πραγματοποιήθηκε ακόμα, στο τομέα περιηγητή διαδικτύου με την επιτάχυνση γραφικών μέσω υλικού, με την υποστήριξη HTML5 για αναπαραγωγή εικόνας και ήχου και με την υποστήριξη τοποθεσίας. Επίσης, έχουμε στο προσκήνιο μία νέα μηχανή JavaScript, ένα νέο περιβάλλον και μία μπάρα της διεύθυνσης η οποία είναι πλέον ορατή στην οριζόντια τοποθέτηση. Παρόμοιες αλλαγές έγιναν και στο τομέα της ασφάλειας. Οι φωνητικές εντολές έπαψαν να λειτουργούν ενώ η συσκευή είναι κλειδωμένη. Ακόμη, υποστηρίχθηκε η εμφάνιση των αλφαριθμητικών PIN. Γενικότερα, αλλαγές πραγματοποιήθηκαν στο διαμοιρασμό της σύνδεσης στο διαδίκτυο. Πήρε μέρος η αυτόματη απενεργοποίηση εφαρμογών και διεργασιών που εκτε- -8-

λούνται στο παρασκήνιο, αν τα επίπεδα της μπαταρίας είναι χαμηλά. Υπάρχει πια η ικανότητα διαχείρισης ήχων κλήσης και η δυνατότητα επιλογής ήχου κλήσης από το χρήστη. Αυξάνεται η δυνατότητα λειτουργίας του λογισμικού σε 16 ακόμη γλώσσες. Επίσης, συμπεριλήφθηκαν νέα δεδομένα για τις νέες γλώσσες και τα εικονίδια στο εικονικό πληκτρολόγιο. Δημιουργήθηκαν δυνατότητες για την εξασφάλιση νέων κρυφών ασύρματων δικτύων. Στο τομέα ανάπτυξης εφαρμογών διαμορφώσεις ακολούθησαν στη παράλληλη εκτέλεση διεργασιών για τις εφαρμογές τρίτων κατασκευαστών και γρήγορης εναλλαγής ε- φαρμογών, στις διεργασιών παρασκηνίου. Οι εφαρμογές τρίτων μπορούν να κάνουν αναζήτηση μέσω της υπηρεσίας Bing. Υποστηρίζεται πια η Silverlight 4 και είναι δυνατόν να γίνει ταυτόχρονη εκτέλεση Silverlight και XNA στην ίδια εφαρμογή. Παρέχεται πια νέο σύνολο εντολών για τους αισθητήρες τοποθεσίας και επιτάχυνσης και για το γυροσκόπιο. Επίσης, ανανεώνεται η διαδικασία αναπαραγωγής και επιτάχυνσης βίντεο μέσω υλικού. Υποστηρίζεται ηtcp/ip και UPD Sockets και η ενσωματωμένη βάση δεδομένων. Τέλος, συμπεριλαμβάνεται το πακέτο εντολών NEON/SIMD για τις εφαρμογές XNA. -9-

2.3 Αναβάθμιση Τango [Windows Phone 7.5 Refresh] Εικόνα 5: Τango [Windows Phone 7.5] Στη συνέχεια, έγινε μια μικρή ενημέρωση, η οποία κυκλοφόρησε το 2012 με το όνομα Tango [Windows Phone 7.5 Refresh] που έγινε διαθέσιμη στα μέσα του 2012 και έφερε μαζί της νέα δεδομένα. Οι κύριες αλλαγές που πήραν μέρος ήταν η μείωση των ελάχιστων απαιτήσεων σε υλικό ώστε να είναι δυνατή η παραγωγή συσκευών με επεξεργαστές 800 MHz και 256 MB RAM, η εξαγωγή και η διαχείριση των επαφών του χρήστη στην κάρτα SIM του τηλεφώνου, η ενσωμάτωση της εφαρμογής Skype και τέλος η διάθεση του λογισμικού σε 23 ακόμη χώρες. -10-

2.4 ΑΝΑΒΑΘΜΙΣΗ WINDOWS PHONE 7.8 Εικόνα 6: WINDOWS PHONE 7.8 Αργότερα, τον Ιανουάριο του 2013 εκδόθηκε η αναβάθμιση Windows Phone 7.8, η ο- ποία προσέθεσε ορισμένα χαρακτηριστικά από τα Windows Phone 8, με βασική αναδιαμόρφωση της αρχικής οθόνης περιβάλλοντος χρήσης του λειτουργικού Windows Phone 8, τον διπλασιασμός των επιλογών χρωμάτων σε 20 και την επιλογή να υπάρχει το Bing ως εικόνα της ημέρας, όπως στην ταπετσαρία της οθόνης κλειδώματος. Ουσιαστικά, το Windows Phone 7.8 είχε ως απώτερο σκοπό να παρατείνει τη διάρκεια ζωής των παλιών συσκευών με Windows 7, αφού αυτές δεν μπορούν να αναβαθμιστούν σε Windows Phone 8, λόγω διαφόρων περιορισμών του υλικού. Η Microsoft ανακοίνωσε ότι στα Windows Phone 7.8 θα συναντήσουμε επιπλέον ενημερώσεις στο μέλλον. Έτσι, το Windows Phone 7 και Windows Phone 8 θα συνυπάρχουν για λίγο, για να υποστηρίξουν συσκευές σε διαφορετικές κλίμακες τιμών. -11-

2.5 ΤΙ ΕΙΝΑΙ WINDOWS PHONE 8 Εικόνα 7: WINDOWS PHONE 8 Η εταιρεία Microsoft συνέχισε να δημιουργεί νέους δρόμους για την ανάπτυξη του λειτουργικού συστήματος Windows Phone για smartphones. Εγκαινίασε την 2η γενιά του λειτουργικού συστήματος Windows Phone με την εμφάνιση του Windows Phone 8. Η εμφάνιση του στην αγορά πραγματοποιήθηκε στις 29 Οκτωβρίου του 2012. Είναι σημαντικό να αναφέρουμε ότι είναι σχεδιασμένο πάνω στη διεπαφή Metro ομοίως με το προκάτοχο του. Πιο συγκεκριμένα, το Windows Phone 8 δίνει τη θέση του στην αρχιτεκτονική του πυρήνα των Windows NT αφήνοντας πίσω του την αρχιτεκτονική του πυρήνα των Windows CE στο Windows Phone 7. Λόγω των πολλών κοινών στοιχείων των Windows Phone 7 με τα Windows 8, επιτρέπει στις εφαρμογές να μεταφερθούν μεταξύ των δύο πλατφόρμων. Η ονομασία του πυρήνα ως WindowsCE (Compact Edition) σχεδιάστηκε πρώτα για να τρέξει σε φορητούς Η/Υ. Είναι επόμενο λοιπόν, ότι οι συσκευές κινητών με λογισμικό Windows Phone 7 δεν είναι σε θέση να εκτελέσουν το λειτουργικό του Windows Phone 8 αλλά ούτε και να το αναβαθμίσουν για να δουλέψουν με εφαρμογές διαμορφωμένες για τα Windows Phone 8. -12-

Αντίθετα, κινητά τηλέφωνα με λογισμικό του Windows Phone 8 είναι δυνατόν να τρέξουν εφαρμογές των Windows Phone 7 χωρίς να χρειάζεται ειδική διαμόρφωση στο λογισμικό τους. Η δημιουργία του Windows Phone 8 φέρνει μαζί του σημαντικές βελτιώσεις σε σχέση με το προκάτοχο του. Η 2η γενιά του λειτουργικού συστήματος Windows Phone είναι ικανό να υποστηρίξει μεγαλύτερες οθόνες κινητών καθώς επίσης και πολυπύρηνους επεξεργαστές. Αποδίδει στο μέγιστο και η μπαταρία του κρατάει για αρκετό χρονικό διάστημα. Θέτει δυνατή την επικοινωνία του κοντινού πεδίου (NFC) για το διαμοιρασμό περιεχομένου και την εκτέλεση πληρωμών. Προσφέρει μεγαλύτερη υποστήριξη για αφαιρούμενο αποθηκευτικό χώρο. Η κεντρική οθόνη του λογισμικού είναι φανερά ανασχεδιασμένη και πιο ωφέλιμη. Επίσης, συναντάμε την εμφάνιση του πορτοφολιού για την ε- κτέλεση πληρωμών με το NFC και την λειτουργία με ιστοσελίδες κουπονιών. Τέλος, γίνεται λόγος πια για πλήρης και αξιόπιστη υποστήριξη της VOiP. Ο πυρήνας του Windows Phone 8 αποτελεί ένα από τα πιο σημαντικά χαρακτηριστικά για το κινητό λειτουργικό σύστημα της Microsoft. Ο πυρήνας αυτών των κινητών τηλεφώνων προσφέρει ιδιαίτερη βελτίωση στο σύστημα αρχείων, στους οδηγούς συσκευών, περισσότερη υποστήριξη στοίβας δικτύου, στοιχεία ασφαλείας, και ανεπτυγμένη υποστήριξη πολυμέσων και γραφικών. Η χρήση του είναι δυνατή να υποστηρίξει πια πολυπύρηνους επεξεργαστές έως και 64 πυρήνες. Όπως επίσης να προχωρήσει σε 1280x720 και 1280x768 αναλύσεις χωρίς να παραμένει στάσιμος στην βασική ανάλυση 800x480 που ήτανε διαθέσιμες στο Windows Phone 7. Επιπρόσθετα, διαθέτει υποστήριξη για κάρτες MicroSD και χάρη στο πυρήνα ΝΤ είναι ικανή η εγγενής 128-bit κρυπτογράφηση Bitlocker και Secure Boot και NTFS σύστημα αρχείων. Όσον αφορά το διαδίκτυο, ο βασικός πλοηγός διαδικτύου είναι ο Internet explorer 10, ο οποίος έχει εισάγει βασικές βελτιώσεις στο λειτουργικό σύστημα του Windows 8. Τα Windows Phone 8 δεν επιτρέπουνε σε εφαρμογές τρίτων πραγματική παράλληλη επεξεργασία όπως συνέβαινε και στα Windows Phone 7. Το λειτουργικό σύστημα μπορεί να εκτελέσει παράλληλη επεξεργασία αλλά μόνο σε εφαρμογές της Microsoft και άλλων συγκεκριμένων αξιόπιστων προμηθευτών. -13-

Ένα άτομο μπορεί να μεταβεί στις «ενεργές» εφαρμογές κρατώντας πατημένο το κουμπί back, όμως οι εφαρμογές που παρατίθενται δεν εκτελούνται στην πραγματικότητα και ο χρήστης μπορεί να χρειαστεί να περιμένει για επαναφορά από την κατάσταση αναστολής (κάτι παρόμοιο με την παράλληλη επεξεργασία στο ios της Apple και android). Ουσιαστικά οι μόνες εργασίες που μπορούν να εκτελεστούν στο παρασκήνιο, οι οποίες παίρνουν μέρος υπό ορισμένες προϋποθέσεις, είναι η σύνδεση με το δίκτυο ή η κατάσταση της μπαταρίας αλλά δεν είναι εγγυημένο ότι θα παραμείνουν σε λειτουργία αν κάποια άλλη εφαρμογή έρθει στο προσκήνιο. Τα Windows Phone 8 υποστηρίζουν το κώδικα C, ο οποίος βοηθά στην μετάβαση εφαρμογών από άλλες πλατφόρμες. Προσφέρουν απλοποιημένη μεταφορά εφαρμογών από τα Windows 8 στα Windows Phone 8 καθώς επίσης και την δημιουργία απομακρυσμένης διαχείρισης της κινητής συσκευής. Το Windows Phone είναι σχεδιασμένο για την ασφάλεια κάθε ατόμου που το χρησιμοποιεί. Πολλές από τις δυνατότητες ασφαλείας είναι ήδη ενεργοποιημένες από προεπιλογή. Για παράδειγμα, οι εφαρμογές από το Windows Phone Store ελέγχονται από τη Microsoft και κρυπτογραφούνται, ώστε να είναι σίγουρος ο χρήστης ότι δεν θα ε- γκαταστήσει κατά λάθος κάποιο λογισμικό κακόβουλης λειτουργίας στο κινητό τηλέφωνο. Ακόμη, ο εργοδότης μπορεί να ενεργοποιεί άλλες δυνατότητες ασφάλειας, όπως κρυπτογράφηση συσκευής, μέσω μιας εταιρικής πολιτικής. Άλλοι τρόποι για να διατηρηθεί η ασφάλεια είναι ο ορισμός κωδικού πρόσβασης,ο οποίος είναι σε θέση να αποτρέψει τη χρήση του κινητού τηλεφώνου χωρίς την έγκριση του χρήστη, (για παράδειγμα η πραγματοποίηση τηλεφωνικών κλήσεων, ανάγνωση των email κ.λπ.), όπου συνιστάται η χρήση ενός αριθμού PIN. Εικόνα 8: Κωδικός PIN -14-

Επίσης, άλλοι τρόποι ασφαλείας είναι ο κωδικός πρόσβασης της οθόνης κλειδώματος και ο ορισμός PIN πορτοφολιού όπου παρέχει ένα επιπλέον επίπεδο ασφάλειας για αγορές στο Windows Phone Store. Το PIN είναι δυνατόν επίσης να αποτρέψει ανεπιθύμητες πληρωμές NFC. Ομοίως και ο κωδικός PIN για την κάρτα SIM δεν επιτρέπει σε άλλα άτομα να κάνουν τηλεφωνικές κλήσεις χρησιμοποιώντας ένα τηλέφωνό που δεν τους ανήκει Για τους γονείς, υπάρχει η δυνατότητα προστασίας του smartphone από ένα παιδί, καθώς με την ραγδαία ανάπτυξη της τεχνολογίας στην καθημερινή μας ζωή, είναι και τα ίδια πια καλοί γνώστες του αντικειμένου. Έτσι λοιπόν, είναι σε θέση να αποκτήσουν τα ίδια πολύ εύκολα πρόσβαση σε διάφορες εφαρμογές και ρυθμίσεις που δεν θα έπρεπε. Με την δημιουργία όμως της Παιδική γωνιάς, δεν υπάρχει λόγος ανησυχίας. Είναι μια γωνιά στο τηλέφωνο όπου το παιδί μπορεί να παίζει με παιχνίδια και εφαρμογές, να ακούει μουσική και να παρακολουθεί βίντεο, τα οποία έχει προσθέσει ο ενήλικος, χωρίς να υπάρχει η δυνατότητα να γίνει πρόσβαση στο υπόλοιπο περιεχόμενο της συσκευής. Εικόνα 9: WINDOWS PHONE 8 Μία επιπλέον υπηρεσία που προσφέρεται, είναι η δωρεάν δυνατότητα "Εύρεση του κινητού μου". Η υπηρεσία αυτή βοηθά το κάθε χρήστη να βρει το κινητό του σε περίπτωση που το έχει χάσει ή ξεχάσει. -15-

Η ενεργοποίηση της γίνεται στο πρόγραμμα περιήγησης όπου μπορείτε να ενεργοποιήσετε το κουδούνισμα του τηλεφώνου, να το βρείτε στο χάρτη, να το κλειδώσετε ή ακόμα και να διαγράψετε τα περιεχόμενά του. Μπορείτε ακόμη να στείλετε τα στοιχεία ε- πικοινωνίας σας (ή κάποιο άλλο σύντομο μήνυμα) στην οθόνη κλειδώματος, σε περίπτωση που έχει βρει το τηλέφωνο κάποιος άλλος και θελήσει να σας το επιστρέψει". Αυτό το βήμα είναι σημαντικό να ρυθμιστεί για την προσωπική ασφάλεια κάθε χρήστη. Παρακάτω στο πίνακα ακολουθούν ορισμένες κινήσεις αφής που επιτρέπουν στο χρήστη να αλληλεπιδρά με το λειτουργικό του Windows Phone. Αριστερά παρουσιάζεται η συμπεριφορά του χρήστη και δεξιά η προκαθορισμένη λειτουργία του συστήματος. Πίνακας : Κινήσεων Χειρονομία Τι κάνει Απλό πάτημα Ανοίγει ή ξεκινά κάθε στοιχείο που πατάτε Διπλό πάτημα Σταδιακή μεγέθυνση και σμίκρυνση Παρατεταμένο πάτημα Ανοίγει ένα μενού συντόμευσης (όπως όταν κάνετε δεξί κλικ με το ποντίκι) -16-

Μετατόπιση Μεταφορά μεταξύ οθόνης ή κάποιων μενού Κίνηση Κάνει γρήγορη κύλιση στα μενού ή τις σελίδες ή μετακινείται πλαγίως στις ενότητες Τσίμπημα και Άπλωμα Κάνει προοδευτική μεγέθυνση ή σμίκρυνση σε μια τοποθεσία Web -17-

2.5.1 Βήματα που βοηθούν στη χρήση των Windows Phone 8 Πραγματοποίηση κλήσης Εικόνα 10: Πραγματοποίηση κλήσης 1) Στην αρχική οθόνη, πατάμε το εικονίδιο με το Τηλέφωνο-Phone Tile. Εικόνα 11: Πραγματοποίηση κλήσης 2) Πατάμε το κουμπί με το Πληκτρολόγιο-Tap Keypad -18-

Εικόνα 12: Πραγματοποίηση κλήσης 3) Πληκτρολογούμε τον αριθμό και πατάμε το εικονίδιο Κλήση-call. Αποστολή Κειμένου - Μηνύματος: Εικόνα 13: Αποστολή Κειμένου Μηνύματος Στην αρχική οθόνη, πατάμε το εικονίδιο Μηνυμάτων. -19-

Εικόνα 14: Αποστολή Κειμένου Μηνύματος 2) Πατάμε το κουμπί και ξεκινάμε μία νέα συζήτηση Εικόνα 15: Αποστολή Κειμένου Μηνύματος 3) Πληκτρολογούμε τον αριθμό του κινητού ή το όνομα, γράφουμε το μήνυμα και τότε πατάμε το κουμπί αποστολή -20-

Προσθέστε τις επαφές σας: Εικόνα 16: Προσθήκη επαφών 1) Στην αρχική οθόνη, πατάμε το εικονίδιο People Tile Εικόνα 17: Προσθήκη επαφών 2) Πατάμε το κουμπί και ξεκινάμε τη καταχώρηση επαφής -21-

Εικόνα 18: Προσθήκη επαφών 3) Πληκτρολογούμε στα πλαίσια κειμένων για να προσθέσουμε πληροφορίες και μετά πατάμε το εικονίδιο Αποθήκευση-Save Ψωνίστε το κατάστημα: Εικόνα 19: Windows Store 1) Στην αρχική οθόνη, πατάμε το Store Tile -22-

Εικόνα 20: Windows Store 2) Πατάμε σε κάποιο tile να δούμε λεπτομέρειες ή να κατεβάσουμε την εφαρμογή Εικόνα 21: Windows Store 3) Σέρνουμε για να δούμε κορυφαίες εφαρμογές ή παιχνίδια, ή να περιηγθούμε ανά κατηγορία, ή να κάνουμε αναζήτηση σε κάτι συγκεκριμένα πατώντας στο -23-

Βρείτε τις εφαρμογές σας και το pin τους στο Start: Εικόνα 22: Pin to Start 1) Στην αρχική οθόνη σέρνουμε για να πάμε στη λίστα των εφαρμογών 2) Αν θέλουμε να καρφιτσώσουμε μια εφαρμογή στην αρχική οθόνη, πατάμε παρατεταμένα πάνω της και επιλεγούμε το Pin to Start Εικόνα 23: Pin to Start 3) Πατώντας παρατεταμένα πάνω σε μια εφαρμογή έχουμε τις δυνατότητες : να τη καρφιτσώσουμε στην αρχική σελίδα να την αξιολογησουμε να τη κοινοποιήσουμε να την απεγκαταστήσουμε -24-

2.6 Τι είναι τα Windows Phone 8.1 Εικόνα 24: Windows Phone 8.1 Το Windows Phone 8.1, είναι η πιο πρόσφατη έκδοση της Microsoft.Είναι εμπλουτισμένη με νέες εξαιρετικές ικανότητες που σε κάνουν να απολαμβάνεις με κάθε άνεση την καθημερινή χρήση του κινητού τηλέφωνου. Οι διαφοροποιήσεις που υπέστησαν σε σχέση με τα προηγούμενα λογισμικά Windows Phone, παρουσιάζουν νέα δεδομένα στη χρήση των κινητών. Συγκεκριμένα, οι φάκελοι δίνουν τη δυνατότητα σε κάθε χρήστη να οργανώσουν την οθόνη έναρξη τους όπως επιθυμούν οι ίδιοι. Το μόνο που χρειάζεται είναι να κατευθυνθεί το ένα πλακίδιο πάνω στο άλλο για να δημιουργηθεί ο φάκελος και να ξεκινήσει η οργάνωση. Επίσης, υπάρχει η δυνατότητα να συνδυαστούν πολλά SMS και στη συνέχεια να προωθηθούν σε κάποιο άλλο χρήστη. Η επιλογή, έχει αναδιαμορφωθεί και πλέον υπάρχει δυνατότητα να διαγραφούν ταυτόχρονα πολλές κλήσεις, μηνύματα ή επαφές. Με τη νέα γωνιά εφαρμογών υπάρχει η ευκαιρία να καθοριστούν συγκεκριμένες εφαρμογές τις οποίες μπορούν να χρησιμοποιήσουν κι άλλοι χρήστες στο Windows Phone. Ένα σημαντικό στοιχείο για ιδιώτες και οργανισμούς κάθε μεγέθους που θέλουν να παρέχουν πρόσβαση μόνο στις απαραίτητες εφαρμογές σε άλλους για την εργασία, το σχολείο ή οποιονδήποτε άλλο λόγο. -25-

Η Cortana αποτελεί ένα διαφορετικό τρόπο λειτουργίας του κινητού. Η Cortana ενεργοποιείται από το σύστημα hands-free με Bluetooth στο αυτοκίνητό. Απλώς πατάς την επαφή με το όνομα "Cortana" και την ρωτάς ο,τι επιθυμείς. Ακόμη, είναι δυνατόν πια, να πραγματοποιείς περισσότερα πράγματα χωρίς να χρειαστεί να ξεκλειδώσεις το κινητό τηλέφωνο, κάτι που κάνει την προσωπική βοηθό, Cortana ακόμα καλύτερη. Όσον αφορά το Store, το νέο Live Tile για το Windows Phone Store, βοηθάει στην ανακάλυψη νέων εφαρμογών και παιχνιδιών. Το μόνο που χρειάζεται είναι να καρφιτσωθεί το πλακίδιο Store στην οθόνη έναρξης. Βελτιώσεις πραγματοποιήθηκαν και στο Internet, με την εμφάνιση του Internet Explorer 11 για Windows Phone, τα οποία προσφέρουν μια αποτελεσματικότερη ε- μπειρία περιήγησης στο κινητό. Η μετατόπιση και η μεγέθυνση δεν αποτελεί πλέον πρόβλημα και χάρη σε αυτό ο χρόνος για την εξερεύνηση των αγαπημένων τοποθεσιών Web μεγαλώνει. Ο χρόνος αναβολής (αφυπνίσεις) είναι σε θέση να προσαρμοστεί στις επιθυμίες κάθε χρήστη ώστε η απόλαυση του ύπνου να παίρνει μία μικρή παράταση σύμφωνα με τις ρυθμίσεις που έχουν γίνει. Η χρήση των εφαρμογών για αξεσουάρ αναδιαμορφώνεται επίσης, για να λαμβάνονται ειδοποιήσεις από το τηλέφωνο σε έξυπνα ρολόγια, ενεργές θήκες τηλεφώνου, συσκευές παρακολούθησης φυσικής κατάστασης και πολλά άλλα είδη αξεσουάρ. Υπάρχει η δυνατότητα πλέον να μοιράζεται ο κάθε χρήστης τη σύνδεση δεδομένων κινητής τηλεφωνίας μέσω Bluetooth, ώστε να είναι δυνατή η σύνδεση στο Internet σε περισσότερα είδη συσκευών. Η δυνατότητα VPN πλέον υποστηρίζει L2TP, γεγονός που επιτρέπει τη σύνδεση σε περισσότερες υπηρεσίες VPN. Είτε αφορά προσωπική είτε επαγγελματική χρήση, είναι δυνατόν κάθε χρήστης να συνδεθεί σε δίκτυο VPN από το Windows Phone. Τέλος, ο αφηγητής διαθέτει πια πληκτρολόγηση αφής και τρόπο απενεργοποίησης των υποδείξεων για στοιχεία ελέγχου και κουμπιά εάν δεν θέλει ο χρήστης να γίνεται η εκφώνησή τους. Επιπλέον βελτιώσεις στον αφηγητή βοηθούν στο πιο γρήγορο ξεκλείδωμα του τηλεφώνου, στην ευκολότερη εύρεση και χρήση των κουμπιών "Πίσω", "Έναρξη" και "Αναζήτηση" και επίσης ενημερώνουν αν η οθόνη του τηλεφώνου είναι ενεργή ή όχι. -26-

3 Το Visual Studio 2013 για Windows Phone 3.1 Εισαγωγή στo Visual Studio Το Visual Studio 2013, είναι το βασικό περιβάλλον ανάπτυξης εφαρμογών, που αναπτύχθηκε από την Microsoft Corporation.. Περιέχει όλες τις βασικές γλώσσες προγραμματισμού με τις οποίες μπορούμε να αναπτύξουμε τα προγράμματα μας, όπως είναι η C, C++, C#, Visual C++,Visual C#, Visual basic, και των αντιστοιχών βιβλιοθηκών, μεταγλωττιστών και των βοηθημάτων τους όπως.net Framework,.NET SKD, Silverlight SDK, XNA και πολλών άλλων ακόμα. Μια μεγάλη ευκολία που μας παρέχει είναι ότι μπορούμε εύκολα να μετατρέψουμε το πρόγραμμα σε οποιαδήποτε από τις υ- ποστηριζόμενες γλώσσες χωρίς να χρειαστεί να γράψουμε ούτε μια γραμμή κώδικα. Δηλαδή αν έχουμε ένα πρόγραμμα σε C# μπορούμε εύκολα να το μετατρέψουμε σε C++ ή Visual Basic. Με το Visual Studio μπορούμε να αναπτύξουμε προγραμμάτα σε κονσόλα,εφαρμογές με γραφικό περιβάλλον, ιστοσελίδες και άλλα. Ένα χαρακτηριστικό που κάνει το Visual Studio να ξεχωρίζει από τα αλλα περιβάλλοντα ανάπτυξης εφαρμογών είναι ότι διαθέτει εργαλεία που διευκολύνουν την ανάπτυξη κώδικα. 3.1.1 Προδιαγραφές Συμβατό λειτουργικό σύστημα Windows 7 SP1 (x86 and x64) Windows 8 (x86 and x64) Windows 8.1 (x86 and x64) Windows Server 2008 R2 SP1 (x64) Windows Server 2012 (x64) Windows Server 2012 R2 (x64) -27-

Υλικό GHz or faster processor 1 GB of RAM (1.5 GB if running on a virtual machine) 5 GB of available hard disk space 5400 RPM hard drive DirectX 9-capable video card running at 1024 x 768 or higher display resolution 3.2 Διαδικασία εγκατάστασης Μια σωστή σκέψη της Microsoft αποτελεί η διαθεσιμότητα του Visual Studio το Express Edition, το οποίο έχει μικρότερες δυνατότητες σε σχέση με της εκδόσεις Professional και Ultimate που είναι επί πληρωμή, αλλά εξίσου αποτελεσματική. Αυτή η έκδοση διατίθεται δωρεάν σε άτομα όπως ερασιτέχνες, μαθητές και φοιτητές, ως απώτερο σκοπό την ώθηση τους για την ανάπτυξη νέων εφαρμογών Windows phone. Για περισσότερες πληροφορίες για την εγκατάσταση του Visual Studio στο http://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx Εικόνα 25: Διαδικασία εγκατάστασης -28-

3.2.1 Solutions και Projects Ρroject είναι ένα σύνολο αρχείων και φακέλων, τα οποία σχετίζονται άμεσα μεταξύ τους και συνδέονται με διάφορα άλλα χαρακτηριστικά προκειμένου να έχει στην διάθεση του ο προγραμματιστής τις βιβλιοθήκες και τις μεθόδους που επιθυμεί. Για να δημιουργήσουμε ένα νέο Projects στο Visual Studio είτε πατάμε στο κουμπί New Project που βρίσκεται στην αρχική σελίδα, είτε από την διαδρομή file->new Project και το Visual Studio αμέσως μας εμφανίζει ένα παράθυρο όπου μας ζητάει ένα όνομα για το Project και ένα για το Solution που πρόκειται να δημιουργήσει. Εικόνα 26: Solutions και Projects 3.2.2 Το εργαλείο IntelliSense Το Visual Studio διαθέτει ένα εργαλείο αυτοματισμού, το IntelliSense το οποίο ενεργοποιείται όταν γράφουμε το κώδικα. Παρουσιάζεται στην οθόνη μας ένα παραθυράκι δείχνοντας μας όλες τις επιλογές που είναι δυνατές στην παρούσα κατάσταση. Το εργαλείο αυτό, βοηθά τον προγραμματιστή να εκμεταλλευτεί τις δυνατότητες του καθώς τον διευκολύνει (μέσα από τις δυνατές επιλογές του ) και δημιουργεί ένα πιο παραγωγικά εύκολο περιβάλλον. -29-

3.3 Δημιουργία Windows Phone Project Αρχικά θα πρέπει να δημιουργήσουμε ένα νέο project στο Visual Studio πατώντας το κουμπί Νew Project. Αφού επιλέξουμε τη C# ως γλώσσα προγραμματισμού, διαλέγουμε το είδος του project που θα αναπτύξουμε, δηλαδή το Windows Phone App Εικόνα 27: Project1 Visual Studio Αμέσως δημιουργείται η σελίδα MainPage.xaml με το κώδικα που είναι ίδιος σε κάθε νέο project που δημιουργούμε: Εικόνα 28: MainPage.xaml -30-

Μπορούμε να δούμε με τη χρήση της ΧΑΜL, έχει δημιουργηθεί ένα πλέγμα (grid) Εικόνα 29: Grid Μέσα στο grid καθορίζονται οι διαστάσεις του: Εικόνα 30: Grid Στη συνέχεια θα τοποθετήσουμε ένα button. Με τις ιδιότητες που βρίσκονται μέσα στην ετικέτα του button ορίζουμε τα χαρακτηριστικά του δηλαδή το όνομα του, το πλάτος του, το ύψος του. Εικόνα 31: Button Εικόνα 32: Button Στη συνέχεια πρέπει να ορίσουμε στο button κάποια ενέργεια που θα κάνει όταν το πατάμε. θα πρέπει να πατήσουμε διπλό κλικ πάνω στο κουμπί, τότε θα δημιουργηθεί μια κενή μέθοδο στο MainPage.xaml.cs. Μέσα σε αυτή μέθοδο θα γράψουμε το κώδικα που θα εκτελείται όταν πατάμε το κουμπί. -31-

Εικόνα 33: μέθοδος Button 3.3.1 Τo παράθυρο Toolbox Στην αριστερή μεριά του Visual Studio υπάρχει ένα κουμπί που ονομάζεται Toolbox. Όταν πατήσουμε πάνω του εμφανίζεται ένα παράθυρο με όλα τα διαθέσιμα controls τα οποία που μπορούμε να τα βάλουμε μέσα στο grid της σελίδα με ένα απλό drug and drop. Με αυτό το τρόπο γλιτώνουμε γράψιμο αρκετές σειρές κώδικα ΧΑΜL. Εικόνα 34: To παράθυρο Toolbox -32-

3.3.2 Τα εγκατεστημένα templates Τα Templates είναι έτοιμες δομημένες σελίδες, κάθε μια έχει διαφορετική εμφάνιση και τρόπο χρήσης, Ανάλογα με το είδος της εφαρμογής που θέλουμε, μπορούμε να διαλέξουμε αυτό που ταιριάζει πιο πολύ στις ανάγκες μας. Οι επιλογές που διαθέτει το Visual Studio είναι: Εικόνα 35: Τα εγκατεστημένα templates Τα πιο όμορφα και χρηστικά templates είναι το Panorama Page και το Pivot Page με τα οποία μπορούμε να αναπαραστήσουμε μεγάλο όγκο δεδομένων σε μια σελίδα. 3.3.3 Το αρχείο WMAppManifest.xml Το αρχείο WMAppManifest.xml που βρίσκεται στον φάκελο Properties και είναι πολύ σημαντικό. Σε αυτό μπορούμε να ορίσουμε το όνομα της εφαρμογής μας, τον δημιουργό, την περιγραφή της, τα εικονίδια που θα εμφανίζονται στην οθόνη των Windows Phones, την έκδοση και άλλα. Εικόνα 36: WMAppManifest.xml -33-

Εικόνα 37: WMAppManifest.xml 3.4 Eγκατάσταση του Windows Phone SDK 3.4.1 Προδιαγραφές Συστήματος Για την εγκατάσταση του Windows Phone SDK 8.0 το σύστημα θα πρέπει ο υπολογιστής στον οποίο θα εγκατασταθεί να έχει τα παρακάτω χαρακτηριστικά. Συμβατό λειτουργικό σύστημα Windows Vista x86 or x64, with Service Pack 2 (all editions except Starter Edition) Windows 7 x86 or x64 (all editions except Starter Edition) Windows 8 x86 or x64 (all editions except Starter Edition) Windows 8.1 x86 or x64 (all editions except Starter Edition) -34-

Υλικό Installation requires 4 GB of free disk space on the system drive. 3 GB RAM Windows Phone Windows Phone Emulator requires a DirectX 10 or later graphics card with WDDM 1.1 driver and DDI 10 or later. Emulator Windows Phone Emulator requires GPU emulation to support certain scenarios such as profiling application performance, XNA Framework applications, and displaying content in web browser controls. 3.4.2 Διαδικασία εγκατάστασης Το Windows Phone SDK 8.0 έχουμε τη δυνατότητα να το εγκαταστήσουμε είτε με το Visual studio 2013, είτε χωριστά. Για περισσότερες πληροφορίες για την εγκατάσταση του sdk στο http://www.microsoft.com/en-us/download/details.aspx?id=35471-35-

Πρώτα μεταφορτώνουμε το αρχείο από το διαδικτυακό τόπο της Microsoft Εικόνα 38: Microsoft phone sdk Αφού ολοκληρωθεί η μεταφόρτωση του αρχείου εκτελείται το αρχείο WPexpress_full.exe. Στη συνέχεια επιλέγεται το κουμπί Install Εικόνα 39: Microsoft phone sdk area -36-

Η διαδικασία της εγκατάστασης θα διήρκησε περίπου μία ώρα. Αφού ολοκληρωθεί, πάμε στο Visual Studio και επιλέγουμε την διαδρομή Select File- >New Project για την δημιουργία ενός νέου Windows Phone project και εμφανίζονται οι παρακάτω εννέα επιλογές: Windows Phone App Windows Phone Databound App Class Library Windows Phone Panorama App Windows Phone Pivot App Windows Phone XAML and Direct3D App Windows Phone Unit test App Windows Phone HTML5 App Windows Phone Audio Playback Agent Windows Phone Audio streaming Agent Windows Phone Task Scheduler Agent -37-

4 Γλώσσα C# 4.1 Τι είναι η γλώσσα C# Η C# είναι μια σχετικά καινούρια, αντικειμενοστραφής γλώσσα υψηλού επιπέδου που μοιάζει στην C++ και την Java. Αναπτύχθηκε από τη Microsoft με σκοπό να αποτελέσει τη βασική γλώσσα ανάπτυξης των εφαρμογών της. Πριν μεταγλωττιστεί ο κώδικας μας σε γλώσσα μηχανής compiler της δημιουργεί μια ενδιάμεση μορφή κώδικα τη MSIL κάτι σαν το bytecode της Java. Παρέχει άμεση πρόσβαση σε τεράστιες βιβλιοθήκες κλάσεων του.net Framework, που είναι πολύ καλά οργανωμένες σε namespaces και όποτε τις χρειαστούμε μπορούμε να τι ς χρησιμοποιήσουμε γλιτώνοντας αρκετό γράψιμο κώδικα. Ένα απλό παράδειγμα στη γλώσσα C#, που εμφανίζει το μήνυμα Hello World Εικόνα 40: C# -38-

4.1.1 Οι τύποι δεδομένων στη C# Oι αριθμητικοί τύποι της C# Integers (ακέραιοι) Εικόνα 41: Αριθμητικοί τύποι C# Floating point Number (μεταβλητές κινητής υποδιαστολής) Εικόνα 42: Αριθμητικοί τύποι C# Οι μεταβλητές περιέχουν μια τιμή, η οποία μπορεί να αλλάζει κατά την διάρκεια εκτέλεσης του προγράμματος. Αρχικά θα δηλωθεί, δηλ. να επιλέξουμε τον τύπο δεδομένων που θα αποθηκεύει και μετά το όνομα της. Παράδειγμα 1 (Byte): static void Main() byte MyNumber = 254; Console.WriteLine(MyNumber); //Εμφανίζει 254 MyNumber++; // Συν 1 -> 255 Console.WriteLine(MyNumber); //Εμφανίζει 255 MyNumber++; // Συν 1 -> 0 (όριο 255) Console.WriteLine(MyNumber); //Εμφανίζει 0 MyNumber++; // Συν 1 -> 1 Console.WriteLine(MyNumber); //Εμφανίζει 1-39-

Παράδειγμα 2 (int/float): Με Int static void Main() //Σε περίπτωση που Δηλώσουμε 2 ακεραίους INT //Δηλώνουμε 2 ακεραίους INT int A = 10; int B = 3; //διαιρούμε 10/3 int apotelesma = A/B; // Μας εμφανίζει 3 και Οχι 3,333... Console.WriteLine(apotelesma); Με Float static void Main() //Σε περίπτωση που Δηλώσουμε 2 ακεραίους Single //Δηλώνουμε 2 ακεραίους Single ή double ή float Single A = 10; Single B = 3; //διαιρούμε 10/3 Single apotelesma = A/B; // Μας 3,333... Console.WriteLine(apotelesma); Strings & chars String είναι μια σειρά αλφαριθμητικών χαρακτήρων δηλαδή πρόκειται για έναν ειδικό τύπο πίνακα με δεδομένα τύπου char. -40-

Παράδειγμα : static void Main() //το Α = Hello world string A = " Hello world "; //B = με το πρώτο χαρακτήρα της μεταβλητής Α άρα = "H" char B = A[0]; Console.WriteLine(B); // εκτυπώνει στην κονσόλα: H. Console.WriteLine(A); // εκτυπώνει στην κονσόλα: Hello world. //Τώρα το B = με το τρίτο χαρακτήρα της μεταβλητής Α άρα ="l" B=A[2]; Console.WriteLine(B); // εκτυπώνει στην κονσόλα: l. Bool τιμές Ο τύπος bool παίρνει μόνο δύο σταθερές τιμές: true false Παράδειγμα : static void Main() bool CheckNumber; Console.WriteLine("Typose Hello world "); string num = Console.ReadLine(); //εάν η μεταβλητή = Hello world if (num ==" Hello world ") CheckNumber = true; //τότε το checknumber = true else CheckNumber = false; //διαφορετικά checknumber = false Console.WriteLine(CheckNumber); -41-

Var Types Η μεταβλητή δεν είναι άλλο από μια ονομασμένη θέση μνήμης που μπορεί να περιέχει δεδομένα οποιουδήποτε είδους. Με τον τύπο Var δεν χρειάζεται να σκεφτούμε πολύ σκληρά το πώς θα δηλώσουμε την μεταβλητή μας. Η var είναι εύχρηστη, διότι δεν χρειάζεται να αποφασίσετε αν θα χρησιμοποιήσετε System.String ή System.Int32. Ο compiler καθορίζει τον τύπο για μάς. Παράδειγμα : static void Main() var leksi = Hello world ; var Arithmos = 21; var MegArithmo = 219283746253; var dekadiko = 2,19283746253; 4.1.2 Σύμβολα τελεστών Arithmetic(Αριθμητική) + - * / % Logical (Λογική) & ^! ~ && Increment, -- ++ decrement (Αύξηση, μείωση) Shift (Αλλαγή) << >> Relational (Σχεσιακή) ==!= < > <= >= Assignment(εκχώρηση) = += - = *= /= %= &= = ^= <<= >>= Boolean true false 4.2 Αντικειμενοστραφείς ιδιότητες της C# 4.2.1 Κλάσεις και αντικείμενα Οι κλάσεις και τα αντικείμενα είναι οι δυο πιο βασικές οντότητες του αντικειμενοστρεφούς προγραμματισμού. Κλάση είναι ένα αφηρημένο μοντέλο που ορίζει νέους τύπους δεδομένων και περιέχει έναν συνδυ ασμό από ενσωματωμένα δεδομένα,λειτουργίες που μπορούν να εφαρμοστούν στα δεδομένα και ιδιότητες των δεδομένων. -42-

Αντικείμενο η υλοποίηση του αφηρημένου μοντέλου μιας κλάσης, στην ουσία ένα στιγμιότυπο της κλάσης. Αφού είδαμε τους ορισμούς της κλάσης και του αντικειμένου, στην συνέχεια θα κάνουμε ένα παράδειγμα υλοποίησης τους στη C#. Έστω λοιπόν πως θέλουμε να φτιάξουμε μια κλάση για έναν μαθητή. Στο πρόγραμμα μας θέλουμε να κρατάμε το επώνυμο όνομα του και την ηλικία του: class person public string LastName; public string FirstName; public int Age; H δήλωση της κλάσης student γίνεται ως εξής γράφουμε τη λέξη class, το όνομα της κλάσης και τις αγγύλες. Μέσα στις αγκύλες υλοποιείται η κλάση. Μέχρι τώρα έχουμε δημιουργήσει μόνο τη κλάση. Πάμε να δούμε μέσα από ένα παράδειγμα πως θα δημιουργήσουμε τα αντικείμενα S1 και S2 καi πως θα ορίσουμε τις τιμές των ιδιοτήτων. static void Main(string[] args) //δημιουργία αντικειμένων τύπου Student Person S1 = new Person (); Person S2 = new Person (); // Ορισμός τιμών για τις ιδιότητες τον S1 S1.LastName="Eleutheriou "; S1.FirstName="Vasilis"; S1.Age = 23; // Ορισμός τιμών για τις ιδιότητες τoυ S2 S2.LastName="Gini"; S2.FirstName="Giannis"; S2.Age = 20; // εκτύπωση της ηλικίας τους Console.WriteLine ("hlikia του 1ou ma8ith = 0, hlikia του 2ou ma8ith = 1", S1.Age, S2.Age); Console.ReadLine(); Στην Main φτιάχνουμε 2 αντικείμενα του τύπου Student.Μετά δίνουμε τιμές στις μεταβλητές για τα αντικείμενα S1 και S2. Στο τέλος εκτυπώνουμε μερικές τιμές στην κονσόλα. Όταν δημιουργούμε το αντικείμενο S1 και S2, ο compiler της C# δεσμεύει χώρο για τις 6 μεταβλητές της κλάσης student, για να αποθηκεύσει τις τιμές. -43-

4.2.2 Κληρονομικότητα Τα αντικείμενα τείνουν να δομούνται βασισμένα σε άλλα αντικείμενα. Όταν δημιουργείται ένα νέο αντικείμενο (μέσα από μια κλάση), ουσιαστικά ορίζονται οι ιδιότητες που το κάνουν ξεχωριστό από τα υπόλοιπα αντικείμενα. Εξαιτίας της ομοιότητας πολλών αντικειμένων υπάρχει ένας μηχανισμός για τη μεταφορά των ιδιοτήτων κάποιων αντικειμένων σε άλλα αντικείμενα έτσι ώστε να αποφεύγεται ο άσκοπος ορισμός των χαρακτηριστικών σε κάθε αντικείμενο ξεχωριστά, αλλά και για να υπάρχει μια νοητή συγγένεια μεταξύ των αντικειμένων. Αυτός ο μηχανισμός καλείται κληρονομικότητα. Η κληρονομικότητα επιτρέπει στους προγραμματιστές την επαναχρησιμοποίηση των ορισμών δομών που έχουν οριστεί στο παρελθόν, μειώνοντας έτσι την εργασία κατά την ανάπτυξη προγραμμάτων. Εικόνα 43: Κληρονομικότητα -44-

5 Η δηλωτική γλώσσα Xaml & Xml 5.1 Εισαγωγή στην Xaml Η XAML είναι μία δηλωτική γλώσσα που βασίζεται στην XML και ορίζει αντικείμενα καθώς και τις παραμέτρους τους, στην XML. Προφέρεται «ζάμελ». Η ονομασία της προέρχεται από το ακρωνύμιο Extensible Application Markup Language. Με την xaml μπορούμε να περιγράψουμε το περιβάλλον διεπαφής (user interface) σε εφαρμογές Windows 8,Windows Phone, Windows Presentation Foundation, Silverlight, δηλαδή δημιουργούμε αυτό που βλέπει ο χρήστης, τα διάφορα buttons, εικόνες, κτλ. Η XAML εστιάζει στο σχεδιασμό του User Interface και είναι ξεχωριστή από το code ehind της εφαρμογής. Η XAML χρησιμοποιήθηκε για τα Windows, αλλά η Μicrosoft έχει βάλει σκοπό να τη μεταφέρει σε όλες τις πλατφόρμες καθώς και συσκευές τις. 5.1.1 Τα namespaces της XAML Ενα namespace καθορίζει τον τρόπο με τον οποίο ερμηνεύονται τα string tokens που αναφέρονται σε προγραμματιστικές οντότητες. Ένα συγκεκριμένο XAML namespace που δηλώνεται σχεδόν σε κάθε Windows Phone XAML αρχείο είναι το XAML namespace για τα στοιχεία που ορίζονται από τη γλώσσα XAML. Τη XAML την χρησιμοποιείουμε για τη δήλωση των αντικειμένων, των ιδιοτήτων του namespace, καθώς και των σχέσεων τους. Ένα XAML αρχείο δηλώνει ένα προεπιλεγμένο XAML namespace το οποίο καθορίζει ποιά στοιχεία θα πάρουν πρόθεμα και ποιά όχι. Αν ένα στοιχείο ανήκει στο προεπιλεγμένο XAML namespace δεν χρειάζεται να πάρει πρόθεμα. Το x: πρόθεμα περιέχει αρκετές δομές προγραμματισμού που χρησιμοποιούνται συχνά σε μια Windows Phone XAML. Τα παρακάτω είναι οι πιο κοινές μορφές στις οποίες χρησιμοποιείται το πρόθεμα x: x:key: Ορίζει ένα μοναδικό καθορισμένο από το χρήστη κλειδί για κάθε πόρο σε ένα ResourceDictionary. Το Key χρησιμοποιείται ως όρισμα για την επέκταση StaticResource για την ανάκτηση οποιωνδήποτε τέτοιων πόρων από μια άλλη χρήση της XAML. -45-

x:class: Καθορίζει το CLR namespace και το όνομα της κλάσης για την κλάση που παρέχει τον κώδικα πίσω από μια σελίδα XAML, και ονομάζει την κλάση που δημιουργείται ή συνδέεται με την ενέργεια Build του μεταγλωττιστή της XAML μέσα από το μοντέλο Windows Phone εφαρμογών. Πρέπει να υπάρχει μια τέτοια κλάση που να υποστηρίζει τον κώδικα πίσω, ή το ξεκίνημα ως RootVisual. x:name: Καθορίζει το όνομα ενός run-time αντικειμένου για το στιγμιότυπο το οποίο υπάρχει στον κώδικα χρόνου εκτέλεσης εφόσον ένα στοιχείο που έχει καθοριστεί από τη XAML προσπελάζεται. Μπορεί να χρησιμοποιηθεί το x:name για την ονομασία στοιχείων σε περιπτώσεις κατά τις οποίες η πιο βολική ιδιότητα Framework Element Name δεν υποστηρίζεται. Παράδειγμα : Παρακάτω θα δούμε ένα παράδειγμα της γλώσσας XAML που δημιουργεί ένα κουμπί (Button) <Grid x:name="contentpanel" Grid.Row="1" Margin="12,0,12,0"> <Button Content="Button" HorizontalAlignment="Left" Margin="88,161,0,0" VerticalAlignment="Top" Height="162" Width="286"/> </Grid> Το αποτέλεσμα θα είναι: Εικόνα 44: Xaml -46-

5.1.2 Δήλωση αντικειμένων Οι δήλωση των αντικειμένων μπορεί να γίνει με τους εξής τρεις τρόπους: Δήλωση ενός αντικειμένου με χρήση της object element syntax Στην object element syntax γίνεται με το άνοιγμα και το κλείσιμο ετικετών και ανάμεσα μπαίνει το όνομα του αντικειμένου.. Παράδειγμα το αντικείμενο TextBlock: < TextBlock > </ TextBlock > Ένας άλλος τρόπος για τη δήλωση του αντικειμένου μπορεί να γίνει ως εξής: <TextBlock/> Επίσης μπορεί να χρειαστεί να βάλουμε κάποια αντικείμενα μέσα σε άλλα όπως φαίνεται παρακάτω: <StackPanel> < TextBlock > </ TextBlock > </StackPanel> Δήλωση ενός αντικειμένου με χρήση της attribute syntax Στη attribute syntax η δήλωση ενός αντικειμένου γίνεται χρησιμοποιώντας μια ενσωματωμένη τιμή συμβολοσειράς. Δήλωση ενός αντικειμένου με χρήση Initialization text (Αρχικοποίηση κειμένου) Στην Initialization text μπορεί να γίνει δήλωση αντικειμένων, με τη χρήση ενός κειμένου που εμπεριέχει αρχικές τιμές που σχετίζονται για την κατασκευή τους. -47-

5.2 Extensible Markup Language (XML) 5.2.1 H γλωσσά XML Όπως αναφέραμε και στο παραπάνω κεφάλαιο η δηλωτική γλώσσα XAML βασίζεται στην XML. Η γλώσσα Extensible Markup Language (XML) είναι η τυπική γλώσσα περιγραφής και παροχής δεδομένων στο Web, ακριβώς όπως η Hypertext Markup Language (HTML) είναι η τυπική γλώσσα δημιουργίας και εμφάνισης ιστοσελίδων. Η Microsoft Access παρέχει τρόπους τόσο για την εισαγωγή και εξαγωγή δεδομένων XML όσο και για τη μετατροπή δεδομένων προς και από άλλες μορφές, με τη χρήση αρχείων που σχετίζονται με την XML. Η μετακίνηση πληροφοριών μέσω του Internet και μεταξύ εφαρμογών λογισμικού ήταν πάντοτε δύσκολη, λόγω των διαφορών μεταξύ των μορφών δεδομένων και των ιδιόκτητων δομών. Η XML καθορίζει τα δεδομένα και περιγράφει τον τρόπο με τον ο- ποίο πρέπει να είναι δομημένα. Η XML είναι μια μορφή ανταλλαγής δεδομένων από την άποψη ότι δίνει τη δυνατότητα ανταλλαγής δεδομένων μεταξύ ανόμοιων συστημάτων ή εφαρμογών. Επίσης διαχωρίζει τα δεδομένα από την παρουσίαση, ώστε τα ίδια δεδομένα XML να μπορούν να παρουσιαστούν με πολλούς τρόπους μέσω της χρήσης διαφορετικών αρχείων παρουσίασης. Η XML είναι ένα πρωτόκολλο βασισμένο σε πρότυπα το οποίο διέπεται από το World Wide Web Consortium (W3C). Το πρωτόκολλο XML είναι ένα σύνολο κανόνων, κατευθυντήριων οδηγιών και συμβάσεων για τη σχεδίαση μορφών και δομών δεδομένων, με τρόπο τέτοιο που παράγει αρχεία με δυνατότητα εύκολης δημιουργίας και ανάγνωσης από διαφορετικούς υπολογιστές και εφαρμογές. Επιπλέον, οι δομές που καθορίζει το XML δεν είναι διφορούμενες. Αυτό σημαίνει ότι αυτοπεριγράφονται και δεν εξαρτώνται από πλατφόρμες. Όπως η HTML, η XML χρησιμοποιεί ετικέτες και χαρακτηριστικά, αλλά, ενώ η HTML καθορίζει τι σημαίνει η κάθε ετικέτα και το κάθε χαρακτηριστικό (και συνεπώς πώς θα εμφανίζονται τα δεδομένα που βρίσκονται ανάμεσά τους σε ένα πρόγραμμα περιήγησης), η XML χρησιμοποιεί τις ετικέτες μόνο για να ο- ριοθετήσει τμήματα δεδομένων και εναποθέτει την πλήρη μετάφραση των δεδομένων στην εφαρμογή που τα διαβάζει. -48-

5.2.2 Τι πρέπει να έχει ένα XML αρχείο Ένα XML αρχείο θα πρέπει να έχει τα εξής χαρακτηριστικά : Να έχουν επέκταση αρχείου.xml. Να ορίζουν τα δεδομένα με μια δομημένη μορφή, σύμφωνα με το εξής στυλ : <tag> δεδομένα </tag>. Να μεταφέρονται από τον Web server στον Web client μέσω του πρωτοκόλλου HTTP. Να μπορούν να δημιουργηθούν μ' έναν κειμενογράφο ή μ' έναν XML επεξεργαστή. Να αποτελούν απαραίτητο στοιχείο μιας XML εφαρμογής, η οποία περιλαμβάνει επιπλέον ένα προαιρετικό DTD, έναν XML αναλυτή (parser) και μια λογική παρουσίασης/επεξεργασίας. Παράδειγμα : <?xml version="1.0" encoding="utf-8"?> <estiatoria> <name> 63ο Μεζεδοσχολείον </ name > <address>χατζημιχάλη Νταλιάνη 63,Χανιά</address> </ estiatoria > -49-

6 Περιγραφή της εφαρμογής «Chania Advisor» 6.1 Εισαγωγή Η εφαρμογή Chania Advisor είναι ένας ταξιδιωτικός οδηγός όπου αφορά τη πόλη την οποία κατάγομαι, τα Χανιά Κρήτης. Ο οποιοσδήποτε έχοντας μια έξυπνη συσκευή τηλεφώνου Windows Phone σε έκδοση 8.0 είτε 8.1, κατεβάζοντας και χρησιμοποιώντας την εφαρμογή, θα μπορεί να βρει βασικές πληροφορίες της πόλης (όπως την ιστορία της, τηλέφωνα και τρόπος μεταφοράς). Μέρη διασκέδασης (café bar, εστιατόρια, με πληροφορίες για το καθ ένα και τηλέφωνα επικοινωνίας). Επίσης, μπορεί να πληροφορηθεί για τις παραλίες του νομού Χανίων με αναλυτική καθοδήγηση για το που βρίσκεται η καθεμία, όπως επίσης ιστορικά μνημεία, μουσεία και διάφορα άλλα αξιοθέατα. Τέλος, με τη βοήθεια του Nokia maps θα μπορεί εντοπίζει την τοποθεσία στην ο- ποία βρίσκεται μέσω παγκοσμίου συστήματος θέσης (GPS) και μέσω επικοινωνίας ε- φαρμογών να πλοηγηθεί στον προορισμό της επιλογής του. Για την ανάπτυξη της εφαρμογής χρησιμοποιήθηκε το Visual Studio 2013, Windows Phone SDK, η γλώσσα προγραμματισμού C-Sharp (C#), η δηλωτική γλώσσα XAML και XML για την ανάκτηση των δεδομένων της. Παρακάτω θα δούμε αναλυτικά την υλοποίηση της εφαρμογής. -50-

6.2 Φόρτωση εφαρμογής Όταν πατήσουμε να ξεκινήσει η εφαρμογή, για να καλύψουμε τον χρόνο που χρειάζεται για να ανακτηθούν τα δεδομένα απεικονίζουμε στον χρήστη μπάρα φόρτωσης. Εικόνα 45: Φόρτωση εφαρμογής 6.2.1 Ο κώδικας όπου τρέχει στην MainPage.xaml.cs: public partial class MainPage : PhoneApplicationPage private Popup popup; private BackgroundWorker backgroungworker; private List<string> chania_cat = new List<string>(); private List<Chaniasmall> chania_cat1 = new List<Chaniasmall>(); private List<Chaniasmall> chania_near1 = new List<Chaniasmall>(); private List<Chaniasmall> chania_near = new List<Chaniasmall>(); public MainPage() InitializeComponent(); DataContext = App.ViewModel; this.loaded += MainPage_Loaded; ShowPopup(); private void ShowPopup() this.popup = new Popup(); this.popup.child = new PopUpUserControl(); this.popup.isopen = true; StartLoadingData(); private void StartLoadingData() backgroungworker = new BackgroundWorker(); backgroungworker.dowork += new DoWorkEventHandler(backroungWorker_DoWork); -51-

backgroungworker.runworkercompleted += new RunWorkerCompletedEventHandler(backroungWorker_RunWorkerCompleted); backgroungworker.runworkerasync(); void backroungworker_runworkercompleted(object sender,runworkercompletedeventargs e) this.dispatcher.begininvoke (() => this.popup.isopen = false; ); void backroungworker_dowork(object sender, DoWorkEventArgs e) Thread.Sleep(3000); 6.3 Πρώτη σελίδα εφαρμογής Στην συνέχεια δημιουργήσαμε την πρώτη σελίδα σε Panorama Page, με Panorama Items Χανιά και Εξερεύνηση. Στην κατηγορία Χανιά εμπεριέχεται γρήγορη αναζήτηση, επιλέγοντας στο «Τί;» την κατηγορία που θέλουμε και από κάτω τον προορισμό. Πατώντας το κουμπί «Οδήγηση» θα μεταβούμε αυτόματα σε προεγκατεστημένη εφαρμογή πλοήγησης της συσκευής (ApptoAppCommunication),, όπου εκεί έχουμε τη δυνατότητα να πλοηγηθούμε στο σημείο που επιλέξαμε. Listbox Τί; Εικόνα 46: Πρώτη σελίδα Εικόνα 47: Listbox1 Εικόνα 48: Listbox2-52-