Σνκέαο Λνγηθνύ ησλ Τπνινγηζηώλ

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Σνκέαο Λνγηθνύ ησλ Τπνινγηζηώλ"

Transcript

1 ΠΑΝΔΠΗΣΖΜΗΟ ΠΑΣΡΩΝ Σκήκα Μεραληθώλ Ζιεθηξνληθώλ Τπνινγηζηώλ & Πιεξνθνξηθήο Σνκέαο Λνγηθνύ ησλ Τπνινγηζηώλ Πξνπηπρηαθή Γηπισκαηηθή Δξγαζία κε ηίηιν «Παξνπζίαζε θαη αμηνιόγεζε πξντόλησλ θαη ππεξεζηώλ κε ρξήζε ηερληθώλ επαπμεκέλεο πξαγκαηηθόηεηαο κέζσ θηλεηώλ ζπζθεπώλ» Σεο θνηηήηξηαο Δπαγγειίαο Κεξακά Αξηζκόο κεηξώνπ Δπηβιέπσλ Καζεγεηήο Γαξνθαιάθεο Ησάλλεο Πάηξα, Μάξηηνο 2013

2

3 ΠΑΝΔΠΗΣΖΜΗΟ ΠΑΣΡΩΝ Σκήκα Μεραληθώλ Ζιεθηξνληθώλ Τπνινγηζηώλ & Πιεξνθνξηθήο Σνκέαο Λνγηθνύ ησλ Τπνινγηζηώλ Πξνπηπρηαθή Γηπισκαηηθή Δξγαζία κε ηίηιν «Παποςσίαση και αξιολόγηση πποϊόντων και ςπηπεσιών με σπήση τεσνικών επαςξημένηρ ππαγματικότηταρ μέσω κινητών σςσκεςών» Σεο πξνπηπρηαθήο θνηηήηξηαο Δπαγγειίαο Κεξακά Αξηζκόο κεηξώνπ Δπηβιέπσλ Καζεγεηήο Γαξνθαιάθεο Ησάλλεο Γηκειήο εμεηαζηηθή επηηξνπή: 1. Γαξνθαιάθεο Ησάλλεο 2. Υαηδειπγεξνύδεο Ησάλλεο Ζ παξνύζα δηπισκαηηθή εξγαζία εγθξίλεηαη από ηελ Δμεηαζηηθή επηηξνπή Πάηξα, 21/3/2013 Τπνγξαθή-έο

4 Φηάλνληαο ζην ηέινο ηεο εθπόλεζεο απηήο ηεο δηπισκαηηθήο εξγαζίαο έρσ ηελ αλάγθε λα επραξηζηήζσ ζεξκά ηνλ επηβιέπνληα θαζεγεηή θ. Γαξνθαιάθε Η. θαη ηελ νκάδα ησλ δηδαθηνξηθώλ ηνπ, Α.Κνκλελό, Σ. Besarat, Θ. Πιέζζα, γηα ηελ ζπλερή θαζνδήγεζε θαη ηηο πξσηνπόξεο ηδέεο ηνπο. Αθόκε ζέισ λα ζπγραξώ θαη λα εθθξάζσ ηελ εθηίκεζή κνπ ζηελ νηθνγέλεηα θαη ηνπο θίινπο κνπ γηα ηηο πηεζκέλεο πεξηόδνπο πνπ ζηάζεθαλ δίπια κνπ.

5 Πίλαθαο Πεξηερνκέλσλ 1. Έμππλεο ζπζθεπέο θαη επαπμεκέλε πξαγκαηηθόηεηα Δηζαγσγή Ζ ηζηνξία ηεο θηλεηήο ηειεθσλίαο Ση είλαη ηα έμππλα ηειέθσλα Δηζαγσγή ζην Android mobile OS θαη ζηελ Δπαπμεκέλε Πξαγκαηηθόηεηα Πινήγεζε ζηα θεθάιαηα ηεο εξγαζίαο Λεηηνπξγηθά πζηήκαηα Android θαη Δπαπμεκέλε Πξαγκαηηθόηεηα Δηζαγσγή Λεηηνπξγηθά ζπζηήκαηα έμππλσλ θηλεηώλ ηειεθώλσλ Android ios Symbian BlackBerry OS Bada Windows Phone webos Μεξίδην ζηελ αγνξά βάζε ηνπ ιεηηνπξγηθνύ ζπζηήκαηνο Ση είλαη ην Android Δθδόζεηο θαη ραξαθηεξηζηηθά Αξρηηεθηνληθή ηνπ Android Ππξήλαο ησλ Linux Android Runtime Βηβιηνζήθεο Application Framework Δθαξκνγέο Ση είλαη ε Δπαπμεκέλε Πξαγκαηηθόηεηα Δθαξκνγέο ηεο Δπαπμεκέλεο Πξαγκαηηθόηεηαο ζηελ θαζεκεξηλόηεηα Αλάιπζε θαη ζρεδηαζκόο ζπζηήκαηνο Δηζαγσγή Αλάιπζε πιεξνθνξηαθνύ ζπζηήκαηνο ρεδηαζκόο αλάπηπμεο ελόο θύθινπ δσήο ηεο εθαξκνγήο Τινπνίεζε ζε Android κε ρξήζε ηεο αξρηηεθηνληθήο Vuforia Δηζαγσγή Σερλνινγίεο θαη πεξηβάιινληα πνπ ζα ρξεζηκνπνηεζνύλ γηα ηελ αλάπηπμε ηεο εθαξκνγήο Πεξηβάιινλ αλάπηπμεο εθαξκνγώλ Android (development environment) Πεξηβάιινλ αλάπηπμεο ιεηηνπξγηώλ Δπαπμεκέλεο Πξαγκαηηθόηεηαο OpenGL ES Cygwin Environment Blender Gimp Foursquare Κύθινο δσήο Android Activity Κύθινο δσήο gl thread...40

6 4.5 Δθηέιεζε ελόο θύθινπ δσήο ηεο εθαξκνγήο «πάζε ην ζεξκόκεηξν!» oncreate() onresume() onpause() ondestroy() Πξνεηνηκαζία αξρείσλ πόξσλ πνπ ρξεζηκνπνηνύληαη ζηελ εθαξκνγή Targets Θεξκόκεηξν Textures Μειέηε πεξίπησζεο ηεο ρξήζεο ηεο εθαξκνγήο Δηζαγσγή Πεξηγξαθή πεηξάκαηνο Αλάιπζε απνηειεζκάησλ πεηξάκαηνο πκπεξάζκαηα θαη βειηηώζεηο 71

7 Πίλαθαο ρεκάησλ & Εηθόλσλ 1.1 Σν 1ν θηλεηό ηειέθσλν Δμέιημε ησλ θηλεηώλ ζπζθεπώλ Smartphones θαη εθαξκνγέο Δπαπμεκέλε πξαγκαηηθόηεηα θαη Android mobile OS H εμέιημε ηνπ Android ζηελ αγνξά πζθεπέο κε ios Σειεπηαίν κνληέιν κε Symbian OS H πιαηθόξκα ηεο Blackberry Αξρηηεθηoληθή Bada Windows Phone webos Παγθόζκηεο πσιήζεηο Smartphone Παγθόζκηνο ράξηεο γηα ηελ ρξήζε ησλ mobile OS logo ηνπ Android Δηαηξείεο ηεο Open Handset Alliance Δθδόζεηο ηνπ Android ζην Googleplex Από ηελ έθδνζε C ζηελ J Cupcake Donut Éclair Froyo Gingerbread HoneyComb Ice Cream Sandwich Jelly Beans Key Lime Pie Παγθόζκηα θαηαλνκή εθδόζεσλ Android Αξρηηεθηνληθή Android Android Market Δπαπμεκέλε Πξαγκαηηθόηεηα Πξνζρέδην ηνπ Splash screen Γηάγξακκα ξνήο εθαξκνγήο Πξνζρέδην πινπνίεζεο Android development environment Android SDK Eclipse IDE Πεξηβάιινλ ηνπ Eclipse πνπ εξγαζηήθακε JVM αξρηηεθηνληθή Java Development Kit Android NDK πλδηαζκό 2d γηα 3d παξνπζίαζε Android -NDK -OpenGL ES Γηάγξακκα ξνήο ηνπ Vuforia AR SDK ζε πεξηβάιινλ εθαξκνγήο... 36

8 4.11 To logo ηνπ Blender & έλα κνληέιν ηνπ Wilber Ζ καζθόη ηνπ Gimp Foursquare Απινπνηεκέλε αλαπαξάζηαζε ηνπ θύθινπ δσήο ελόο Activity ζε κνξθή ππξακίδαο Image Targets Image Targets Δηθνλίδην εθαξκνγήο Splash Screen ICS logo Target Manager target target κε ζεκεία «θιεηδηά» παξάζπξν εθθίλεζεο ηνπ blender Θεξκόκεηξν ζε User Perspective καθξηλό θαη θνληηλό πιάλν εθηέιεζε ηνπ obj2opengl.pl ζε cmd εκαδεκέλν ζεξκόκεηξν ζηηο «ξαθέο» Αλάπηπγκα ζεξκόκεηξνπ Παξάζπξν εθθίλεζεο ηνπ Gimp Layer αλαπηύγκαηνο ζεξκόκεηξν ζην Gimp Layer γηα ηκήκαηα κεγάιεο ζθαίξαο Layer γηα κηθξή ζθαίξα Layer γηα θύιηλδξν κε βαζκνινγία 1/ Layer γηα θύιηλδξν κε βαζκνινγία 2/ Layer γηα θύιηλδξν κε βαζκνινγία 3/ Layer γηα θύιηλδξν κε βαζκνινγία 4/ Layer γηα θύιηλδξν κε βαζκνινγία 5/ texture γηα ηελ θαηεγνξία 5/ δεκηνπξγία material Απνηέιεζκα Rendering Δθηέιεζε εθαξκνγήο Δκπεηξία ζπκκεηερόλησλ ζε Social media ρνιηαζκόο ηεο εθαξκνγήο καο Αμηνιόγεζε ηεο εθαξκνγήο Γηάγξακκα γηα ζύγθξηζε βαζκνινγηώλ πξνο ηηο θαθεηέξηεο κε θαη ρσξίο ρξήζε ηνπ ζεξκ Βειηησκέλν ζεξκόκεηξν κε δηαθάλεηα θαη αληαλάθιαζε 71 1

9 Κεθάλαιο 1 Έξςπνερ ζςζκεςέρ και επαςξημένη ππαγμαηικόηηηα Εηζαγσγή Σα θηλεηά ηειέθσλα θαηαιακβάλνπλ ηε πξσηηά ζηνλ θαηάηαμε ησλ ειεθηξνληθώλ ζπζθεπώλ αθήλνληαο πίζσ ηηο ηειενξάζεηο θαη ηνπο πξνζσπηθνύο ππνινγηζηέο. ύκθσλα κε ζηνηρεία πνπ αλαθνίλσζε ε Γηεζλήο Έλσζε Σειεπηθνηλσληώλ (ITU) ζην ηέινο ηνπ 2012 ππήξραλ 6 δηο ελεξγά θηλεηά ηειέθσλα ελώ ζε δήισζε ηεο ε Silicon India αλέθεξε πσο ζα θηάζνπλ ηα 7.3 δηο ην Σα έμππλα ηειέθσλα απνηεινύλ ηελ λέα κόδα θαη ρξόλν κε ηνλ ρξόλν θεξδίδνπλ πεξηζζόηεξνπο ζαπκαζηέο. εκαληηθό ξόιν ζηελ επηινγή ελόο έμππλνπ ηειεθώλνπ παίδεη ην ιεηηνπξγηθό ζύζηεκά ηνπ. Οη δπλαηόηεηεο πνπ πξνζθέξνπλ ηα smartphones ζπλερώο απμάλνληαη δίλνληαο πιένλ ζηνλ ρξήζηε ηελ επθαηξία λα βηώζεη εκπεηξίεο πνπ ζην παξειζόλ αλήθαλ κόλν ζε ζελάξηα επηζηεκνληθήο θαληαζίαο. ηελ εξγαζία απηή εθκεηαιιεπόκαζηε ηηο λέεο ηερλνινγίεο ηεο επαπμεκέλεο πξαγκαηηθόηεηαο θαη παξνπζηάδνπκε ηηο εθαξκνγέο απηώλ κε κία πινπνίεζε. Η ηζηνξία ηεο θηλεηήο ηειεθσλίαο Ζ πεξηπέηεηα ηεο θηλεηήο ηειεθσλίαο μεθίλεζε ακέζσο κεηά ηνλ Β' Παγθόζκην Πόιεκν, κε ηηο πξώηεο πξνζπάζεηεο ησλ νπεδώλ, Φηιαλδώλ θαη Ακεξηθαλώλ. Όκσο, σο ιεμηαξρηθή πξάμε γέλλεζήο ηεο ζεσξείηαη ε 3ε Απξηιίνπ Ήηαλ έλα κνπληό αλνημηάηηθν πξσηλό ζηε Νέα Τόξθε. Ο δόθησξ Μάξηηλ Κνύπεξ ηεο Motorola, πεξπαηώληαο ζ' έλα δξόκν ηεο ακεξηθάληθεο κεγαινύπνιεο ήμεξε όηη έγξαθε ηζηνξία. ηα δπν ηνπ ρέξηα θξαηνύζε κηα ζπζθεπή πνπ έκνηαδε κε θνξεηό αζύξκαην. Δίρε ύςνο 25 εθαηνζηά θαη βάξνο 900 γξακκάξηα. Ήηαλ ην πξώην ζύγρξνλν θηλεηό ηειέθσλν κε ηνλ θσδηθό MotorolaDynaTAC. ρεκάηηζε ηνλ αξηζκό ηνπ βαζηθνύ αληαγσληζηή ηνπ, Σδόει Δλγθει, πνπ δνύιεπε γηα ινγαξηαζκό ηεο Bell Labs. «Γεηα ζνπ Σδν, ζνπ κηιάσ από έλα αιεζηλό θηλεηό ηειέθσλν» ηνπ είπε. «Παξόηη δελ είρακε ηηο θαιύηεξεο ησλ ζρέζεσλ, κνπ ζπκπεξηθέξζεθε πνιύ επγεληθά», δήισζε ρξόληα αξγόηεξα ν Κνύπεξ ζε κηα ζπλέληεπμή ηνπ. Ζ Bell πήξε ηε ξεβάλο ην 1978, θαηαζθεπάδνληαο ην πξώην δνθηκαζηηθό δίθηπν θηλεηήο ηειεθσλίαο, πνπ ήηαλ αλαγθαίν γηα ηελ εμέιημε θαη ηελ εκπνξηθή εθκεηάιιεπζε ηνπ θηλεηνύ. 1.1 Σν 1ν θηλεηό ηειέθσλν Σν πξώην απηνκαηνπνηεκέλν δίθηπν θηλεηήο ηειεθσλίαο ιεηηνύξγεζε ζηηο αξρέο ηεο δεθαεηίαο ηνπ '80 ζηε θαλδηλαβία. Μέρξη ηα ηέιε ηεο δεθαεηίαο ηνπ '80 ηα θηλεηά ηειέθσλα ήηαλ νγθώδε γηα λα κεηαθέξνληαη ζηελ ηζέπε θη έηζη ήηαλ εγθαηεζηεκέλα θπξίσο ζε απηνθίλεηα. Σν πξώην θηλεηό πνπ έιαβε άδεηα έγθξηζεο ήηαλ ην κνληέιν ηεο Motorola DynaTAC8000X. Τπήξμε ε λαπαξρίδα ησλ ιεγόκελσλ θηλεηώλ πξώηεο γεληάο (1G). 1

10 ηελ αξρή ηεο δεθαεηίαο ηνπ '90 άξρηζε ε απνγείσζε ησλ θηλεηώλ ηειεθώλσλ, κε ηελ ςεθηνπνίεζε δηθηύσλ (GSM) θαη ζπζθεπώλ. Σα θηλεηά έγηλαλ κηθξόηεξα ( γξακκάξηα), ρσξνύζαλ ζηελ παιάκε θαη έκπαηλαλ έζησ θαη κε δπζθνιία ζηελ ηζέπε ηνπ ρξήζηε ηνπο. Πεξάζακε έηζη ζηα θηλεηά ηεο δεύηεξεο γεληάο (2G), πνπ παξείραλ θαη άιιεο επθνιίεο, όπσο ηελ απνζηνιή ζύληνκσλ γξαπηώλ κελπκάησλ (SMS) θαη ηε ιήςε θσηνγξαθηώλ. ηηο αξρέο ηνπ 21νπ αηώλα ήιζαλ ηα θηλεηά ηξίηεο γεληάο (3G), κε ηηο απεξηόξηζηεο δπλαηόηεηεο ησλ πνιπκέζσλ. Έρνπλ ηερλνινγία πνπ πξνζθέξεη πνιύ πςειέο ηαρύηεηεο πξόζβαζεο ζηα ηειεπηθνηλσληαθά δίθηπα, κέζσ ηεο ηερλνινγίαο πνπ ρξεζηκνπνηείηαη ζην Internet. Σα θαηλνύξγηα θηλεηά ηειέθσλα ελζσκαηώλνπλ έγρξσκεο νζόλεο, ςεθηαθέο θάκεξεο, κεγάιε κλήκε θαη δπλαηόηεηεο αλαπαξαγσγήο multimedia αξρείσλ, απνζηνιήο θαη ιήςεο κελπκάησλ MMS πνπ απνηειεί ζηελ νπζία ηελ εμέιημε ησλ SMS, θαζώο θαη πνιιά παηρλίδηα. Ωο 4ε γεληά κπνξνύκε λα ζεσξήζνπκε ηα θηλεηά πνπ δηαζέηνπλ νζόλε αθήο πνπ δηαθέξνπλ ηελ πην εμειηγκέλε κέρξη ηώξα ηερλνινγία. Δίλαη κία λέα ηερλνινγία πνπ πξόζθαηα ρξεζηκνπνηήζεθε θαη ε επεμεξγαζία απηώλ ησλ θηλεηώλ ηειεθώλσλ είλαη ππό εμέιημε. Γεληθά όκσο νη ρξήζηεο απηώλ ησλ θηλεηώλ ηειεθώλσλ ζα έρνπλ πνιύ πην γξήγνξε πξόζβαζε ζην Internet, ε νπνία ζα δώζεη κηα δπλακηθή ζηηο εθαξκνγέο ηεο θηλεηήο ηειεθσλίαο, ηόζν ζε ππεξεζίεο (κεηεσξνινγηθέο πξνβιέςεηο, GΡS) όζν θαη ζε πεξηερόκελν (εηδήζεηο, ξαδηόθσλν, παηρλίδηα). Οη επεμεξγαζηέο ηνπο θηάλνπλ πιένλ ην 1GΖz, νη νζόλεο ηνπο- 3 θαη 4 ηληζώλδηαζέηνπλ πςειή πνηόηεηα θαη επθξίλεηα, νη θάκεξεο μεπεξλνύλ ηα 5 Μegapixels, ε ζύλδεζε ζην Γηαδίθηπν γίλεηαη κε θάζε δπλαηό ηξόπν, ε πξόζβαζε ζηηο ηζηνζειίδεο θνηλσληθήο δηθηύσζεο (Facebook θαη Σwitter) έρεη ηα ραξαθηεξηζηηθά ηεο ακεζόηεηαο θαη ηεο ηαρύηεηαο. Απνηειεί ζηελ νπζία θηλεηά ηειέθσλα κε δπλαηόηεηεο ελόο Ζ/Τ. Ζ πξώηε εηαηξία πνπ έθεξε ζην πξνζθήλην θηλεηά 4εο γεληάο 1.2 Δμέιημε ησλ θηλεηώλ ζπζθεπώλ ήηαλ ε Αpple. Ση είλαη ηα έμππλα ηειέθσλα Έλα «έμππλν» ηειέθσλν,γλσζηό κε ηελ νλνκαζία Smartphone, είλαη έλα θηλεηό ηειέθσλν κε πην εμειηγκέλε ππνινγηζηηθή ηζρύο θαη δπλαηόηεηα αλαβάζκηζεο ζε ζρέζε κε έλα κέζν θηλεηό ηειέθσλν. Λόγσ ηνπ δπλαηνύ επεμεξγαζηή,ηνπ ιεηηνπξγηθνύ ζπζηήκαηνο θαη ηελ πιεζώξα εθαξκνγώλ πξνο εγθαηάζηαζε πνπ πξνζθέξεη, ζα ιέγακε πσο απνηειεί έλα κηθξό ππνινγηζηή. Σν 1973,ν Θεόδσξνο Παξαζθεπάθνο θαηνρπξώλεη κε δίπισκα επξεζηηερλίαο ηηο έλλνηεο ηνπ ζπλδπαζκνύ ηεο πιεξνθνξίαο, ηεο επεμεξγαζίαο δεδνκέλσλ θαη ηεο εηθνληθήο αλαπαξάζηαζεο ζηηο νζόλεο ησλ θηλεηώλ ηειεθώλσλ, πεξηγξάθνληαο ηηο πιένλ θνηλέο ελέξγεηεο ηνπ ζήκεξα γηα δηαρείξηζε ηξαπεδηθώλ ινγαξηαζκώλ θαη πιεξσκή ησλ ινγαξηαζκώλ κέζσ ηνπ ηειεθώλνπ. Σα πξώηα smartphones απνηεινύζαλ ην «πάληξεκα» ελόο PDA κε ην ηππηθό θηλεηό ηειέθσλν. Σν θηλεηό ηειέθσλν ρξεζηκνπνηνύηαλ κόλν γηα ηελ πξαγκαηνπνίεζε ηειεθσληθώλ θιήζεσλ θαη ηίπνηα πεξηζζόηεξν, ελώ ν PDA,όπσο ν Palm Pilot, σο θνξεηόο πξνζσπηθόο organizer.ε έλα PDA κπνξνύζαλ λα απνζεθεπηνύλ νη επαθέο, λα εγγξαθεί κία to-do ιίζηα θαη ήηαλ δπλαηόο ν ζπγρξνληζκόο δεδνκέλσλ κε ηνλ ππνινγηζηή. Σειηθά, νη PDA θέξδηζαλ αζύξκαηε ζπλδεζηκόηεηα 2

11 θαη ήηαλ ηθαλνί λα ζηέιλνπλ θαη λα ιακβάλνπλ . ην κεηαμύ, ηα θηλεηά ηειέθσλα θέξδηζαλ θαη απηά δπλαηόηεηα δηαρείξηζεο κελπκάησλ. Όζν ζηνπο PDA πξνζζέηνληαλ ιεηηνπξγίεο θηλεηνύ ηειεθώλνπ, ηα θηλεηά ηειέθσλα εμνπιίδνληαλ κε ιεηηνπξγίεο όρη κόλν ησλ PDA αιιά θαη ησλ ππνινγηζηώλ. Σν απνηέιεζκα πνπ πξνέθπςε είλαη ην έμππλν θηλεηό. Σν πξώην θηλεηό ηειέθσλν ζην νπνίν ελζσκαηώζεθαλ ραξαθηεξηζηηθά ελόο PDA ήηαλ έλα πξσηόηππν ηεο IBM πνπ αλαπηύρζεθε θαη παξνπζηάζηεθε ην 1992 ζηελ έθζεζε ππνινγηζηώλ COMDEX. Γύν ρξόληα αξγόηεξα,ε εηαηξία BellSouth δίλεη ζηελ αγνξά κία αλαλεσκέλε έθδνζή ηνπ, ηε Simon. Ήηαλ ε πξώηε ζπζθεπή ζηελ νπνία κπνξνύκε λα αλαθεξόκαζηε σο smartphone αθόκα θαη αλ ν όξνο δελ είρε αθόκα επηλνεζεί. Δθηόο από ηηο ηειεθσληθέο θιήζεηο, κε ηε Simon κπνξνύζε θάπνηνο λα ζηέιλεη θαη λα ιακβάλεη ηειενκνηνηππία, ειεθηξνληθό ηαρπδξνκείν θαη ζειίδεο κέζσ ηεο νζόλεο αθήο. Πεξηιάκβαλε πνιιέο εθαξκνγέο όπσο address book, εκεξνιόγην appointment scheduler, αξηζκνκεραλή,ξνιόη κε παγθόζκηα ώξα, παηρλίδηα, ειεθηξνληθό ζεκεησκαηάξην θαη δπλαηόηεηα γηα ρεηξόγξαθεο ζεκεηώζεηο. 1.3 Smartphones θαη εθαξκνγέο 3

12 ήκεξα πιένλ έρνπλ πξνζηεζεί νη ιεηηνπξγίεο ησλ θνξεηώλ ζπζθεπώλ αλαπαξαγσγήο ςεθηαθώλ δεδνκέλσλ πξνζδίδνληαο ζηα λεόηεξα έμππλα ηειέθσλα ηελ ηθαλόηεηα απνζήθεπζεο θαη αλαπαξαγσγήο κνπζηθήο, εηθόλσλ, βίληεν, ςεθηαθώλ εγγξάθσλ θα. Απηέο νη πνιύ-ρξεζηηθέο ζπζθεπέο πεξηιακβάλνπλ αθόκα ςεθηαθή θσηνγξαθηθή κεραλή, βίληεν-θάκεξα ηζέπεο, θαη GPS πινεγό. Πνιιά ζύγρξνλα έμππλα ηειέθσλα πεξηιακβάλνπλ κεγάιε νζόλε αθήο πςειήο αλάιπζεο θαη πιήξεο πιεθηξνιόγην QWERTY. Ζ κεγάιε νζόλε πξνζθέξεη επξεία παξνπζίαζε δεδνκέλσλ ελώ ην ζύζηεκα ηεο αθήο δηεπθνιύλεη ηελ επηινγή ζηνηρείσλ, ηελ πιεθηξνιόγεζε θαη ηελ πινήγεζε ζηνλ παγθόζκην ηζηό. Σν QWERTY είλαη ην πην ζπλεζηζκέλν κνληέξλν ζρήκα πιεθηξνινγίνπ γηα ηελ αγγιηθή γιώζζα ζε ππνινγηζηέο, έμππλα θηλεηά θαη γξαθνκεραλέο θαη πήξε ην όλνκά ηνπ από ηα πξώηα έμη πιήθηξα ζηελ πάλσ αξηζηεξή γξακκή ηνπ πιεθηξνινγίνπ. Όια ηα πιήθηξα είλαη ηνπνζεηεκέλα ζηελ επηθάλεηα ηνπ πιεθηξνινγίνπ θαη όρη ζε αιθαβεηηθή ζεηξά καδί κε ηα αξηζκεηηθά λνύκεξα.δπνκέλσο αληηζηνηρεί έλα κόλν πάηεκα γηα ηελ επηινγή ελόο γξάκκαηνο θαη όρη πνιιαπιά όπσο ζηα κέζα θηλεηά ηειέθσλα. Σν πιεθηξνιόγην ζηα smartphones κπνξεί λα είλαη είηε πιηθό,κε πξαγκαηηθά θνπκπηά, είηε ινγηζκηθό πνπ εκθαλίδεηαη ζηελ νζόλε αθήο. Με απηά ηα ραξαθηεξηζηηθά ηα smartphones θαζίζηαληαη πνιύ εύρξεζηα θαη ηαρύηαηα ζηε ρξήζε. Αλάινγα κε ην εγθαηεζηεκέλν chipset,έλα smartphone κπνξεί λα έρεη πξόζβαζε ζε αζύξκαηα δίθηπα κέρξη θαη ηέηαξηεο γεληάο. Σα πεξηζζόηεξα έμππλα θηλεηά κπνξνύλ λα πξνζπειάζνπλ ηνλ Παγθόζκην Ηζηό κε κεγάιεο ηαρύηεηεο ράξε ζηελ αλάπηπμε ησλ δηθηύσλ 3G θαη 4G. Σα έμππλα ηειέθσλα δηαζέηνπλ θπιινκεηξεηέο ηνπ παγθόζκηνπ ηζηνύ κέζσ ησλ νπνίσλ πξνζπειαύλνληαη ηππηθέο αιιά θαη βειηηζηνπνηεκέλεο ηζηνζειίδεο γηα θηλεηά. Μέζσ ηεο ηερλνινγίαο Wi-fi θαη ηεο αζύξκαηεο πξόζβαζεο ζην δηαδίθηπν, ηα έμππλα θηλεηά θαηαθέξλνπλ πςειήο ηαρύηεηαο πξόζβαζε ζε δεδνκέλα. Σα ηειεπηαία ρξόληα, πξαγκαηνπνηείηαη ηαρεία αλάπηπμε ησλ αγνξώλ γηα εθαξκνγέο θηλεηώλ θαη κεγάιε άλζηζε ηνπ ειεθηξνληθνύ εκπνξίνπ απεπζείαο κέζα από ηελ παιάκε ηνπ θαηαλαισηή. Αθόκε,ηα έμππλα ηειέθσλα δίλνπλ ζην ρξήζε ηελ επθαηξία λα βηώζεη έλαλ πξαγκαηηθό θόζκν, ςεθηαθά ληπκέλν. Ζ ρξήζε ηεο επαπμεκέλεο πξαγκαηηθόηεηαο ζηνπο ηνκείο ηεο δηαθήκηζεο, ηεο εθπαίδεπζεο θαη ηεο ηαηξηθήο,έρεη ήδε νδεγήζεη ζε κεγάιε εμέιημή ηνπο. Με όια απηά ηα γεγνλόηα ηα smartphones δελ γίλεηαη παξά λα εηζβάινπλ ζηελ θαζεκεξηλόηεηά καο.[1][2] Εηζαγσγή ζην Android mobile OS θαη ζηελ Επαπμεκέλε Πξαγκαηηθόηεηα ηα έμππλα θηλεηά, ην ιεηηνπξγηθό ζύζηεκα γηα θηλεηέο ζπζθεπέο παίδεη ην ξόιν ηνπ «δηαηηεηή» ησλ πόξσλ. Απηό παξέρεη κία ζπζηεκαηηθή θαη ειεγρόκελε θαηαλνκή ηνπ επεμεξγαζηή,ησλ κλεκώλ θαη ησλ άιισλ ζπζθεπώλ εηζόδνπ/εμόδνπ ζηηο δηάθνξεο εθαξκνγέο, πνπ αληαγσλίδνληαη γηα λα ηηο ρξεζηκνπνηήζνπλ[3]. Σν Android είλαη ην ιεηηνπξγηθό ζύζηεκα γηα θηλεηέο ζπζθεπέο ηεο Google θαη θαηέρεη πιένλ ηελ πξώηε ζέζε ζηελ παγθόζκηα θαηάηαμε. Σν Android βειηηώλεηαη ζπλερώο θαη ε ηειεπηαία έθδνζε πνπ θπθινθόξεζε είλαη ε (11 Φεβξνπαξίνπ ηνπ 2013). Ζ πινπνίεζε ηεο εθαξκνγήο Android γηα απηή ηελ εξγαζία βαζίζηεθε ζηελ έθδνζε ηνπ ιεηηνπξγηθνύ ζπζηήκαηνο. Ζ έλλνηα ηεο επαπμεκέλεο πξαγκαηηθόηεηαο έρεη ηηο ξίδεο ηεο ζηηο αξρέο ηνπ 20 νπ αηώλα (1901) όπνπ ν ζπγγξαθέαο Frank Baum αλαθέξεη γηα πξώηε θνξά ηελ ηδέα κίαο ειεθηξνληθήο 4

13 νζόλεο/γπαιηώλ ζηελ νπνία δεδνκέλα επηθαιύπηνπλ ηελ πξαγκαηηθή δσή. Δμήληα ρξόληα αξγόηεξα ν θηλεκαηνγξαθηζηήο Morton Heilig δεκηνπξγεί θαη «παηεληάξεη» ην Sensorama,έλαλ εμνκνησηή κε εηθνληθά εθέ, ήρν, δόλεζε θαη κπξσδηά [4]. ήκεξα, νη έμππλεο ζπζθεπέο θάλνπλ πξαγκαηηθόηεηα απηή ηελ επαύμεζε πιεξνθνξηώλ, αλ θαη πξνζσξηλά κόλν εηθνληθά. Μέζσ ηεο νζόλεο ηνπ θηλεηνύ καο ν πξαγκαηηθόο θόζκνο πνπ καο πεξηβάιιεη ζπλδπάδεηαη κε ςεθηαθό πεξηερόκελν (πιεξνθνξία ή πνιπκεζηθό πιηθό βίληεν, ήρν ) νινθιεξώλνληαο ηελ εηθόλα πνπ βιέπνπκε θαη γεκίδνληαο ηα θελά ζηηο γλώζεηο καο. Με ηελ επαπμεκέλε πξαγκαηηθόηεηα, δειαδή, εληζρύνπκε ηελ πιεξνθόξεζε θαη ηηο αηζζήζεηο καο. 1.4 Δπαπμεκέλε πξαγκαηηθόηεηα θαη Android Όπσο δειώλεη θαη ν ηίηινο ηεο εξγαζίαο, ζε απηή ηε δηπισκαηηθή ζα αζρνιεζνύκε κε θηλεηά ηειέθσλα λέαο γεληάο θαη κε εθαξκνγέο νη νπνίεο ζα αμηνινγνύλ έλα πξντόλ ή κία ππεξεζία,θαη ζα επηζηξέθνπλ ην απνηέιεζκα κε «επαύμεζε» ηεο πξαγκαηηθόηεηαο ζηελ νζόλε ηνπ ρξήζηε. Σν ιεηηνπξγηθό πνπ επηιέμακε λα αλαπηύμνπκε ηελ εθαξκνγή καο είλαη ην Android θαη ν ιόγνο πνπ καο νδήγεζε ζε απηό εμεγείηαη αλαιπηηθά ζην 3 ν θεθάιαην. Θα πξνζπαζήζνπκε λα παξνπζηάζνπκε ην γεγνλόο όηη ε ηερλνινγία ηεο επαπμεκέλεο πξαγκαηηθόηεηαο βνεζάεη ηνπο ρξήζηεο ηεο εθαξκνγήο λα απνθαζίζνπλ πνηό θαηάζηεκα ζα επηζθεθηνύλ. Ζ εθαξκνγή καο αλαπηύζζεηαη ζπγθεθξηκέλα γηα ηελ παξνπζίαζε θαη ηελ αμηνιόγεζε νξηζκέλσλ θαθεηεξηώλ πνπ είλαη ηνπνζεηεκέλεο ζην θέληξν ηεο Πάηξαο θαη ζαλ κέζν βαζκνιόγεζεο επηζηξέθεη έλα ηξηζδηάζηαην ζεξκόκεηξν. 5

14 Πινήγεζε ζηα θεθάιαηα ηεο εξγαζίαο ε απηό ην θεθάιαην έγηλε αλαθνξά ζηελ δεκηνπξγία ησλ θηλεηώλ ηειεθώλσλ θαη ζηελ εμέιημή ηνπο κέρξη θαη ζήκεξα. Σν πιήζνο θαη νη θαηεγνξίεο ησλ δηαζέζηκσλ εθαξκνγώλ,καδί κε ην πιηθό ησλ ζπζθεπώλ ηα θαζηζηά πιένλ ππνινγηζηέο ηζέπεο,αλαβαζκίδνληάο ηα ζε ζπζθεπέο απαξαίηεηεο γηα ηελ θαζεκεξηλόηεηά καο. ην δεύηεξν θεθάιαην παξνπζηάδνληαη ζπλνπηηθά ηα δεκνθηιέζηεξα ιεηηνπξγηθά ζπζηήκαηα γηα θηλεηέο ζπζθεπέο θαη ε πνξεία ηνπο ζηελ αγνξά ηα ηειεπηαία πέληε ρξόληα. Αθνζησλόκαζηε ζηνλ θπξίαξρν όισλ, ην Android, θαηαγξάθνληαο ηελ αξρηηεθηνληθή θαη ηηο εθδόζεηο ηνπ. Αθόκε,εμεγνύκε αλαιπηηθόηεξα ηελ έλλνηα ηεο επαπμεκέλεο πξαγκαηηθόηεηαο θαη ηηο εθαξκνγέο ηεο ζηνπο δηάθνξνπο ηνκείο. Ζ αλάιπζε θαη ν ζρεδηαζκόο ηνπ πιεξνθνξηαθνύ καο ζπζηήκαηνο θαηαιακβάλεη ην ηξίην θεθάιαην. Δδώ αλαιύνπκε ην πώο θαη ην πνπ ζα ρξεζηκνπνηεζεί ην ζύζηεκα κε βάζε ηελ θαηεγνξία ησλ ρξεζηώλ [5]. Δπίζεο αλαθέξνπκε ην ιόγν πνπ απηό ζα δεκηνπξγεζεί θαη ζέηνπκε ην πιάλν γηα ην πώο ζα θηλεζνύκε γηα ηνλ ζρεδηαζκό ηεο εθαξκνγήο καο. Έρνληαο ζρεδηάζεη ιεπηνκεξώο ηνλ ηξόπν πνπ ζα ιεηηνπξγεί ην ζύζηεκα μεθηλάκε ηελ πινπνίεζε ηεο εθαξκνγήο. Οηηδήπνηε αθνξά ζε απηήλ, από πιεπξά πιηθνύ θαη ινγηζκηθνύ, ζα ην πεξηγξάςνπκε ζην ηέηαξην θεθάιαην. Δίλαη απνξίαο άμην ζε ηη ζπκπεξάζκαηα ζα νδεγεζνύκε αθνύ ην θνηλό δνθηκάζεη ηελ εθαξκνγή καο. Νένη επηζθέπηεο ηεο πόιεο ζα δεηεζνύλ λα επηζθεθηνύλ ηηο θαθεηέξηεο θαη λα καο πνπλ πνηα πξνηηκνύλ. Οη κηζνί ζα βαζηζηνύλ θαη ζηελ εθαξκνγή καο ελώ νη άιινη ζα επηιέμνπλ κε κνλαδηθό γλώκνλα ηελ εκθάληζε ηνπ θαηαζηήκαηνο. ην πέκπην θεθάιαην, ινηπόλ, ζα κειεηήζνπκε ηα πξαγκαηηθά απνηειέζκαηα θαη ζα ηα ζπγθξίλνπκε κε ηα αλακελόκελα. ην ηειεπηαίν απηό θεθάιαην ζα αλαθέξνπκε εθηελώο ηα ζπκπεξάζκαηά καο γηα ηελ ρξεζηκόηεηα ηεο εθαξκνγήο. Απηή είλαη αλεπηπγκέλε ζηα πιαίζηα πξνπηπρηαθήο δηπισκαηηθήο εξγαζίαο θαη θπζηθά επηδέρεηαη βειηηώζεηο. Κιείλνληαο ζα ππάξμνπλ πξνηάζεηο γηα πεξαηηέξσ αλάπηπμε ηεο εθαξκνγήο καο πνπ ζα απεπζύλνληαη ζε επόκελνπο ζπλαδέιθνπο θαη/ή ιάηξεηο ησλ ηερληθώλ ηεο επαπμεκέλεο πξαγκαηηθόηεηαο. 6

15 Κεθάλαιο 2 Λειηοςπγικό Σύζηημα Android και Δπαςξημένη Ππαγμαηικόηηηα Ειζαγωγή Ζ δύλακε ησλ smartphones πεγάδεη ζην πιηθό θαη ζην ινγηζκηθό ηνπο. Πιένλ ην πιηθό κπνξεί λα εθηειέζεη πεξηζζόηεξν απαηηεηηθέο ελέξγεηεο ρσξίο λα αξγεί ζηελ εθθίλεζε θαη ρσξίο λα θνιιάεη θαηά ηελ εθηέιεζε. Αληίζηνηρα ηα λέα ιεηηνπξγηθά ζπζηήκαηα γηα θηλεηέο ζπζθεπέο είλαη ζρεδηαζκέλα ώζηε λα εθκεηαιιεύνληαη ηηο δπλαηόηεηεο ηνπ πιηθνύ θαη λα ηξέρνπλ απξόζθνπηα πνιιέο εθαξκνγέο apps. Με ηελ ππνινγηζηηθή ηζρύο πνπ πιένλ δηαζέηνπλ, ππνζηεξίδνπλ απαηηεηηθέο πξάμεηο αθόκα γηα ηελ ηαπηόρξνλε επεμεξγαζία ησλ frames ηεο θάκεξαο. ην θεθάιαην απηό θάλνπκε κία επηζθόπεζε ζηα mobile Os αιιά κέλνπκε πεξηζζόηεξν ζην ιεηηνπξγηθό Android. Παξαζέηνπκε ηηο εθδόζεηο θαη ηα ραξαθηεξηζηηθά πνπ ην θάλνπλ κνλαδηθό. Αθόκε εμεγνύκε ηελ αξρηηεθηνληθή ηνπ θαη ηέινο αλαθεξόκαζηε ζηελ επαπμεκέλε πξαγκαηηθόηεηα πνπ ηώξα πνηα, κε ηελ αλάπηπμε ηνπ πιηθνύ, κπνξεί λα πξνζθέξεη κνλαδηθέο εκπεηξίεο ζηνλ ρξήζηε ησλ εθαξκνγώλ AR. Λεηηνπξγηθά ζπζηήκαηα έμππλσλ θηλεηώλ ηειεθώλσλ Λεηηνπξγηθό ζύζηεκα είλαη ην ινγηζκηθό πνπ είλαη ππεύζπλν γηα ηελ δηαρείξηζε θαη ηνλ ζπληνληζκό ησλ εξγαζηώλ θαη ηελ θαηαλνκή ησλ δηαζέζηκσλ πόξσλ. Σα mobile OS είλαη ιεηηνπξγηθά ζπζηήκαηα ζρεδηαζκέλα γηα λα ππνζηεξίδνπλ όιεο ηηο ζύγρξνλεο ιεηηνπξγίεο ησλ έμππλσλ θηλεηώλ ηειεθώλσλ, ησλ tablet,ησλ PDA θαη άιισλ ςεθηαθώλ θηλεηώλ ζπζθεπώλ [6]. ηα ιεηηνπξγηθά ζπζηήκαηα πνπ ρξεζηκνπνηνύληαη από ηα ζύγρξνλα smartphones πεξηιακβάλνληαη ην Android ηεο Google, ην ios ηεο Apple, ην Symbian ηεο Nokia,ην BlackBerry OS ηεο RIM, ην Bada ηεο Samsung, ην Windows Phone ηεο Microsoft, ην webos ηεο Hewlett-Packard θαζώο θαη ελζσκαησκέλεο δηαλνκέο ησλ Linux όπσο ε Maemo θαη ε MeeGo. Σέηνηα ιεηηνπξγηθά ζπζηήκαηα κπνξνύλ λα εγθαηαζηαζνύλ ζε πνιιά δηαθνξεηηθά κνληέια θηλεηώλ ηειεθώλσλ θαη ηππηθά θάζε ζπζθεπή κπνξεί λα ιάβεη πνιιαπιέο αλαβαζκίζεηο ηνπ ινγηζκηθνύ θαζ όιε ηε δσή ηεο. ηελ αγνξά αλακέλεηαη λα βγεη ην ιεηηνπξγηθό ζύζηεκα ηεο Mozilla, ην Firefox OS, ην Ubuntu Phone ηεο Canonical Ltd θαη ηέινο ην ιεηηνπξγηθό Tizen ηνπ ηδξύκαηνο Linux. Πεξηιεπηηθά, ζα αλαθεξζνύκε ζε θάπνηα από απηά ηα ιεηηνπξγηθά. 2.1 mobile OS 7

16 Android Σν Android είλαη ζρεδηαζκέλν γηα λα πξνζθέξεη ηε κέγηζηε παξακεηξνπνίεζε ζηα θηλεηά ηειέθσλα, αλάινγα κε ηηο επηζπκίεο καο. Πξνζθέξεη ηελ δπλαηόηεηα λα ρξεζηκνπνηνύκε εμειηγκέλεο ππεξεζίεο ηνπ Γηαδηθηύνπ, όπσο αληαιιαγή κελπκάησλ ειεθηξνληθνύ ηαρπδξνκείνπ, πξόζβαζε ζε ζειίδεο θνηλσληθήο δηθηύσζεο, πινήγεζε ζην Internet θαη θπζηθά ςπραγσγία. Τπόζρεηαη πιεζώξα εθαξκνγώλ πνπ ζα βειηηώζνπλ ηελ εκπεηξία ηεο αλαπαξαγσγήο κνπζηθήο, ηεο δηαρείξηζεο αξρείσλ, ηεο ιήςεο θσηνγξαθηώλ θαη βίληεν αιιά θαη ηεο επηθνηλσλίαο κέζσ SMS, MMS θαη θσλεηηθώλ θιήζεσλ. Σν Android βαζίδεηαη ζηνλ ππξήλα ηνπ ιεηηνπξγηθνύ ζπζηήκαηνο Linux θαη πιένλ αλαπηύζζεηαη από ηελ Open Handset Alliance. Πξόθεηηαη γηα κηα ζύκπξαμε εηαηξεηώλ-θνινζζώλ ζηνλ ηνκέα ηεο ηερλνινγίαο όπσο ε Google, Motorola, HTC, Samsung, LG, Qualcomm, Sprint, ε T-Mobile θαη άιιεο, νη νπνίεο ζηηο 5 Ννέκβξε ηνπ 2007 έθεξαλ ζην θσο ην λέν απηό ιεηηνπξγηθό ζύζηεκα. Ζ Google δεκνζίεπζε ην κεγαιύηεξν κέξνο ηνπ θώδηθα ηνπ Android ππό ηνπο όξνπο ηεο Apache License, κηαο ειεύζεξεο άδεηαο ινγηζκηθνύ, γεγνλόο πνπ επηηξέπεη ζε πιήζνο πξνγξακκαηηζηώλ λα ζρεδηάζνπλ εθαξκνγέο γηα ην ζπγθεθξηκέλν ιεηηνπξγηθό ζύζηεκα κε ηε ρξήζε ηεο γιώζζαο πξνγξακκαηηζκνύ Java. Οη εθαξκνγέο απηέο κπνξνύλ λα ιεθζνύλ ζηα θηλεηά ηειέθσλα κέζσ ηνπ δηθηπαθνύ ηόπνπ Android Market. 2.2 H εμέιημε ηνπ Android ζηελ αγνξά ios Σν ios (γλσζηό θαη σο iphone OS) είλαη ην ιεηηνπξγηθό ζύζηεκα ηεο Apple. Αξρηθά αλαπηύρζεθε γηα ην iphone θαη παξνπζηάζηεθε ζην Macworld Conference & Expo ζηηο 9 Ηαλνπαξίνπ ηνπ Σν ios πξνέξρεηαη από ην Mac OS πνπ ρξεζηκνπνηεί ε Apple ζηνπο ππνινγηζηέο ηεο θαη ζπλεπώο είλαη έλα ιεηηνπξγηθό ζύζηεκα ηύπνπ Unix. Βέβαηα, από ηόηε έρεη επεθηαζεί γηα λα ππνζηεξίμεη θαη άιιεο ζπζθεπέο ηεο Apple όπσο ην ipod touch, ipad θαη Apple TV. Αληίζεηα από ηελ Microsoft θαη ηελ Google,Apple δελ ρνξεγεί άδεηα γηα εγθαηάζηαζε ηνπ ιεηηνπξγηθνύ ζε ηξίηνπο θαηαζθεπαζηέο. 2.3 πζθεπέο κε ios 8

17 Βέβαηα απηό δελ ην θαζηζηά κηθξό παίρηε ζηελ αγνξά. ηηο 12 επηέκβξε ηνπ 2012, ην App Store ηεο Apple πεξηείρε πεξηζζόηεξεο από εθαξκνγέο ios, νη νπνίεο ζπλνιηθά έρνπλ θαηέβεη πάλσ από 30 δηζεθαηνκκύξηα θνξέο. Καηά ην ηειεπηαίν ηξίκελν ηνπ 2012, είρε ην 21% ηνπ κεξηδίσλ ηεο αγνξάο ησλ ιεηηνπξγηθώλ ζπζηεκάησλ γηα smartphone θαη ηελ δεύηεξε ζέζε πίζσ από ην Android ηεο Google [7]. Σν πεξηβάιινλ ηνπ ios είλαη βαζηζκέλν ζηνλ άκεζν θαη άλεην ρεηξηζκό, κε ηε ρξήζε ηεο αθήο. Δλλνείηαη πσο -όπσο θαη ηα πεξηζζόηεξα ιεηηνπξγηθά έηζη θαη ην ios- ππνζηεξίδεη ηε ρξήζε πεξηζζόηεξσλ ζεκείσλ αθήο ( muti-touch ). Απηό πνπ ην ραξαθηεξίδεη είλαη ε άκεζε αληαπόθξηζε θαη ε αδηάθνπηε ιεηηνπξγία ηνπ. Γηαζέηεη εζσηεξηθά επηηαρπλζηόκεηξα, πνπ ρξεζηκνπνηνύληαη από νξηζκέλεο εθαξκνγέο θαη καο βνεζνύλ ζεκαληηθά ζην ρεηξηζκό ηνπ. Σν ios απαηηεί πεξίπνπ 500 MB ρώξνπ απνζήθεπζεο ζηε ζπζθεπή, αλ θαη ην ηειεπηαίν δηαθέξεη ζε θάζε κνληέιν. Symbian OS Σν Symbian αλαπηύρζεθε αξρηθά γηα PDA θαη ηα πξώηα έμππλα ηειέθσλα ηεο εηαηξίαο Psion, ελώ ε δηαρείξηζή ηνπ γηλόηαλ γηα θαηξό από ηελ νκώλπκε θνηλνπξαμία ησλ εηαηξηώλ Ericsson, Motorola, Psion θαη Nokia. ηα ηέιε ηνπ 2008 ε Nokia αλέιαβε απνθιεηζηηθά ην Symbian θαη κεηαβίβαζε ην Symbian OS ζην κε θεξδνζθνπηθό νξγαληζκό Symbian Foundation, κέρξη πνπ ζηα κέζα ηνπ 2010 ην ιεηηνπξγηθό ζύζηεκα κεηαηξάπεθε ζε ινγηζκηθό αλνηρηνύ θώδηθα. πλεπώο, ην Symbian έρεη ζαθώο καθξύηεξε ηζηνξία ζε ζύγθξηζε κε ην ios θαη ην Android. ην Symbian OS έρνπλ βαζηζηεί αξθεηέο πιαηθόξκεο όπσο Nokia Series 60, Series 80, Series 90, UIQ θαη ε FOMA. Ζ πιαηθόξκα S60 είλαη ε πεξηζζόηεξν γλσζηή θαη βξίζθεηαη ζε όια ηα smartphones ηεο Nokia εθηόο από ηα Communicator θαη ην 7710 Touchscreen. Σα πξώηα ππνζηεξίρηεθαλ κε ηελ S80 ελώ ην ηειεπηαίν κε ηελ S90 πιαηθόξκα.h UIQ πξόθεηηαη γηα κία πιαηθόξκα ε νπνία ρξεζηκνπνηείηαη θπξίσο ζηα Smartphones ηεο Sony Ericsson πνπ έρνπλ νζόλε αθήο [8]. Σν ιεηηνπξγηθό ζύζηεκα Symbian ηξέρεη απνθιεηζηηθά ζε ARM επεμεξγαζηέο θαη ρξεζηκνπνηνύληαλ από πνιινύο δηάζεκνπο θαηαζθεπαζηέο θηλεηώλ ηειεθώλσλ όπσο ε Samsung, ε Motorola,ε Sony Ericsson θαη πάλσ απ όιεο από ηελ Nokia. Ήηαλ ην πην δεκνθηιέο ιεηηνπξγηθό ζύζηεκα γηα θηλεηά ζε παγθόζκηα θιίκαθα κέρξη ην 2010,πνπ πήξε ηελ πξσηηά ην Android. H θήκε ηνπ Symbian άλζηζε ράξε ζηελ πιαηθόξκα S60 πνπ έρηηζε ε Nokia, ε νπνία πξσηνθπθινθόξεζε ην 2012 θαη ζηεξίδεη ζρεδόλ θάζε smartphone ηεο Nokia. Σνλ Φεβξνπάξην ηνπ 2011, ε Nokia αλαθνηλώλεη πσο πιένλ ζα ρξεζηκνπνηεί ζαλ πξσηαξρηθή πιαηθόξκα ινγηζκηθνύ ηελ Windows Mobile Os ηεο Microsoft. Σν Nokia 808 PureView ήηαλ θαη επίζεκα ην ηειεπηαίν smartphone κε Symbian ιεηηνπξγηθό [9]. 2.4 Σειεπηαίν κνληέιν κε Symbian OS BlackBerry OS Σν BlackBerry OS είλαη έλα ιεηηνπξγηθό ζύζηεκα γηα ηα θηλεηά Blackberry πνπ αλαπηύρζεθε από ηελ BlackBerry Ltd,γλσζηή θαη σο Research In Motion Limited (RIM). Σν ιεηηνπξγηθό ζύζηεκα παξέρεη multitasking θαη ππνζηεξίδεη ηηο εμεηδηθεπκέλεο ζπζθεπέο εηζόδνπ πνπ έρνπλ πηνζεηεζεί από ηελ RIM γηα ρξήζε απηώλ ζε θνξεηέο ζπζθεπέο ηεο, ζπγθεθξηκέλα ην trackwheel, ην trackball, ην trackpad θαη ηελ νζόλε αθήο. 9

18 Ζ πιαηθόξκα ηεο BlackBerry είλαη ίζσο πεξηζζόηεξν γλσζηή γηα ηελ εγγελή ππνζηήξημή ηεο γηα ηα εηαηξηθά κέζσ MIDP 1.0 θαη (πην πξόζθαηα) κέζσ ηνπ MIDP 2.0, ην νπνίν επηηξέπεη πιήξε αζύξκαηε ελεξγνπνίεζε αιιά θαη ζπγρξνληζκό κε ην Microsoft Exchange, ην Lotus Domino ην Novell GroupWise , ην εκεξνιόγην, ηηο εξγαζίεο, ηηο ζεκεηώζεηο θαη ηηο επαθέο, όηαλ ρξεζηκνπνηείηαη κε ην BlackBerry Enterprise Server. Σν ιεηηνπξγηθό ζύζηεκα ππνζηεξίδεη επηπιένλ ην W.A.P 1.2. Όπσο θαη ζηα πεξηζζόηεξα ιεηηνπξγηθά, έηζη θαη ζην blackberry OS, νη ελεκεξώζεηο γηα ην ιεηηνπξγηθό 2.5 H πιαηθόξκα ηεο Blackberry ζύζηεκα κπνξνύλ λα γίλνπλ θαη over-the-air. Δπίζεο, δίλεηαη ε δπλαηόηεηα ζε ηξίηνπο πξνγξακκαηηζηέο λα γξάςνπλ ινγηζκηθό ρξεζηκνπνηώληαο ηα δηαζέζηκα BlackBerry API [10]. Bada Ζ Samsung αλαπηύζζεη από ηα ηέιε ηνπ 2009 ην δηθό ηεο ιεηηνπξγηθό ζύζηεκα γηα smartphones θαη ππνινγηζηέο tablet,ην νπνίν νλνκάδεη Bada (Ωθεαλόο). Όια ηα έμππλα θηλεηά ηειέθσλα ηεο Samsung κε ιεηηνπξγηθό Bada θπθινθνξνύλ κε ηελ επσλπκία Wave ελώ παξάιιεια όζεο ρξεζηκνπνηνύλ ην ιεηηνπξγηθό Android θέξνπλ ην όλνκα Galaxy. Σν ιεηηνπξγηθό Bada, όπσο ην νξίδεη ε Samsung, δελ είλαη από κόλν ηνπ έλα ιεηηνπξγηθό ζύζηεκα αιιά κία πιαηθόξκα κε αξρηηεθηνληθή παξακεηξνπνηήζηκνπ ππξήλα, ε νπνία επηηξέπεη ηελ ρξήζε είηε ηνπ Linux ππξήλα είηε ελόο ηδηόθηεηνπ real-time-operating-system ππξήλα. Ζ πιαηθόξκα Bada απνηειείηαη από ηέζζεξα επίπεδα,κε θαηώηεξν ην επίπεδν ηνπ ππξήλα. Παξόιεο ηηο πξνηάζεηο, δελ ππάξρεη γλσζηή ζπζθεπή πνπ λα ηξέρεη ηνλ Linux ππξήλα. ην αλώηεξν επίπεδν ζπλαληάκε ηηο ζπλαξηήζεηο ππξήλα όπσο ηηο βηβιηνζήθεο γηα γξαθηθά, πξσηόθνιια,ηειεθσλίαο θαη αζθάιεηαο. Πάλσ από απηό ην επίπεδν γλσζηό σο device layer βξίζθεηαη ην service layer πνπ παξέρεη ραξαθηεξηζηηθά επηθεληξσκέλα ζηηο ππεξεζίεο. Ωο παξαδείγκαηα αλαθέξνπκε ηα SMS,ε ραξηνγξάθεζε θαη ε αγνξά κέζσ εθαξκνγώλ. Γηα ηελ παξνρή απηώλ ησλ 2.6 Αξρηηεθηoληθή Bada ραξαθηεξηζηηθώλ ππάξρεη ν ιεγόκελνο bada Server. Σν αλώηεξν επίπεδν,framework layer, παξέρεη έλα API ζε C++ ζηνπο πξνγξακκαηηζηέο εθαξκνγώλ. Σν Bada παξέρεη πιεζώξα UI ειέγρνπο ζηνπο πξνγξακκαηηζηέο. Παξέρεη αλάκεηθηνπο βαζηθνύο ειέγρνπο δηεπαθήο ρξήζηε όπσο ην Listbox, το Color Picker και το Tab,έρεη ηνλ έιεγρν πξνγξάκκαηνο πεξηήγεζεο ζηνλ Παγθόζκην Ηζηό πνπ βαζίδεηαη ζην αλνηρηνύ θώδηθα WebKit θαη δηαζέηεη Adobe Flash, ππνζηεξίδνληαο ην Flash 9,10 ή 11 ζηελ έθδνζε 2.0. Σόζν ην WebKit θαη ην Flash κπνξνύλ λα ελζσκαησζνύλ κέζα ζε native εθαξκνγέο. To Bada ππνζηεξίδεη API γηα OpenGL ES 2.0 3D γξαθηθά θαη πξνζθέξεη δηαδξαζηηθή ραξηνγξάθεζε κε ραξαθηεξηζηηθά ζεκείνπ ελδηαθέξνληνο ηα νπνία κπνξνύλ επίζεο λα ελζσκαησζνύλ ζην εζσηεξηθό native εθαξκνγώλ. Τπνζηεξίδεη pinch-to-zoom, πεξηήγεζε κε θαξηέιεο θαη ιεηηνπξγίεο απνθνπήο, αληηγξαθήο θαη επηθόιιεζεο. Σν Bada ππνζηεξίδεη πνιινύο κεραληζκνύο γηα λα εληζρύζεη ηελ αιιειεπίδξαζε, πνπ κπνξνύλ λα ελζσκαησζνύλ ζε εθαξκνγέο. Απηέο πεξηιακβάλνπλ δηάθνξνπο αηζζεηήξεο, όπσο αηζζεηήξεο θίλεζεο, έιεγρν θξαδαζκώλ, 10

19 αλαγλώξηζε πξνζώπνπ, επηηαρπλζηόκεηξν, καγλεηόκεηξν, αηζζεηήξα θιίζεο, GPS, θαζώο θαη multi-touch. Οη native εθαξκνγέο αλαπηύζζνληαη ζε C++ κε ην Bada SDK θαη ην Eclipse IDE. Ζ ζρεδίαζε ηεο δηεπαθήο γίλεηαη πνιύ εύθνιε κε ην User Interface Builder πνπ παξέρεη ην νινθιεξσκέλν πεξηβάιινλ αλάπηπμεο,ide. Γηα ηνλ έιεγρν θαη ηελ απνζθαικάησζε,ην IDE πεξηιακβάλεη έλαλ emulator πνπ κπνξεί λα ηξέμεη ηηο εθαξκνγέο Bada [11]. ηηο 25 Φεβξνπαξίνπ 2013, ε Samsung αλαθνίλσζε επίζεκα όηη απνζύξεηαη από ην Bada αιιά ζα ζπλερίδεη ηε δνπιεηά πνπ έρεη αξρίζεη κε ην ελαιιαθηηθό απηό OS ζην Tizen. Σα ππάξρνληα Smartphone κε Bada δελ ζα αλαβαζκηζηνύλ ζην Tizen, όηαλ απηό ζα είλαη δηαζέζηκν, αιιά όιεο νη εθαξκνγέο ηνπ Bada ζα είλαη ζπκβαηέο κε ην λέν ιεηηνπξγηθό. Σν Tizen βαζίδεηαη ζηηο αξρέο ηνπ Αλνηθηνύ Κώδηθα θαη είλαη ε πξνζπάζεηα ηεο Samsung (θαη ηεο Intel) λα δηαθνξνπνηεζεί από ην Android θαη ηα Windows Phone αιιά θαη λα ειέγμεη πιήξσο όιν ην νηθνζύζηεκα. Windows Phone Σν Windows Phone 8 απνηειεί ηνλ δηάδνρν ησλ Windows Phone 7 θαη καδί απνηεινύλ ηε δεύηεξε γεληά ησλ ιεηηνπξγηθώλ ζπζηεκάησλ πνπ αλαπηύρζεθε από ηελ Microsoft. Ο πξνθάηνρνο ησλ Windows Phone είλαη ηα Windows Mobile, κία νηθνγέλεηα από ιεηηνπξγηθά ζπζηήκαηα γηα smartphones θαη ππνινγηζηέο ηζέπεο. Καηά ηελ θπθινθόξεζε ηεο ηειεπηαίαο έθδνζεο ησλ Windows Mobile ε Microsoft αλαθνίλσζε ηελ πιήξε αζπκβαηόηεηα ηεο λέαο γεληάο ιεηηνπξγηθώλ θαη ησλ εθαξκνγώλ ηνπο κε ηηο ζπζθεπέο πνπ ήηαλ ζρεδηαζκέλεο λα ηξέρνπλ ηα Windows Mobile. Γήισζε αθόκε πσο νη ζπζθεπέο απηέο δελ πιεξνύλ ηηο απαηηήζεηο ησλ Windows Phone πνπ έρνπλ σο ζηόρν ηελ εμαζθάιηζε κίαο ζπλεπνύο ρξήζεο θαη πξνγξακκαηηζηηθή εκπεηξία [12]. Κπθινθόξεζε ηνλ Οθηώβξε ηνπ 2012 θαη όπσο θαη ηα Windows Phone 7 δηαζέηεη ην πεξηβάιινλ εξγαζίαο κε ηε ζρεδηαζηηθή γιώζζα πνπ ε ίδηα έρεη αλαπηύμεη θαη ηελ νλόκαζε Metro. H ζρεδηαζηηθή γιώζζα Metro δεκηνπξγήζεθε σο δηεπαθή ηεο Microsoft γηα ην Zune θαη γηα ηα Windows Media Center, θαηά ηελ ελζσκάησζή ηνπο ζην λέν ιεηηνπξγηθό Windows Phone 7 [13]. Σα Windows Phone 8 πιένλ ρξεζηκνπνηνύλ αξρηηεθηνληθή βαζηζκέλε ζε ΝΣ ππξήλα, 2.7 Windows Phone 8 αληηθαζηζηώληαο ηελ αξρηηεθηνληθή βαζηζκέλε ζηα Windows Embedded Compact,ιεηηνπξγηθό αλεπηπγκέλν από ηελ Microsoft γηα ελζσκαησκέλα ζπζηήκαηα. Σν ΝΣ ιεηηνπξγηθό είλαη παλίζρπξν θαη αλεμάξηεην από ηνλ επεμεξγαζηή. Δπίζεο βαζίδεηαη ζε γιώζζα πξνγξακκαηηζκνύ πςεινύ επηπέδνπ, ζηεξίδεη ηελ πνιπεπεμεξγαζία θαη είλαη θαηάιιειν γηα πνιινύο ρξήζηεο πηνζεηώληαο θάπνηα ραξαθηεξηζηηθά από ην ιεηηνπξγηθό UNIX [14][15]. Οη ζπζθεπέο κε αξρηθό ιεηηνπξγηθό Windows Phone 7.x δελ κπνξνύλ λα ηξέμνπλ ή λα αλαβαζκίζνπλ ην ιεηηνπξγηθό ηνπο ζε απηό ην Windows Phone 8. Αθόκε νη λέεο εθαξκνγέο πνπ έρνπλ κεηαθξαζηεί ζπγθεθξηκέλα γηα ηα Windows Phone 8 δελ ζα είλαη δηαζέζηκεο γηα ηηο ζπζθεπέο κε ιεηηνπξγηθό Windows Phone 7.x. Όπσο ζπκβαίλεη θαη ηα κε ηα άιια ιεηηνπξγηθά, έηζη θαη ζηα Windows Phone 8, έρνπκε ην Marketplace όπνπ κπνξνύκε λα θαηεβάζνπκε εθαξκνγέο ηόζν από ηελ Microsoft, όζν θαη από ηξίηνπο θαηαζθεπαζηέο. 11

20 Οη ηέζζεξηο ζπνπδαίνη θαηαζθεπαζηέο γηα ηηο ζπζθεπέο Windows Phone 8 είλαη ε Nokia, Huawei,Samsung θαη ε HTC.Καη νη ηέζζεξηο ηξέρνπλ ην ιεηηνπξγηθό ζε λέαο γεληά chipsets ARM αξρηηεθηνληθήο,από ηελ Qualcomm. webos Σν webos είλαη έλα ιεηηνπξγηθό ζύζηεκα αλνηρηνύ θώδηθα, πνπ βαζίδεηαη ζηνλ ππξήλα ηνπ Linux. Αξρηθά αλαπηύρζεθε από ηελ Palm, ζηε ζπλέρεηα ιόγσ ηεο εμαγνξάο ηεο Palm από ηελ Hewlett-Packard, άιιαμε ρέξηα θαη ην webos,κέρξη πνπ ζήκεξα θαηέιεμε λα αλήθεη ζηελ LG Electronics. Σν ινγηζκηθό απηό είρε εηζαρζεί από ηελ Palm ηνλ Ηαλνπάξην ηνπ 2009 σο δηάδνρνο ηνπ Palm OS θαη αλαγλσξίζηεθε από ην αγνξαζηηθό θνηλό γηα ηελ ελζσκάησζε ηεο ηερλνινγίαο Web 2.0, ηελ αλνηθηή ηνπ αξρηηεθηνληθή, ηηο multitasking δπλαηόηεηεο θαη ηελ επθνιία ρξήζεο ηνπ. Ζ πξώηε ζπζθεπή πνπ ρξεζηκνπνίεζε ην webos ήηαλ ην Palm Pre, ην νπνίν θπθινθόξεζε από ηελ Sprint ηνλ Ηνύλην ηνπ Δπίζεο, ήηαλ έλα από ηα πξώηα ιεηηνπξγηθά ζπζηήκαηα πνπ έθαλαλ επξεία ρξήζε ησλ over-the-air ελεκεξώζεσλ γηα όιεο ηηο ζπζθεπέο πνπ ην ρξεζηκνπνηνύζαλ. Πιήζνο εθδόζεσλ ηνπ webos έρνπλ εγθαηαζηαζεί ζε πνιιέο ζπζθεπέο,πεξηιακβαλνκέλνπ ηα ηειέθσλα Pre, Pixi θαη Veer θαζώο θαη ζην HP TouchPad tablet. Ζ ηειεπηαία έθδνζή ηνπ, 3.0.5, δεκνζηεύηεθε ηνλ Ηαλνπάξην ηνπ Μεηά ηελ απνηπρία ηνπ HP TouchPad θαη ηελ πξόηαζε πώιεζεο ηεο HP Personal Systems Group, ε HP έθαλε ηελ πιαηθόξκα open source θαη ηελ κεηνλόκαζε ζε Open WebOs. 2.8 webos Μεξίδην ζηελ αγνξά βάζε ηνπ ιεηηνπξγηθνύ ζπζηήκαηνο ηηο 25 Φεβξνπαξίνπ 2013,ε HP αλαθνίλσζε πσο πνπιάεη ην webos ζηελ LG Electronics, ε νπνία ζθνπεύεη λα ρξεζηκνπνηήζεη ην ιεηηνπξγηθό ζύζηεκα γηα ηηο «έμππλεο» ή ζπλδεόκελεο ζην δηαδίθηπν ηειενξάζεηο ηεο. Ωζηόζν, ε HP ζα εμαθνινπζεί λα θαηέρεη ηα δηπιώκαηα επξεζηηερλίαο πνπ δηέπνπλ ην webos θαζώο θαη ηηο cloud-based ππεξεζίεο, όπσο ην App Catalog [16]. Σν 2010 ην ιεηηνπξγηθό ηεο Google εκθαλίδεη θαηαθόξπθε άλνδν ζηηο πσιήζεηο. Από ην πνζνζηό ησλ 4% ησλ λέσλ εηζρσξήζεσλ θαηά ην έηνο 2009, θαηαιακβάλεη ηελ πξώηε ζέζε κε πνζνζηό 33% ζηηο αξρέο ηνπ 2011,παίξλσληαο ηελ ζέζε ηνπ θπξίαξρνπ Symbian OS. Οη ινηπνί αληίπαινη κέλνπλ αξθεηά πίζσ. ην Ζλσκέλν Βαζίιεην,πνπ επί ηνπ παξόληνο έρεη ηελ κεγαιύηεξε εηζαγσγή ζε smartphone παγθνζκίσο, ην ιεηηνπξγηθό Android θαηάιαβε ην 50% ηεο αγνξάο ην ηελ παγθόζκηα αγνξά smartphones ην Android βξίζθεηαη ζηελ θνξπθή,ην Γεθέκβξε ηνπ 2012, κεηξώληαο 68.3% ελώ αθνινπζείηαη από ην ios κε 18.8% θαη ην BlackBerry κε 4.7%. 12

21 ην παξαθάησ δηάγξακκα θαίλεηαη ε πνξεία ησλ δεκνθηιέζηεξσλ mobile OS ζηελ παγθόζκηα αγνξά,ηελ πεξίνδν 2008 κε Παγθόζκηεο πσιήζεηο Smartphone Οη πξνγλώζεηο δείρλνπλ πσο κέρξη ην 2016 ην Windows Phone ζα αλεβεί ζηελ 3 ε ζέζε ελώ ηα Android θαη ios ζα εμαθνινπζήζνπλ λα παξακέλνπλ ζηηο ζέζεηο ηνπο κε 63.8% θαη 19.1% αληίζηνηρα. ην επόκελν δηάγξακκα θαίλεηαη ε ρξήζε ησλ mobile OS θαηά ην πξώην ηξίκελν ηνπ 2013 ζηνλ παγθόζκην ράξηε [17] Παγθόζκηνο ράξηεο γηα ηελ ρξήζε ησλ mobile OS 13

22 2.11 Σν logo ηνπ Android Τι είναι ηο Android Σν Android είλαη κηα ζηνίβα ινγηζκηθνύ γηα θηλεηέο ζπζθεπέο ε νπνία πεξηιακβάλεη ιεηηνπξγηθό ζύζηεκα, ελδηάκεζν ινγηζκηθό (middleware) θαη βαζηθέο εθαξκνγέο. Σν Android ηξέρεη ηνλ ππξήλα ηνπ ιεηηνπξγηθνύ Linux θαη κέζσ ηεο δηθηά ηνπ εξγαιεηνζήθεο αλάπηπμεο ζπζηήκαηνο ινγηζκηθνύ (Software Development Kit), επηηξέπεη ζηνπο θαηαζθεπαζηέο λα δεκηνπξγνύλ πξσηνπνξηαθέο εθαξκνγέο. Αξρηθά αλαπηύρζεθε από ηελ Google θαη αξγόηεξα ζπλερίζηεθε ζε ζπλεξγαζία κε ηελ Open Handset Alliance (OHA). Ζ πξώηε παξνπζίαζε ηεο πιαηθόξκαο Android έγηλε ζηηο 5 Ννεκβξίνπ 2007, παξάιιεια κε ηελ αλαθνίλσζε ηεο ίδξπζεο ηνπ νξγαληζκνύ OHA, κηαο θνηλνπξαμίαο 84 ηειεπηθνηλσληαθώλ εηαηξηώλ, εηαηξηώλ ινγηζκηθνύ θαζώο θαη θαηαζθεπήο πιηθνύ, νη νπνίεο είλαη αθηεξσκέλεο ζηελ αλάπηπμε θαη εμέιημε αλνηρηώλ πξνηύπσλ ζηηο ζπζθεπέο αλνηρηήο ηειεθσλίαο. Δλδεηθηηθά αλαθέξνπκε κεξηθά κέιε ηνπ νξγαληζκνύ απηνύ γηα λα δείμνπκε ηελ ηεξάζηηα πξννπηηθή πνπ δεκηνπξγείηαη: Sprint Nextel, T-Mobile, Motorola, Samsung, Sony Ericsson, Vodafone, Google, Verizon, Texas Instruments, Htc.Ζ Google δεκνζίεπζε ην κεγαιύηεξν κέξνο ηνπ θώδηθα ηνπ Android, ππό ηνπο όξνπο ηεο Apache License, κηαο ειεύζεξεο άδεηαο ινγηζκηθνύ [18] Δηαηξείεο ηεο Open Handset Alliance Σν Android είλαη ε δεκνθηιέζηεξε θαη πην γξήγνξα αλαπηπζζόκελε πιαηθόξκα γηα θηλεηά. Μόλν ζην Play Store ππάξρνπλ πεξηζζόηεξεο από 700,000 εθαξκνγέο δηαζέζηκεο γηα απηό. Ο αξηζκόο ησλ ρξεζηώλ ηνπ Android, ηνλ Οθηώβξε ηνπ 2012, ήηαλ 500 εθαηνκκύξηα, ελώ θάζε κέξα ελεξγνπνηνύληαλ 1.3 εθαηνκκύξηα ιεηηνπξγηθά ζε smartphones θαη tables, δειαδή 15 ζπζθεπέο ην δεπηεξόιεπην. 14

23 Εκδόζεις και ταρακηηριζηικά 2.13 Δθδόζεηο ηνπ Android ζην Googleplex Οη εθδόζεηο ηνπ ιεηηνπξγηθνύ ζπζηήκαηνο Android μεθίλεζαλ κε ηελ έθδνζε ηνπ Android beta ηνλ Ννέκβξε ηνπ 2007.Ζ πξώηε εκπνξηθή έθδνζε, Android1.0, βγήθε ηνλ επηέκβξε ηνπ 2008 θαη νλνκάζηεθε Apple Pie. Σνλ επόκελν Φεβξνπάξην αθνινύζεζε ην Banana bread,android 1.1. Από ηνλ Απξίιε ηνπ 2009,νη εθδόζεηο Android ζπλερίδνπλ λα παίξλνπλ νλόκαηα από επηδόξπηα θαη θπθινθνξνύλ ζε αιθαβεηηθή ζεηξά : Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwich θαη Jelly Bean. Σν Android βξίζθεηαη από ζπλερή εμέιημε από ηελ Open Handset Alliance θαη έρεη ππνζηεί έλαλ αξηζκό από αλαβαζκίζεηο ζην βαζηθό ηνπ ιεηηνπξγηθό ζύζηεκα. Με απηέο ηηο αλαβαζκίζεηο ηππηθά δηνξζώλνληαη ζθάικαηα ελώ πξνζζέηνληαη λέα ραξαθηεξηζηηθά. Ζ πξώηε έθδνζε ηνπ Android SDK ηνλ Ννέκβξην ηνπ 2007, ραξαθηεξίζηεθε από ηνπο θαηαζθεπαζηέο ηνπ ζαλ κηα πξώηε καηηά ζην SDK ηνπ Android, θάηη ην νπνίν πνιινί παξάβιεςαλ θαη βηάζηεθαλ λα θαηαθξίλνπλ ην Android ζαλ έλα πξνβιεκαηηθό ζύζηεκα. ηελ νπζία όκσο ην Android δελ παξνπζίαδε πξνβιήκαηα ηα νπνία δελ παξνπζηάδεη νπνηνδήπνηε ζύζηεκα ζε ηέηνηα πξώηκε θάζε. Έηζη ην επηέκβξην ηνπ 2008, ε T-Mobile αλαθνηλώλεη ηελ δηαζεζηκόηεηα ηνπ T-Mobile G1, ηνπ πξώηνπ έμππλνπ ηειεθώλνπ (smartphone), βαζηζκέλν ζηελ πιαηθόξκα ηνπ Android. Λίγεο κέξεο αξγόηεξα (Οθηώβξην 2008), ε Google αλαθνηλώλεη ηελ απειεπζέξσζε ηνπ SDK Release Candidate 1.0. Αθνινύζεζε ηνλ Φεβξνπάξην ηνπ 2009 ε έθδνζε 1.1 ζαλ κηα αλαλεσκέλε έθδνζε ηνπ 1.0. Μέρξη ηόηε ην Android δελ ππνζηήξηδε αθόκε ηελ ρξήζε θνπκπηώλ αθήο, παξά κόλν ηελ ρξήζε ησλ θιαζζηθώλ ζθιεξώλ θνπκπηώλ ηεο ζπζθεπήο. 15

24 2.14 Από ηελ έθδνζε C ζηελ J Σνλ Μάην ηνπ 2009 είρακε ηελ έθδνζε Android 1.5, ελ νλόκαηη «Cupcake» Cupcake Σν Cupcake εηζάγεη θάπνηα θαηλνύξγηα ραξαθηεξηζηηθά θαη αλαλεώζεηο ζηελ δηεπαθή ρξήζηε (User Interface). πγθεθξηκέλα, παξέρεη ηθαλόηεηα γηα θαηαγξαθή θαη παξαθνινύζεζε βίληεν κέζα από ηελ ιεηηνπξγία ηεο βηληενθάκεξαο, κεηαθόξησζε βίληεν ζην YouTube θαη θσηνγξαθηώλ ζην Picasa απεπζείαο από ην ηειέθσλν θαη δηαζέηεη πιεθηξνιόγην αθήο κε πξόβιεςε θεηκέλνπ. ηελ έθδνζε απηή ππνζηεξίδεηαη ην πξόηππν Bluetooth A2DP θαη AVRCP δίλνληαο ηελ ηθαλόηεηα γηα απηόκαηε ζύλδεζε ζε κηθξνζπζθεπή Bluetooth κέρξη κηα ζπγθεθξηκέλε απόζηαζε. Σέινο, ππνζηεξίδεη λέα widgets θαη θαθέινπο πνπ κπνξνύλ λα δεκνζηεπηνύλ ζηελ αξρηθή νζόλε. Σν «Donut», Android 1.6, ήξζε ηνλ επηέκβξην ηνπ Donut Ζ έθδνζε απηή εηζάγεη θάπνηα θαηλνύξγηα ραξαθηεξηζηηθά όπσο βειηησκέλν Android Market, ελζσκαησκέλε θσηνγξαθηθή κεραλή, βηληενθάκεξα θαη δηεπαθή γηα Gallery. Ζ δηεπαθή απηή επηηξέπεη πιένλ ζηνπο ρξήζηεο ηελ επηινγή πνιιαπιώλ θσηνγξαθηώλ γηα δηαγξαθή. Τπνζηεξίδεη αλαλεσκέλε αλαδήηεζε κε θσλή, ηαρύηεξε απόθξηζε θαη βαζύηεξε νινθιήξσζε κε εγγελήο (native) εθαξκνγέο. Αθόκε πξνζθέξεη λέα εκπεηξία αλαδήηεζεο ζηνπο ζειηδνδείθηεο, ζην ηζηνξηθό, ζηηο επαθέο θαη ζην δηαδίθηπν, απεπζείαο από ηελ αξρηθή νζόλε. Τπνζηεξίδεη ηερλνινγίεο γηα CDMA/EVDO, 802.1x, VPNs,γηα κεραλή κεηαηξνπήο θεηκέλνπ ζε νκηιία (textto-speech) θαη γηα αλάιπζε νζνλώλ WVGA. Καηαγξάθνληαη επίζεο βειηηώζεηο γηα ηαρύηεξεο εθαξκνγέο ηεο θσηνγξαθηθήο κεραλήο θαη αλαδεηήζεηο. Αθνινπζεί ην «Eclair», Android 2.0 ηνλ Ννέκβξην 2009, κε ηηο 2.17 Éclair επαλεθδόζεηο ηνλ Γεθέκβξην 2009 (Eclair 0.1) θαη ηνλ Ηαλνπάξην 2010 κε ην Android 2.1 (Eclair MR1). Αλάκεζα ζηηο αιιαγέο είλαη ε λέα δηεπαθή ρξήζηε γηα ηελ 16

25 κεραλή αλαδήηεζεο ζηνλ παγθόζκην Ηζηό, ε ππνζηήξημε ηνπ πξνηύπνπ HTML5 γηα αλαπαξαγσγή ηαηληώλ θαη νη βειηησκέλνη ράξηεο ηεο Google. ηελ θαηεγνξία επηθνηλσλίαο ζπλαληάκε βειηηώζεηο ζηηο επηινγέο ησλ επαθώλ, ζην εηθνληθό πιεθηξνιόγην θαη ζηελ αλαδήηεζε ησλ γξαπηώλ κελπκάησλ. Αθόκε επηηξέπεη ζπγρξνληζκό κε πνιινύο ινγαξηαζκνύο ειεθηξνληθνύ ηαρπδξνκείνπ εθηόο από απηόλ ηεο Google θαη ππνζηεξίδεη ην πεξηβάιινλ ειεθηξνληθνύ ηαρπδξνκείνπ Microsoft Exchange. Αλαβαζκίδεη ηελ θιάζε MotionEvent ε νπνία επηηξέπεη ζηνπο θαηαζθεπαζηέο λα κπνξνύλ λα παξαθνινπζνύλ απνηειεζκαηηθόηεξα ηα γεγνλόηα πνιιαπιήο αθήο. ηηο αλαβαζκίζεηο πξνζζέηνπκε ηελ ελζσκαησκέλε ππνζηήξημε flash θαη ηε ςεθηαθή κεγέζπλζε γηα ηελ Camera θαη ην Bluetooth 2.1. Σέινο παξέρεη ππνζηήξημε γηα πεξηζζόηεξεο νζόλεο θαη αλαιύζεηο. Αθνινπζεί ην Android 2.2 κε ην όλνκα Froyo ηνλ Μάην ηνπ Froyo Πεξηιακβάλεη βειηηζηνπνηήζεηο ζηελ ηαρύηεηα γεληθά ηνπ ιεηηνπξγηθνύ ζπζηήκαηνο, ζηε κλήκε θαη ζηελ απόδνζε. Ζ ππνζηήξημε γηα ηελ γιώζζα ηνπ πιεθηξνινγίνπ γίλεηαη κεγαιύηεξε παξέρνληαο γξήγνξε ελαιιαγή αλάκεζα ζε πνιιαπιέο γιώζζεο ηνπ πιεθηξνινγίνπ θαη ησλ ιεμηθώλ ηνπ. Σν Froyo απνθηά δπλαηόηεηα αλαβαζκηζκέλεο πινήγεζεο ζην δηαδίθηπν θαη κε ηνλ λέν θπιινκεηξεηή ππνζηεξίδεηαη ην αλέβαζκα αξρείσλ. Πιένλ, νη εθαξκνγέο κπνξνύλ λα εγθαηαζηαζνύλ ζε εμσηεξηθή κλήκε. Δλεξγνπνηείηαη ε ζύλδεζε ησλ ζπζθεπώλ ( ηειεθώλσλ,tablet,ππνινγηζηώλ ) κέζσ USB,γλσζηή ηερλνινγία σο Usb Tethering, επηηξέπνληαο ηνλ δηακνηξαζκό ηεο ζύλδεζεο ζην Γηαδίθηπν από ην ηειέθσλν/tablet ζηνλ ππνινγηζηή. Ζ επόκελε έθδνζε Android 2.3 νλνκάδεηαη «Gingerbread» θαη βγήθε ηνλ 2.19 Gingerbread Γεθέκβξην ηνπ Ζ ζεηξά Gingerbread πεξηιακβάλεη ηξεηο αλαβαζκίζεηο ηνπ 2.3,ηηο 2.3.3, θαη πνπ θπθινθόξεζαλ ηνλ Φεβξνπάξην, ηνλ Μάην θαη ηνλ Ηνύιην ηνπ 2011 αληίζηνηρα. Από απηέο θπζηθά δελ ιείπεη ε αλαβάζκηζε ηεο δηεπαθήο ρξήζηε, ε επθνιόηεξε ρξήζε ηνπ πιεθηξνινγίνπ κε γξεγνξόηεξεο ιεηηνπξγίεο αληηγξαθήο θαη επηθόιιεζεο θαη ε πξνζζήθε ραξαθηεξηζηηθώλ γηα θνηλσληθά δίθηπα. Οιόθιεξε ε ζεηξά Gingerbread εγγπάηαη θαιύηεξε δηαρείξηζε ηεο ελέξγεηαο ελώ ζηελ δηνξζώλνληαη ηα δεηήκαηα πνπ ζρεηίδνληαη κε ην Bluethooth ζηελ ζπζθεπή Samsung GalaxyS θαη ζηελ NexusS 4G βειηηώλεηαη ε απόδνζε δηθηύνπ. ηα λέα ραξαθηεξηζηηθά γηα ηνπο ρξήζηεο βξίζθνπκε αθόκε ηελ ππνζηήξημε γηα βηληενθιήζεηο θαη γηα αζύξκαηε επηθνηλσλία ζε κηθξή εκβέιεηα (NFC) θαζώο θαη ηε δπλαηόηεηα γηα κεηαθνξά πνιπκεζηθώλ πιεξνθνξηώλ κέζσ ηνπ δηαδηθηύνπ, είηε κέζσ ελόο ηνπηθνύ δηθηύνπ. Ζ ζεηξά Gingerbread παξέρεη ζηνπο πξνγξακκαηηζηέο λέα ραξαθηεξηζηηθά γηα ηελ αλάπηπμε θαιύηεξσλ εθαξκνγώλ Android. Ξεθηλάκε αλαθέξνληαο ην «Open Accessory API»,έλα kit γηα ηελ δεκηνπξγία λέσλ αμεζνπάξ γηα Android. Αθνινπζεί ην βειηησκέλν «NFC API» γηα peer-topeer επηθνηλσλίεο θαη έλα API γηα ερεηηθά εθέ. ηνπο πξνγξακκαηηζηέο δίλνληαη εξγαιεία γηα εθαξκνγέο κε ηαρύηεξε απόδνζε όπσο ε «ζπιινγή ζθνππηδηώλ» (garbage collection), ε ηαρύηεξε 17

26 θαηαλνκή δηεξγαζηώλ θαη νη αλαλεσκέλνη νδεγνί βίληεν. Ζ έθδνζε Gingerbread θιείλεη κε ηηο αλαβαζκίζεηο θαη ζηηο νπνίεο δηνξζώλνληαη ηα ζθάικαηα θσλεηηθήο αλαδήηεζεο θαη παξέρνπλ ππνζηήξημε Google Wallet γηα ηελ ζπζθεπή NexusS 4G. Ζ έθδνζε 3.0 κε ηηο έμη αλαβαζκίζεηο ηεο,φιεβάξε ηνπ 2011 κε Φιεβάξε ηνπ 2.20 HoneyComb 2012, απνηεινύλ ηελ νηθνγέλεηα «Honeycomb» θαη έρεη βειηηζηνπνηεζεί εηδηθά γηα ζπζθεπέο κε κεγαιύηεξε νζόλε, ζπγθεθξηκέλα γηα tablets. Δηζάγεη έλα λέν, πιήξσο εηθνληθό ζρεδηαζκό ηεο δηεπαθήο ρξήζηε θαζώο θαη έλα κνληέιν αιιειεπίδξαζεο βαζηζκέλν ζην πεξηερόκελν. ηα λέα ραξαθηεξηζηηθά γηα ηνπο ρξήζηεο ζπγθαηαιέγνληαη ε κπάξα ζπζηήκαηνο γηα γξήγνξε πξόζβαζε ζηηο ελεκεξώζεηο θαη ζηελ θαηάζηαζε ζπζηήκαηνο θαζώο θαη ε κπάξα ρξήζεο πνπ είλαη νξαηή ζε θάζε ελεξγή εθαξκνγή. Πέληε παξακεηξνπνηήζηκα homescreens πξνζθέξνπλ ζηνλ ρξήζηε άκεζε πξόζβαζε ζε όιν ηα ηκήκαηα ηνπ ζπζηήκαηνο (Widgets,App shortcuts,wallpapers).αθόκε, ζεκαληηθή αιιαγή είλαη ην επαλαζρεδηαζκέλν πιεθηξνιόγην, θαηάιιειν γηα ηαρύηαηε επηινγή θεηκέλνπ, αληηγξαθή θαη επηθόιιεζε ηνπ. Κιείλνπκε ηελ αλαθνξά ζηα ραξαθηεξηζηηθά ζρεδηαζκέλα γηα ηνλ ρξήζηε κε ηελ δπλαηόηεηα ζύλδεζεο κε θπζηθό πιήξεο πιεθηξνιόγην, κε ηελ ππνζηήξημε Bluetooth tethering θαη έλα αλαβαζκηζκέλν ζεη standard εθαξκνγώλ όπσο ν θπιινκεηξεηήο, ε Camera,ε Gallery, νη επαθέο θαη ην ειεθηξνληθό ηαρπδξνκείν. Όζν αθνξά ηνπο πξνγξακκαηηζηέο ελδπλακώλεη ην UI framework γηα αλάπηπμε αθόκα ζπνπδαηόηεξσλ εθαξκνγώλ. Σνπο ελζαξξύλεη γηα ρξήζε πςειήο αλάιπζεο 2D θαη 3D γξαθηθώλ, εκπινπηηζκέλσλ multimedia θαη πξνζθέξεη ηερλνινγίεο γηα θαιύηεξε ζπλδεζηκόηεηα ησλ ζπζθεπώλ. Ζ νηθνγέλεηα εθδόζεσλ Honeycomb παξέρεη ππνζηήξημε ζε αξρηηεθηνληθέο κε πνιππύξελνπο επεμεξγαζηέο θαη ην ζεκαληηθόηεξν, είλαη ζπκβαηή κε ππάξρνληεο εθαξκνγέο. Ζ πξνηειεπηαία έθδνζε έρεη ην όλνκα «Ice Cream Sandwich» θαη 2.21 Ice Cream Sandwich θπθινθόξεζε ηνλ Οθηώβξε 2011 (4.0.1) ελώ νη αλαβαζκίζεηο ηεο νινθιεξώζεθαλ ηνλ Μάξηην ηνπ 2012 (4.0.4). Σν ραξαθηεξίδνπλ σο απιό, όκνξθν θαη παλέμππλν. Ζ εθιεπηπζκέλε δηεπαθή ρξήζηε θάλεη ηηο ζπλεζηζκέλεο ελέξγεηεο πην νξαηέο θαη επηηξέπεη ζηνλ ρξήζηε ηελ πινήγεζε κε απιέο θαη ελζηηθηώδεηο θηλήζεηο. Με ηελ ρξήζε ηεο ιίζηαο ζην System Bar επηηπγράλεηαη ε εύθνιε κεηάβαζε αλάκεζα ζηηο πξόζθαηα αλνηγκέλεο εθαξκνγέο αλαγλσξίδνληαο ην multitasking ζαλ δπλαηό θιεηδί ζην Ice Cream Sandwich. Οη αλαβαζκίζεηο πνπ θάλνπλ ηελ ρξήζε ηνπ ιεηηνπξγηθνύ απηνύ παηρλίδη, είλαη ηα widgets κε δπλαηόηεηα αιιαγήο κεγέζνπο, λέεο ηερληθέο θιεηδώκαηνο,πρ κε αλαγλώξηζε πξνζώπνπ, γξήγνξε δηαρείξηζε ησλ εηζεξρόκελσλ θιήζεσλ, ηζρπξή κεραλή εηζαγσγήο θσλήο θαη βειηησκέλν έιεγρν πάλσ ζηα δίθηπα δεδνκέλσλ. Ακέηξεηεο άιιεο βειηηώζεηο ζηελ επηθνηλσλία,ηνλ δηακνηξαζκό αξρείσλ θαη ε cloud-connected εκπεηξία θαηαηάζζνπλ ην Ice Cream Sandwich ζηα ιεηηνπξγηθά ζπζηήκαηα θηλεηώλ κε απεξηόξηζηεο δπλαηόηεηεο. 18

27 Φηάλνπκε ζην ζήκεξα κε ην «Jelly Beans», ηελ ηειεπηαία νηθνγέλεηα εθδόζεσλ 2.22 Jelly Beans ηνπ δεκνθηινύο ιεηηνπξγηθνύ Android. Ζ πξώηε έθδνζε βγήθε ζην θνηλό ηνλ πεξαζκέλν Ηνύιην (4.1) ελώ νη αλαβαζκίζεηο ηεο ζηακάηεζαλ κε ηελ έθδνζε πξηλ έλα κήλα (11/02/2013). Με ηελ ιεηηνπξγία Photo Sphere επηηξέπεη ζην ρξήζηε λα ζπιιακβάλεη παλνξακηθέο θσηνγξαθίεο γηα πξώηε θνξά θαη πξνο ηηο ηέζζεξηο δηεπζύλζεηο, (επάλσ, θάησ, αξηζηεξά θαη δεμηά) -αληίζηνηρεο δειαδή κε ηνπ Street View. Μάιηζηα ν ρξήζηεο κπνξεί λα κνηξάζεη ηα αξρεία ζην Google+ ή λα ηα πξνζζέζεη ζηα Google Maps. Δπηπξόζζεηα ζηελ έθδνζε απηή ε εηζαγσγή θεηκέλνπ γίλεηαη αθόκα πην γξήγνξε κε ηελ εηζαγσγή ηνπ πιεθηξνινγίνπ SWYPE. Σν πιεθηξνιόγην αληηιακβάλεηαη ηελ θίλεζε,όηαλ ζέξλνπκε ην δάρηπιό καο πάλσ ζηελ νζόλε ρσξίο θακία δηαθνπή θαη ρσξίο ηελ είζνδν θελώλ θαη απηό νινθιεξώλεη ηηο πξνηάζεηο ηνπ ρξήζηε. Σν Jelly Beans ππνζηεξίδεη πνιιαπινύο ινγαξηαζκνύο θαη ν θάζε έλαο κπνξεί λα έρεη δηθή ηνπ homescreen, θόλην, widgets εθαξκνγέο θαη παηρλίδηα ελώ ε ελαιιαγή κεηαμύ δηαθνξεηηθώλ ρξεζηώλ κπνξεί λα γίλεη άκεζα ρσξίο ηελ αλάγθε γηα log in-log out. Σν ιεηηνπξγηθό απηό ππνζηεξίδεη ηελ κεηάδνζε νπνηαδήπνηε πιεξνθνξίαο βξίζθεηαη ζηελ νζόλε ηνπ tablet ή ηνπ smartphone,αζύξκαηα ζε νπνηαδήπνηε HDTV κέζσ δηθηύνπ Wi-Fi. Daydream νλνκάδεηαη ε λέα δπλαηόηεηα λα πξνβάιινπκε ζηελ νζόλε ηεο Android ζπζθεπήο ρξήζηκεο πιεξνθνξίεο όηαλ απηή είλαη ζε θαηάζηαζε idle, όπσο θσηνγξαθίεο ή πιεξνθνξίεο από ην Google Currents. Πιένλ κε έλα απιό άγγηγκα δύν ζπζθεπώλ Android πνπ είλαη ζπλδεδεκέλεο θάησ από NFC δίθηπν κπνξνύκε λα κνηξάδνπκε βίληεν, θσηνγξαθίεο επαθέο, ηζηνζειίδεο θαη εθαξκνγέο αλάκεζά ηνπο κε ηελ ηερλνινγία Android Beam. Σν Jelly Beans παξέρεη κία αλαβαζκηζκέλε έθδνζε ηνπ Google Now πνπ επηζηξέθεη άκεζα πιεξνθνξίεο (θαηξό, ζπγθνηλσλίεο, πηήζεηο, αζιεηηθά, θ.α.) πξηλ θαλ ηηο δεηήζεη ν ρξήζηεο «δηαβάδνληαο» ηηο αλάγθεο ηνπ, θαζώο θαη ηελ αλαβαζκηζκέλε έθδνζε ηνπ Google Search, πξνζθέξνληαο αθόκε πην αθξηβή απνηειέζκαηα, θσλεηηθή αλαδήηεζε ζην web, θ.α. Όια απηά γίλνληαη πιένλ ηαρύηαηα ρσξίο θακία θαζπζηέξεζε. Ο δηάδνρνο ηνπ Jelly Beans θεκνινγείηαη επξέσο όηη ζα 2.23 Key Lime Pie νλνκαζηεί Key Lime Pie, αλ θαη δελ ππάξρνπλ επίζεκεο δειώζεηο πνπ λα ην επηβεβαηώλνπλ. Σνλ Φεβξνπάξην ηνπ 2013, έλα έγγξαθν πνπ δηέξξεπζε από ηελ Qualcomm απνθάιπςε όηη ε έθδνζε Key Lime Pie ζα θπθινθνξήζεη ην δεύηεξν ηξίκελν ηνπ [19] 19

28 Οη πεξηζζόηεξεο ζπζθεπέο Android κέρξη ζήκεξα εμαθνινπζνύλ λα ηξέρνπλ ηελ παιαηόηεξε έθδνζε OS 2.3 Gingerbread πνπ θπθινθόξεζε ζηηο 6ε Γεθεκβξίνπ 2010, ιόγσ ησλ πνιιώλ ζπζθεπώλ ρακεινύ θόζηνπο πνπ βγαίλνπλ αθόκα κε απηό. ην δηάγξακκα πνπ αθνινπζεί εκθαλίδεηαη ε παγθόζκηα θαηαλνκή ησλ εθδόζεσλ Android από ηνλ Γεθέκβξε ηνπ 2009 έσο θαη ηνλ Φιεβάξε ηνπ Παγθόζκηα θαηαλνκή εθδόζεσλ Android Αρτιηεκηονική ηοσ Android Αλαθεξόκαζηε ζην ιεηηνπξγηθό ζύζηεκα Android ζαλ λα είλαη κία ζηνίβα από δηάθνξα επίπεδα, όπνπ ην θάζε έλα από απηά απνηειείηαη από έλα ζύλνιν πξνγξακκάησλ. πλνιηθά ζρεκαηίδνπλ έλα ιεηηνπξγηθό ζύζηεκα, έλα ελδηάκεζν ινγηζκηθό (middleware) θαη πνιιέο ζεκαληηθέο εθαξκνγέο. Κάζε επίπεδν ζηελ αξρηηεθηνληθή απηή, ρξεζηκνπνηεί ηηο ππεξεζίεο πνπ ηνπ πξνζθέξνληαη από ηα πην θάησ επίπεδα. Θα αλαθεξζνύκε ζε όια ηα επίπεδα, μεθηλώληαο από ην θαηώηεξν. Ζ παξαθάησ εηθόλα δείρλεη ηελ αξρηηεθηνληθή ηνπ Android. 20

29 2.25 Αξρηηεθηνληθή Android Πςπήναρ ηων Linux Σν Android βαζίδεηαη ζηελ έθδνζε 2.6 ησλ Linux γηα ηηο ππεξεζίεο ζπζηήκαηνο ππξήλα όπσο ε αζθάιεηα, ε δηαρείξηζε κλήκεο, ε δηαρείξηζε δηεξγαζηώλ, ε δηθηύσζε. Αθόκε πεξηιακβάλεη ηνπο νδεγνύο γηα ζπζθεπέο USB,ην πιεθηξνιόγην, ην Wi-Fi θαη ηνπο νδεγνύο ήρνπ. Ο ππξήλαο ιεηηνπξγεί επίζεο ζαλ έλα αθεξεκέλν επίπεδν κεηαμύ ηνπ πιηθνύ θαη ηελ ππόινηπε ζηνίβα ινγηζκηθνύ. Android Runtime Σν Android πεξηιακβάλεη έλα ζύλνιν από βηβιηνζήθεο ππξήλα Java θαη ε εηθνληθή κεραλή Dalvik (VM). Κάζε εθαξκνγή Android εθηειείηαη ζε δηθή ηεο δηεξγαζία, ζε μερσξηζηό «αληίγξαθν» ηεο εηθνληθήο κεραλήο. Ζ ηειεπηαία έρεη γξαθηεί ώζηε λα εθηειεί απνδνηηθά πνιιαπιά VM. Ζ εηθνληθή κεραλή Dalvik εθηειεί αξρεία κνξθήο.dex (Dalvik EXecutables) πνπ είλαη βειηηζηνπνηεκέλα γηα ηελ ειάρηζηε θαηαλάισζε κλήκεο θαη κπαηαξίαο. Ζ εηθνληθή κεραλή «ηξέρεη» θιάζεηο γξακκέλεο ζε Java θαη ηξνπνπνηεκέλεο θαηάιιεια ζηελ αλώηεξε κνξθή/θαηάιεμε. Ζ Dalvik VM βαζίδεηαη ζηνλ ππξήλα ηνπ Linux γηα ηελ ππνθείκελε ιεηηνπξγηθόηεηα όπσο ν πνιπλεκαηηζκόο θαη ε δηαρείξηζε ρακεινύ επηπέδνπ κλήκεο. Βιβλιοθήκερ Σν Android πεξηιακβάλεη έλα ζύλνιν από βηβιηνζήθεο γξακκέλεο ζε C θαη ζε C++ νη νπνίεο ρξεζηκνπνηνύληαη από ηα δηάθνξα ηκήκαηα ηνπ ζπζηήκαηνο Android. Απηέο νη δπλαηόηεηεο 21

30 δίλνληαη εθηίζεληαη ζηνπο πξνγξακκαηηζηέο κέζσ ηνπ Android framework. Οξηζκέλεο από ηηο βαζηθέο βηβιηνζήθεο αλαθέξνληαη παξαθάησ: System C library κία πινπνίεζε ηεο βαζηθήο βηβιηνζήθεο ζπζηήκαηνο γηα ηελ γιώζζα C (libc) βαζηζκέλε ζηελ δηαλνκή ινγηζκηθνύ Berkeley, ζπληνληζκέλε γηα ελζσκαησκέλεο ζπζθεπέο πνπ βαζίδνληαη ζηα Linux Media library νη βηβιηνζήθεο ππνζηεξίδνπλ ηελ εγγξαθή θαη αλαπαξαγσγή πνιιώλ δηάζεκσλ format ήρνπ θαη βίληεν, όπσο επίζεο ζηαηηθώλ αξρείσλ εηθόλαο, ζπκπεξηιακβαλνκέλσλ ησλ MPEG4, H.264, MP3, AAC, AMR, JPG θαη PNG Surface manager δηαρεηξίδεηαη ηελ πξόζβαζε ζην ππνζύζηεκα ηεο νζόλεο θαη ζπλζέηεη ηα γξαθηθά επίπεδα δύν θαη ηξηώλ δηαζηάζεσλ πνιιώλ εθαξκνγώλ LibWebCore κία κνληέξλα κεραλή πεξηήγεζε ζην δηαδίθηπν πνπ ηξνθνδνηεί ηόζν ηνλ θπιινκεηξεηή ηνπ Android όζν έλα ελζσκαησκέλν web view. SGL κεραλή γηα δηζδηάζηαηα γξαθηθά 3d libraries κία πινπνίεζε βαζηζκέλε ζην OpenGL ES 1.0 API; νη βηβιηνζήθεο ρξεζηκνπνηνύλ είηε ην πιηθό γηα ηελ επηηάρπλζε ησλ 3d γξαθηθώλ, όπνπ είλαη δηαζέζηκν, είηε ην ινγηζκηθό γηα 3d γξαθηθώλ πνπ κεηαηξέπεη ηελ εηθόλα από πίλαθεο ζε ζεκεία θαη θνπθίδεο. FreeType κία βηβιηνζήθε αλάπηπμεο ινγηζκηθνύ γηα ηνλ ζρεδηαζκό θεηκέλνπ ζε bitmap; αθόκα ππνζηεξίδεη θαη άιιεο ιεηηνπξγίεο πνπ ζρεηίδνληαη κε ηε γξακκαηνζεηξά SQLite κία παληνδύλακε θαη «ειαθξηά» κεραλή γηα βάζεηο δεδνκέλσλ δηαζέζηκε ζε όιεο ηηο εθαξκνγέο. Application Framework Παξέρνληαο κία αλνηρηή πιαηθόξκα γηα αλάπηπμε εθαξκνγώλ, ην Android δίλεη ζηνπο πξνγξακκαηηζηέο ηελ δπλαηόηεηα λα ρηίζνπλ εμαηξεηηθά πινύζηεο θαη θαηλνηόκεο εθαξκνγέο. Οη πξνγξακκαηηζηέο είλαη ειεύζεξνη λα εθκεηαιιεπηνύλ ην πιηθό ηεο ζπζθεπήο, λα πξνζπειάζνπλ πιεξνθνξίεο ηνπνζεζίαο, λα ηξέμνπλ εθαξκνγέο ζην background, λα ζέζνπλ «ζπλαγεξκνύο», λα πξνζζέζνπλ ππελζπκίζεηο ζην status bar θαη πνιιά,πνιιά πεξηζζόηεξα. Οη πξνγξακκαηηζηέο αθόκε έρνπλ πιήξε πξόζβαζε ζην πιαίζην εθαξκνγώλ πνπ ρξεζηκνπνηείηαη από ηηο εθαξκνγέο ππξήλα. Ζ αξρηηεθηνληθή ησλ εθαξκνγώλ ζρεδηάδεηαη ώζηε λα απινπνηείηαη ε επαλαρξεζηκνπνίεζε ησλ ηκεκάησλ θώδηθα θαη νη δπλαηόηεηεο κίαο εθαξκνγήο λα κπνξνύλ λα ρξεζηκνπνηεζνύλ από άιιεο. Όιεο νη εθαξκνγέο είλαη έλα ζύλνιν από services θαη ζπζηήκαηα, πεξηιακβαλνκέλσλ: Πινύζην θαη επεθηάζηκν ζύλνιν από Views πνπ ρξεζηκνπνηνύληαη γηα λα απνηειέζνπλ ην εηθνληθό θνκκάηη κηαο εθαξκνγήο πνπ πεξηιακβάλεη ιίζηεο, πιέγκαηα, πιαίζηα θεηκέλνπ, πιήθηξα,αθόκα θαη ελζσκαησκέλνπ θπιινκεηξεηή. Πάξνρν πεξηερνκέλνπ - Content Provider πνπ επηηξέπεη ζε εθαξκνγέο λα πξνζπειάζνπλ δεδνκέλα από άιιεο εθαξκνγέο, όπσο ηηο Δπαθέο, ή λα κνηξάζνπλ ηα δηθά ηνπο δεδνκέλα Δηαρεηξηζηή Πόξσλ - Resource Manager πνπ παξέρεη πξόζβαζε ζε πξόζζεηα αξρεία θαη ζηαηηθό πεξηερόκελν πνπ ρξεζηκνπνηεί ν θώδηθαο, όπσο bitmaps, νξηζκνύο γηα ηα layout, νδεγίεο γηα θηλνύκελεο εηθόλεο, θ.α. Δηαρεηξηζηή Ελεκεξώζεσλ - Notification Manager πνπ δίλεη ηελ δπλαηόηεηα ζηηο εθαξκνγέο λα εκθαλίζνπλ ηα alerts ζηελ κπάξα ηεο θαηάζηαζεο status bar. Δηαρεηξηζηή Σνπνζεζίαο - Location Manager πνπ δίλεη ηελ ζέζε ηεο ζπζθεπήο κε ζπληεηαγκέλεο Δηαρεηξηζηή Δξαζηεξηνηήησλ - Activity Manager πνπ δηαρεηξίδεηαη ηνλ θύθιν δσήο ησλ εθαξκνγώλ. 22

31 Δθαπμογέρ Οη εθαξκνγέο Android «ζπζθεπάδνληαη» ζε αξρείν κε θαηάιεμε.apk θαη απνζεθεύνληαη θάησ από ην path /data/app ζην ιεηηνπξγηθό ζύζηεκα ηνπ Android. To παθέην apk πεξηέρεη αξρεία κε ηελ θαηάιεμε.dex, πνπ νλνκάδνληαη εθηειέζηκα Dalvik θαη είλαη κεηαγισηηηζκέλα αξρεία bytecode, αξρεία πόξνη, θηι. Σν Android βγαίλεη ζηελ αγνξά κε έλα ζύλνιν από εθαξκνγέο ππξήλα όπσο client, πξόγξακκα γηα γξαπηά κελύκαηα, εκεξνιόγην, ράξηεο, θπιινκεηξεηή, επαθέο θαη πνιιά άιια. Όιεο νη εθαξκνγέο είλαη γξακκέλεο ρξεζηκνπνηώληαο ηελ γιώζζα πξνγξακκαηηζκνύ Java. Ακέηξεηεο εθαξκνγέο ζε πνιιέο γιώζζεο δηαηίζεληαη γηα εγθαηάζηαζε από ην Android market [19] Android Market Ση είλαη ε επαπμεκέλε πξαγκαηηθόηεηα Ζ επαπμεκέλε πξαγκαηηθόηεηα Augmented Reality (AR) είλαη κία δηαθνξνπνίεζε ηεο ηερλεηήο πξαγκαηηθόηεηαο, ε νπνία, αληί λα αντικαθιστά πιήξσο ηνλ πξαγκαηηθό θόζκν, πρ εμνκνησηήο πηήζεο, ηνλ εμπλουτίζει κε ηερλεηά ζηνηρεία. Μπνξεί λα ζεσξεζεί σο ην «ελδηάκεζν» ηεο εηθνληθήο πξαγκαηηθόηεηαο πιήξσο ηερληθό θαη ηεο ηειεπαξνπζίαο- πιήξσο πξαγκαηηθό. Ζ επαύμεζε ηεο πξαγκαηηθόηεηαο ιεηηνπξγεί ζε πξαγκαηηθό ρξόλν θαη ζε ζεκαζηνινγηθή αληηζηνίρεζε κε ηα ζηνηρεία ηνπ πεξηβάιινληνο Δπαπμεκέλε Πξαγκαηηθόηεηα 23

32 ύκθσλα κε ηνλ νξηζκό πνπ δίλεη ν Ronald T. Azuma ζηελ έξεπλά ηνπ ην 1997, «Ζ επαπμεκέλε πξαγκαηηθόηεηα αθνξά ηελ επαύμεζε ηνπ πξαγκαηηθνύ πεξηβάιινληνο κε ηερλεηή, εηθνληθή πιεξνθνξία βειηηώλνληαο ηηο γλώζεηο, ηηο ηθαλόηεηεο θαη ηηο αηζζήζεηο ησλ αλζξώπσλ». Ζ πξαγκαηηθόηεηα είλαη πσο ηελ ρξεζηκνπνηνύζακε κόλν πνπ δελ γλσξίδακε όηη ιεγόηαλ έηζη. Έλα από ηα δεκνθηιέζηεξα παξαδείγκαηα ηεο επαπμεκέλεο πξαγκαηηθόηεηαο είλαη ν πίλαθαο κε ηελ βαζκνινγία πνπ εκθαλίδεηαη ζηελ νζόλε ηεο ηειεόξαζεο ζηνπο αγώλεο πνδνζθαίξνπ. Αθόκε ζηηο δσληαλέο αλακεηαδόζεηο ησλ αγώλσλ βιέπνπκε ζην replay κία ιεπθή εηθνληθή γξακκή πνπ δειώλεη ηελ πνξεία ηεο κπάιαο. Δίλαη ζπλδπαζκόο ηνπ πξαγκαηηθνύ κε πιεξνθνξία ζρεδηαζκέλε κε ειεθηξνληθό ππνινγηζηή. Δίλαη δειαδή ε Δηθνληθή Πξαγκαηηθόηεηα! Εθαξκνγέο ηεο επαπμεκέλεο πξαγκαηηθόηεηαο ζηελ θαζεκεξηλόηεηα Ζ επαπμεκέλε πξαγκαηηθόηεηα augmented reality έρεη πνιιέο εθαξκνγέο θαη πνιινί ηνκείο κπνξνύλ λα επσθειεζνύλ από ηελ ηερλνινγία απηή. Ζ AR αξρηθά ρξεζηκνπνηήζεθε γηα ηνλ ζηξαηό, ηε βηνκεραλία θαη ηαηξηθέο εθαξκνγέο αιιά ζύληνκα θέξδηζε έδαθνο θαη ζηνπο ηνκείο ηεο ςπραγσγίαο θαη ηνπ εκπνξίνπ. Αξρηηεθηνληθή: H AR κπνξεί λα ρξεζηκνπνηεζεί κέζα ζην workspace ελόο αξρηηέθηνλα, δεκηνπξγώληαο ηξηζδηάζηαηεο νπηηθνπνηήζεηο πάλσ ζε 2 δηαζηάζεσλ ζρέδηα. Σα αξρηηεθηνληθά αμηνζέαηα ιακβάλνπλ λέα δηάζηαζε θαη αμία κε ηελ ρξήζε AR εθαξκνγώλ,επηηξέπνληαο ζνπο ρξήζηεο πνπ βξίζθνληαη έμσ από έλα θηίξην λα δνπλ κέζα από ηνπο ηνίρνπο, αλαθαιύπηνληαο ηελ εζσηεξηθή δνκή θαη ηα αληηθείκελα. Εκπόξην: Ζ AR κπνξεί αλ εληζρύζεη ηελ παξνπζίαζε αληηθεηκέλσλ επηηξέπνληαο γηα παξάδεηγκα ζηνλ θαηαλαισηή λα δεη ην πεξηερόκελν κίαο ζπζθεπαζίαο ρσξίο λα ηελ αλνίμεη. Θα κπνξνύζε επίζεο λα ρξεζηκνπνηεζεί ζαλ βνήζεηα ζηελ επηινγή πξντόλησλ από έλα θαηάινγν ή έλα πεξίπηεξν. «θαλάξνληαο» ηα πξντόληα ζα κπνξνύζακε λα ελεξγνπνηήζνπκε ηελ εκθάληζε επηπξόζζεηνπ πεξηερνκέλνπ όπσο επηινγέο πξνζάξκνζεο θαη επηπξόζζεηεο εηθόλεο από ην πξντόλ θαηά ηελ ρξήζε ηνπ. Με ηελ AR ζπλδπάδνληαη ε εθηύπσζε θαη βίληεν ζην εκπόξην. Ο εθηππσκέλνο ζηόρνο όηαλ ειεγρζεί ζα ελεξγνπνηήζεη κία έθδνζε βίληεν ηνπ πξντόληνο πξνο πώιεζε. Ιαηξηθή: Αξρηθά ε επαπμεκέλε πξαγκαηηθόηεηα κπνξεί λα ρξεζηκνπνηεζεί ζηελ εθπαίδεπζε κε εηθνληθέο νδεγίεο πνπ ζα βνεζνύλ ηνλ αξράξην. Γηα παξάδεηγκα, λα κάζεη ζσζηά ηα βήκαηα κίαο εγρείξεζεο. Δπίζεο κπνξεί λα ρξεζηκνπνηεζεί ζε πεξηπηώζεηο πνιύ ιεπηώλ εγρεηξίζεσλ σο νπηηθή βνήζεηα ζε ζεκεία πνπ δελ ππάξρεη νξαηόηεηα κε γπκλό κάηη. Καηαζθεπή θαη επηδηόξζσζε: ηελ πεξίπησζε ζύλζεησλ κεραλεκάησλ νη νδεγίεο θαηαζθεπήο ή επηδηόξζσζεο κπνξνύλ λα δίλνληαη ζαλ ζρεκαηηθέο πξνβνιέο πάλσ ζην αληηθείκελν γηα ηαρύηεξε θαη επθνιόηεξε εξγαζία. ρόιηα θαη νπηηθνπνίεζε: κπνξεί λα ρξεζηκνπνηεζεί γηα ζρνιηαζκό αληηθεηκέλσλ θαη ηνπ πεξηβάιινληνο, γηα παξάδεηγκα πιεξνθνξίεο ζρεηηθά κε θηήξηα πνπ βιέπνπκε ζηε πόιε. Δπίζεο ε επαπμεκέλε πξαγκαηηθόηεηα κπνξεί λα βνεζήζεη ζηελ νπηηθνπνίεζε αληηθεηκέλσλ. Μπνξεί λα επηηξέπεη ζε έλαλ κεραληθό πνύ βξίζθνληαη νη ζσιήλεο ή ηα ειεθηξηθά θαιώδηα [20]. 24

33 Κεθάλαιο 3 Εηζαγσγή Ανάλςζη και ζσεδιαζμόρ ζςζηήμαηορ ηα πιαίζηα απηήο ηεο δηπισκαηηθήο εξγαζίαο πινπνηνύκε κία εθαξκνγή γηα Android κε ρξήζε ησλ ηερληθώλ ηεο επαπμεκέλεο πξαγκαηηθόηεηαο. ηόρν έρεη, αθόηνπ αλαγλσξίζεη κία θαθεηέξηα από ηελ πξόζνςή ηεο, λα εκθαλίδεη ζηελ νζόλε ηνπ θηλεηνύ έλα ηξηζδηάζηαην ζεξκόκεηξν. Όζν πην δεκνθηιήο είλαη κία θαθεηέξηα ηόζν πεξηζζόηεξν αλεβαζκέλε ζα είλαη ε έλδεημε ζην ζεξκόκεηξν/ζεξκνθξαζία. Ο ηίηινο ηεο εθαξκνγήο καο είλαη «Σπάσε το θεπμόμετπο!» θαη θπζηθά απεπζύλεηαη ζηηο θαθεηέξηεο. Αλάιπζε πιεξνθνξηαθνύ ζπζηήκαηνο Ζ εθαξκνγή πνπ ζα πινπνηήζνπκε ζα δίλεη ηελ δπλαηόηεηα ζε επηζθέπηεο ηεο Πάηξαο, αιιά θαη ζε αλζξώπνπο πνπ κέλνπλ ζηελ πόιε γηα θαηξό, λα γλσξίζνπλ πόζν δηάζεκεο είλαη νη θαθεηέξηεο θαζώο πεξλνύλ από κπξνζηά ηνπο. Οη ρξήζηεο ζα κπνξνύλ λα βαζηζηνύλ ζηελ πιεξνθνξία πνπ ζα ηνπο επηζηξέθεηαη γηα επηιέμνπλ ην καγαδί πνπ ζα επηζθεθηνύλ. Με ζύκκαρν έλα smartphone πνπ ηξέρεη ηελ εθαξκνγή καο, νη ελ δπλάκεη πειάηεο, ζα κπνξνύλ κε έλα πέξαζκα ηεο ζπζθεπήο κπξνζηά από ηελ θαθεηέξηα λα δώζνπλ ζηελ εθαξκνγή ηελ πιεξνθνξία πνπ ρξεηάδεηαη γηα ηνλ εληνπηζκό ηνπ θαηαζηήκαηνο. Με βάζε ην όλνκα ηνπ θαηαζηήκαηνο ζα πξαγκαηνπνηείηαη αλαδήηεζε ζε έλα ζηαηηθό αξρείν θαη ζα επηζηξέθνπκε ηελ πιεξνθνξία γηα ηα check-ins. Ζ πιεξνθνξία γηα ηελ θήκε ησλ θαθεηεξηώλ ζα είλαη πξαγκαηηθή θαη ζα πεγάδεη από κία ηζηνζειίδα θνηλσληθήο δηθηύσζεο, ην Foursquare. Έπεηηα, ε εθαξκνγή ζα βαζίδεηαη ζηνλ αξηζκό ησλ check-ins θαη κε ρξήζε κίαο ζπλάξηεζεο ζα επηιέγεηαη ε θιίκαθα ζηελ νπνία αλήθεη ην καγαδί. ύκθσλα κε ηελ θαηεγνξία θαηάηαμεο ν «πδξάξγπξνο» ζην 3d ζεξκόκεηξό καο ζα αλεβαίλεη δειώλνληαο ην πόζν δεκνθηιήο είλαη ε θαθεηέξηα. Σν ζεξκόκεηξν ζα απνηειεί αληηθείκελν επαύμεζεο ηεο πξαγκαηηθόηεηαο θαζώο ζα πξνζηίζεηαη ζηα θαξέ πνπ ζα ζπλερίδεη λα ιακβάλεη ε θάκεξα. ρεδηαζκόο αλάπηπμεο ελόο θύθινπ δσήο ηεο εθαξκνγήο Έλαξμε κε Splash screen Με ηελ έλαξμε ηεο εθαξκνγήο ζέινπκε λα εκθαλίδεηαη ζην ρξήζηε έλα Splash screen γηα θάπνηα δεπηεξόιεπηα, ελώ απηή θνξηώλεη. ηελ εηζαγσγηθή απηή νζόλε ζα ππάξρνπλ πιεξνθνξίεο πνπ αθνξνύλ ηε δηπισκαηηθή εξγαζία όπσο ν ηίηινο ηεο εθαξκνγήο, ε εκεξνκελία πνπ νινθιεξώζεθε θαη ην όλνκα ηνπ ππεύζπλνπ θαζεγεηή. Οη εηθόλεο πνπ κπνξεί λα πεξηιακβάλεη ζα είλαη θάπνηα από ηα logo ησλ ηερλνινγηώλ πνπ ρξεζηκνπνηήζεθαλ γηα ηελ αλάπηπμε ηεο εθαξκνγήο. 25

34 3.1 Πξνζρέδην ηνπ Splash screen Ελεξγνπνίεζε ηεο θάκεξαο - Λήςε ησλ frames Όηαλ πεξάζεη ν ρξόλνο πξνβνιήο ηνπ Splash screen θαη εμαθαληζηεί, ζα ελεξγνπνηείηαη ε θάκεξα ηεο ζπζθεπήο καο. Ζ θάκεξα ζα ιακβάλεη θαξέ ηα νπνία ζα ειέγρνληαη έλα πξνο έλα. Έιεγρνο θαξέ Κάζε frame ζα ζπγθξίλεηαη κε ηα αλεβαζκέλα trackables κε ρξήζε αιγνξίζκσλ γηα ηαπηνπνίεζε εηθόλαο. Αλ εληνπηζηεί θάπνην target ηόηε ε εθαξκνγή ζα ελεκεξώλεηαη κε ην όλνκα ηνπ θαηαζηήκαηνο. Αλαδήηεζε ησλ totals Σαπηόρξνλα, ην όλνκα ηνπ θαηαζηήκαηνο πνπ αληρλεύζεθε ρξεζηκεύεη γηα ηελ εύξεζε ηνπ αξηζκνύ totals πνπ δειώλεη ην πόζν δεκνθηιέο είλαη ην θάζε καγαδί. πγθεθξηκέλα, κε βάζε ην όλνκα ηνπ καγαδηνύ πνπ εληνπίζηεθε, ζα γίλεηαη κία αλαδήηεζε ζε έλα αξρείν.json, κε ρξήζε ζπλάξηεζεο ε νπνία ζα επηζηξέθεη ηνλ αξηζκό ησλ επηζθέςεώλ ηνπ. Εκθάληζε 3D ζεξκόκεηξνπ Κάζε θνξά πνπ ζα αλαγλσξίδεηαη έλα καγαδί ζα θαινύληαη ζπλαξηήζεηο γηα ηελ πινπνίεζε ηεο επαπμεκέλεο πξαγκαηηθόηεηαο. ηελ νζόλε ηνπ ρξήζηε, ε πξαγκαηηθόηεηα ε πξόζνςε ηηο θαθεηέξηαο ζα επαπμάλεηαη κε ηελ εκθάληζε ελόο 3ζδηάζηαηνπ ζεξκόκεηξνπ. Σν αληηθείκελν απηό ζα ιακβάλεη κία από πέληε δηαθνξεηηθέο ελδείμεηο ζύκθσλα κε ηελ θαηεγνξία πνπ αλήθεη ην θαηάζηεκα βάζε θήκεο. Επηινγή θαηεγνξίαο ζεξκνθξαζίαο Γηα ηελ αληηζηνίρεζε ηνπ θαηαζηήκαηνο κε κία θαηεγνξία θήκεο ζα πινπνηήζνπκε κία ζπλάξηεζε πνπ ζα ιακβάλεη ππόςε ηα totals όισλ ησλ θαθεηεξηώλ. αλ είζνδν ζα έρεη ην totals πνπ ιάβακε από ηελ πξνεγνύκελε ελέξγεηα θαη ζηελ έμνδό ηνπ ζα δίλεηαη ε θαηεγνξία πνπ θαηαηάζζεηαη. 26

35 Rendering ηνλ θώδηθά καο ζα ππάξρνπλ εληνιέο πνπ ζα επηζηξέθνπλ ηελ εηθόλα πνπ ζα «θαιύπηεη» ην 3ζδηάζηαην ζεξκόκεηξό θαη ζα βαζίδνληαη ζηελ θαηεγνξία θήκεο πνπ αλήθεη. Ζ αληηζηνίρεζε ζα είλαη κία πξνο κία. Έπεηηα ζα πινπνηείηαη ην rendering,δειαδή ν ζρεδηαζκόο ηνπ αληηθεηκέλνπ θαη ηνπ texture ηνπ, θαη ην απνηέιεζκα ζα επηζηξέθεηαη ζηελ νζόλε ηνπ ρξήζηε. Δθθξάδνπκε ηηο παξαπάλσ ελέξγεηεο κε έλα δηάγξακκα ξνήο: 3.2 Γηάγξακκα ξνήο εθαξκνγήο 27

36 Με βάζε ηνλ παξαπάλσ ζρεδηαζκό αλακέλνπκε ην απνηέιεζκα πνπ ζα παίξλνπκε ζηελ νζόλε ηνπ έμππλνπ ηειεθώλνπ καο λα κνηάδεη κε ηελ παξαθάησ εηθόλα: 3.3 Πξνζρέδην πινπνίεζεο 28

37 Κεθάλαιο 4 Υλοποίηζη ζε Android με σπήζη ηην απσιηεκηονικήρ Vuforia Εηζαγσγή ην θεθάιαην 4, επηιέγνπκε ηηο ηερλνινγίεο θαη ηα πεξηβάιινληα πνπ ζα ρξεζηκνπνηήζνπκε γηα λα πινπνηήζνπκε ηηο απαξαίηεηεο ελέξγεηεο θαη εμεγνύκε ην ιόγν πνπ ηα δηαιέμακε. Δπίζεο, αλαιύνπκε θάζε βήκα πνπ πξαγκαηνπνηήζακε, δίλνπκε ηνλ θώδηθα ησλ ιεηηνπξγηώλ ζε θάπνηα ζεκαηληθά ζεκεία θαη εκθαλίδνπκε κε ρξήζε εηθόλσλ βήκαηα αλάπηπμεο αιιά θαη νινθιεξσκέλα απνηειέζκαηα. Γηα ηελ πινπνίεζε ηεο εθαξκνγήο καο αθνινπζήζακε ηελ δνκή ηνπ ζρεδίνπ πνπ θάλακε ζην πξνεγνύκελν θεθάιαην. Σερλνινγίεο θαη πεξηβάιινληα πνπ ζα ρξεζηκνπνηεζνύλ γηα ηελ αλάπηπμε ηεο εθαξκνγήο καο Σν ιεηηνπξγηθό ζύζηεκα Android, είλαη ην mobile OS πνπ επηιέμακε γηα λα αλαπηύμνπκε ηελ εθαξκνγή καο. Με βάζε ηελ επηζθόπεζε πνπ θάλακε ζηα δύν πξώηα θεθάιαηα, είδακε πσο απνηειεί ην θνξπθαίν ιεηηνπξγηθό ζύζηεκα γηα θηλεηέο ζπζθεπέο από άπνςε απόδνζεο, εθαξκνγώλ, δηαζέζηκσλ εξγαιείσλ ζηνπο πξνγξακκαηηζηέο, επεθηαζηκόηεηα θαη θπζηθά θήκεο. Σν γεγνλόο όηη ην Android είλαη αλνηρηνύ θώδηθα, πηζηεύνπκε όηη αξθεί από κόλν ηνπ γηα λα ην επηιέμνπκε. Πεπιβάλλον ανάπηςξηρ εθαπμογών Android (development environment) Σν Android SDK παξέρεη ζηνπο πξνγξακκαηηζηέο ηηο βηβιηνζήθεο API θαη ηα εξγαιεία αλάπηπμεο πνπ είλαη απαξαίηεηα γηα λα ηελ δεκηνπξγία, ηνλ έιεγρν θαη ηελ απνζθαικάησζε ησλ εθαξκνγώλ Android. Έλα λέν παθέην, κε ην όλνκα ADT Bundle, είλαη πιένλ δηαζέζηκν γηα λα μεθηλήζεη θάπνηνο γξήγνξα θαη εύθνια ηελ δεκηνπξγία εθαξκνγώλ. Πεξηιακβάλεη ηα απαξαίηεηα ζηνηρεία ηνπ Android SDK (software development kit) θαη κία έθδνζεο ηνπ Eclipse IDE καδί κε έλα ελζσκαησκέλν ADT (Android Developer Tool) γηα ηελ αλάπηπμε εθαξκνγώλ. Οη πιαηθόξκεο αλάπηπμεο ππνζηεξίδνληαη από ππνινγηζηέο πνπ ηξέρνπλ ιεηηνπξγηθά Linux, Mac OS X θαη κεηά, θαη ηηο εθδόζεηο Windows από ηα XP θαη έπεηηα. Οη εθαξκνγέο γξάθνληαη ζε γιώζζα πξνγξακκαηηζκνύ Java θαη ρξεζηκνπνηώληαο ηελ Dalvik,κία πξνζαξκνζκέλε εηθνληθή κεραλή ζρεδηαζκέλε γηα ελζσκαησκέλε ρξήζε ε νπνία «ηξέρεη» ζε ππξήλα ησλ Linux. 4.1 Android development environment 29

38 Android SDK Σν ζεη αλάπηπμεο ινγηζκηθνύ ( Software Development Kit SDK) ηνπ Android απνηειείηαη από βαζηθά packages, ηα νπνία κπνξνύκε λα απνθηήζνπκε κεκνλσκέλα ρξεζηκνπνηώληαο ηνλ SDK Manager. Μπνξνύκε λα μεθηλήζνπκε ηνλ SDK Manager κέζσ ηνπ ADT ηνπ Eclipse (Window > Android SDK Manager), ζηα Windows ηξέρνληαο ην SDK Manager.exe ζην root directory ηνπ Android ή ζην Mac/Linux από ηεξκαηηθό; ζην directory tools/ ηνπ Android SDK θαη εθηειώληαο ην android sdk. Μέζσ ηνπ SDK Manager κπνξνύκε άκεζα λα απνθηήζνπκε ηηο αλαλεώζεηο ησλ εξγαιείσλ ή 4.2 Android SDK ηηο λέεο εθδόζεηο ηεο πιαηθόξκαο Android. Αθνινπζνύλ ηα ππνρξεσηηθά. (Y) packages αιιά θαη θάπνηα πξνηεηλόκελα (Π) : SDK Tools Τ Πεξηιακβάλεη έλα πιήξεο ζεη εξγαιείσλ γηα ηελ αλάπηπμε, ηελ απνζθαικάησζε θαη ηνλ έιεγρν, καδί κε άιιεο ιεηηνπξγίεο γηα ηελ νινθιήξσζε κίαο εθαξκνγήο. SDK Platform-tools Y Πεξηιακβάλεη εξγαιεία εμαξηεκέλα από ηελ πιαηθόξκα Android γηα ηελ αλάπηπμε θαη ηελ αλάπηπμε ηεο εθαξκνγήο. Απηά ηα εξγαιεία ππνζηεξίδνπλ ηα ηειεπηαία ραξαθηεξηζηηθά ηεο πιαηθόξκαο Android θαη ηππηθά αλαλεώλνληαη κόλν όηαλ εθδίδεηαη θαη λέα πιαηθόξκα. SDK Platform Y Δίλαη ππνρξεσηηθό λα ππάξρεη ζην πεξηβάιινλ ηνπιάρηζηνλ κία πιαηθόξκα Android ώζηε λα κεηαγισηηίδεηαη ε εθαξκνγή. Πξνηείλεηαη θάζε θνξά ε εγθαηάζηαζε θαη ρξήζε ηεο ηειεπηαία πιαηθόξκαο Android γηα ηελ εθκεηάιιεπζε ησλ λέσλ ραξαθηεξηζηηθώλ, από ηνπο πξνγξακκαηηζηέο. Αμηνπνηώληαο απηά ζα παξέρνπλ ηελ θαιύηεξε εκπεηξία ρξήζηε ζηηο ηειεπηαίεο ζπζθεπέο. Αλ ζηνρεύνπκε ζε παιαηόηεξεο εθδόζεηο ηνπ Android API πξέπεη αληίζηνηρα λα ηηο αλαπηύμνπκε θαη λα ηηο ηεζηάξνπκε ζηηο αληίζηνηρεο. Δλώ ζηνλ ππνινγηζηή έρνπκε εγθαηαζηήζεη ην Android 4.2 (API 17) ε ζπζθεπή πνπ ηξέρνπκε ηελ εθαξκνγή καο έρεη ιεηηνπξγηθό Android (API level 15). System Image Π Κάζε έθδνζε πιαηθόξκαο πξνζθέξεη κία ή πεξηζζόηεξεο «εηθόλεο ζπζηήκαηνο»,γηα επεμεξγαζηέο όπσο ν ARM θαη ν x86. Αθόκα θαη αλ κπνξεί λα έρνπκε κία ή πεξηζζόηεξεο ζπζθεπέο πνπ ηξέρνπλ Android, ζίγνπξα δελ κπνξνύκε λα ηηο έρνπκε όιεο. Δίλαη θαιή πξαθηηθή ινηπόλ, λα εγθαζηζηνύκε ηα System Image όισλ ησλ εθδόζεσλ ηνπ Android γηα λα ειέγρνπκε ηελ απόδνζε ηεο εθαξκνγήο καο ζε όιεο ηηο εθδόζεηο, κε ηελ βνήζεηα ησλ emulator. Android Support Π Μία ζηαηηθή βηβιηνζήθε πνπ κπνξεί λα πξνζηεζεί ζην app sources ώζηε λα κπνξνύκε λα ρξεζηκνπνηήζνπκε παλίζρπξα APIs ηα νπνία δελ πεξηιιακβάλνληαη ζηελ βαζηθή έθδνζε. Γηα παξάδεηγκα ε support βηβιηνζήθε πεξηέρεη εθδόζεηο ηεο θιάζεο Fragment γηα ηελ δηαρείξεζε ηνπο θύθινπ δσήο κίαο ζειίδαο. Samples for SDK Π Δίλαη κία ζπιινγή από παξαδείγκαηα πνπ επηδεηθλύνπλ ηελ ρξεζηηθόηεηα ησλ λέσλ API. Απηά ηα demo «ζπάλε» ζε κηθξόηεξεο εθαξκνγέο θαη απνηεινύλ κία θαιή αξρή γηα λα αλαθαιύπηνπκε ηηο ηδηόηεηεο θάζε πιαηθόξκαο Android. Google APIs Π Απηό ην SDK add-on ζπλδηάδεη ηελ πιαηθόξκα αλάπηπμεο εθαξκνγώλ ππνζηεξίδνληαο εηδηθά APIs ηεο Google κε έλα System Image γηα ηνλ έιελρν ηεο εθαξκνγήο ζε θαηάιιειν emulator. Google Play Billing & Licensing Π Πεξηιακβάλεη ζηαηηθέο βηβιηνζήθεο θαη παξαδείγκαηα γηα ηελ ελζσκάησζε ηξαπεδηθώλ ππεξεζηώλ θαη license verification ζηηο εθαξκνγέο,όηαλ απηέο θπθινθνξνύλ από ην Google Play. 30

39 Όια ηα παξαπάλσ «παθέηα» δελ είλαη πεξηνξηζηηθά θαη κπνξνύκε λα πξνζζέζνπκε θαη λέα sites γηα λα θαηεβάζνπκε επηπιένλ «παθέηα» από ηξίηνπο παξόρνπο. Τπάξρνπλ εμαξηήζεηο αλάκεζα ζε θάπνηα από ηα εξγαιεία. Γηα παξάδεηγκα, ηα SDK packages είλαη ζπκβαηά κε ζπγθεθξηκέλε έθδνζε SDK tools θαη αλ ρξεζηκνπνηνύκε ην Eclipse IDE αληίζηνηρα ηα ηειεπηαία απαηηνύλ ίδηα έθδνζε ηνπ ADT plug-in ( έθδνζε ADT 8.x κε ηα SDK Tools r8) [19][21]. Eclipse IDE Σν επίζεκα ππνζηεξηδόκελν νινθιεξσκέλν πεξηβάιινλ γηα αλάπηπμε είλαη ην Eclipse IDE (Integrated Development Environment) πνπ ηξέρεη ην ADT Android Development Toolkit plugin. Σν ADT επεθηείλεη ηηο δπλαηόηεηεο ηνπ Eclipse αθήλνληαο ην ρξήζηε λα νινθιεξώλεη γξεγνξόηεξα ηα λέα project, λα δεκηνπξγεί δηεπαθέο ρξήζηε γηα ηηο εθαξκνγέο ηνπ, λα πξνζζέηεη packages βαζηζκέλα ζην Android Framework API, λα απνζθαικαηώλεη ηηο εθαξκνγέο κε ρξήζε ησλ εξγαιείσλ 4.3 Eclipse IDE SDK, αθόκε θαη λα εμάγεη ππνγεγξακκέλν ή κε ην apk αξρείν έηνηκν γηα δεκνζίεπζε ηεο εθαξκνγήο [19]. Πξνηηκήζακε λα εξγαζηνύκε κε απηό ην πεξηβάιινλ ελώ ππάξρεη αθόκα ην IntelliJ IDEA IDE θαη ην NetBeans IDE. Όιεο νη εθδόζεηο ηνπ πξώηνπ ππνζηεξίδνπλ πιήξσο ηελ αλάπηπμε εθαξκνγώλ Android ρσξίο θαλέλα επηπξόζζεην πξόγξακκα ελώ ην πεξηβάιινλ Netbeans ρξεηάδεηαη θαη απηό, όπσο θαη ην Eclipse,ηελ εγθαηάζηαζε ελόο plugin. πγθεθξηκέλα γηα ηελ εξγαζία απηή εξγαζηήθακε ζηελ έθδνζε JUNO (4.2.1) ηνπ Eclipse IDE θαη εγθαηαζηήζακε ηελ έθδνζε ηνπ ADT (Φεβξνπάξην 2013). Αθνινπζνύλ θαη ηα ππόινηπα ραξαθηεξηζηηθά ηνπ Eclipse SDK πνπ ρξεζηκνπνηήζεθαλ, κε ηηο εθδόζεηο ηνπο: 4.4 Πεξηβάιινλ ηνπ Eclipse πνπ εξγαζηήθακε 31

40 JVM H Java Virtual Machine (JVM) είλαη κία εηθνληθή κεραλή πνπ κπνξεί λα εθηειέζεη Java byte code. Δίλαη ην ζεκαληηθόηεξν ηκήκα ηεο πιαηθόξκαο Java, όπνπ εθηειείηαη ν θώδηθαο. H Sun Microsystems έρεη δειώζεη πσο ππάξρνπλ πάλσ από 5.5 δηζεθαηνκκύξηα ζπζθεπέο πνπ «ηξέρνπλ» ηελ JVM. Απηέο νη εηθνληθέο κεραλέο είλαη δηαζέζηκεο γηα πνιιέο πιαηθόξκεο πιηθνύ θαη ινγηζκηθνύ. Σν γεγνλόο όηη επαλαρξεζηκνπνηνύλ ηνλ ίδην θώδηθα byte code γηα όιεο ηηο JVM παληνύ, άμηα πεξηγξάθεη ηελ γιώζζα ζαλ εύθνια θαη απόιπηα κεηαθέξζηκε (write once - run anywhere), ζε αληίζεζε κε cross-platform γιώζζεο πξνγξακκαηηζκνύ νη νπνίεο πξέπεη λα κεηαγισηηίδνληαη από ηελ αξρή (write once compile anywhere). Σα java byte codes είλαη κία ελδηάκεζε γιώζζα, όπνπ θάζε εληνιή/opcode ηεο έρεη κήθνο ελόο byte. H γιώζζα απηή ηππηθά πξνθύπηεη από ηελ Java αιιά κπνξεί λα κεηαγισηηηζηεί επίζεο από άιιεο γιώζζεο πξνγξακκαηηζκνύ. Γηα παξάδεηγκα, ν πεγαίνο θώδηθαο Ada κπνξεί λα κεηαγισηηηζηεί ζε Java Bytecode θαη λα εθηειεζηεί ζηελ εηθνληθή κεραλή ηεο Java [22][23]. JRE Μία εηθνληθή κεραλή Java δηαλέκεηαη καδί ηελ Java Class Library, έλα ζύλνιν ηππηθώλ βηβιηνζεθώλ γηα θιάζεηο γξακκέλεο ζε Java bytecode, πνπ πινπνηνύλ ηελ δηεπαθή πξνγξακκαηηζκνύ εθαξκνγώλ Java (Application Programming Interface API). Σν παθέην απηό απνηειεί ην πεξηβάιινλ ρξόλνπ εθηέιεζεο ηεο Java ( Java Runtime Environment JRE ). ην δηπιαλό ζρήκα βιέπνπκε κία επηζθόπεζε ηεο αξρηηεθηνληθήο JVM. Ο πεγαίνο θώδηθαο κεηαγισηηίδεηαη ζε Java bytecode, ην νπνίν επαιεζεύεηαη, εξκελεύεηαη ή κεηαγισηηίδεηαη γηα ηελ native αξρηηεθηνληθή. Σα Java APIs καδί κε JVM ζπλζέηνπλ ην JRE. JDK Java Development Kit JDK ζεσξείηαη νπνηαδήπνηε από ηηο πινπνηήζεηο πιαηθόξκαο Java SE, Java EE ή Java ME πνπ θπθινθόξεζαλ από ηελ Oracle Corporation θαη απεπζύλεηαη ζηνπο πξνγξακκαηηζηέο Java πνπ ρξεζηκνπνηνύλ Solaris, Linux, Mac OS X ή Windows. Από ηελ εηζαγσγή ηεο πιαηθόξκαο Java απνηειεί ην πην δηαδεδνκέλν Software Development Kit SDK. 4.5 JVM αξρηηεθηνληθή 32

41 Σν JDK πεξηιακβάλεη ηα αξρηθά ηκήκαηα κία ζπιινγήο εξγαιείσλ πξνγξακκαηηζκνύ. Αλαθέξνπκε νξηζκέλα από απηά: appletviewer απηό ην εξγαιείν ρξεζηκνπνηείηαη γηα λα ηξέμνπκε θαη λα απνζθαικαηώζνπκε Java applets ρσξίο web browser java ε εθαξκνγή πνπ «θνξηώλεη» Java εθαξκνγέο. Μπνξεί λα κεηαθξάζεη ηηο θιάζεηο πνπ παξάγνληαη από ην javac compiler. javac o κεηαγισηηηζηήο ηεο Java πνπ κεηαηξέπεη ηνλ πεγαίν θώδηθα ζε bytecode jar ζπγθεληξώλεη όιεο ηηο ζρεηηθέο θιάζεηο Javaζε έλα αξρείν jdb o debugger jrunscript θέιπθνο γξακκήο εληνιώλ γηα ηελ Java keytool εξγαιείν γηα ζπκπίεζε ησλ αξρείσλ jar Σν JDK αθόκε θπθινθνξεί κε έλα πιήξεο Java Runtime πεξηβάιινλ, πνπ πεξηιακβάλεη εθηόο από ην JRE θαη ρξήζηκεο βηβιηνζήθεο κόλν ζηνπο πξνγξακκαηηζηέο, όπσο βηβιηνζήθεο «παγθνζκηνπνίεζεο» γηα ηελ ππνζηήξημε πνιιώλ γισζζώλ πξνγξακκαηηζκνύ θαη βηβιηνζήθεο γηα ηελ πεξηγξαθή ησλ δηεπαθώλ (interface description language IDL) [24] 4.6 Java Development Kit NDK Σν Android Native Development Kit NDK είλαη κία εξγαιεηνζήθε πνπ επηηξέπεη ηελ πινπνίεζε ηκεκάησλ κηαο εθαξκνγήο ρξεζηκνπνηώληαο native θώδηθα ζε γιώζζεο πξνγξακκαηηζκνύ όπσο ε C θαη ε C++. Απηό πξνζθέξεη πιενλεθηήκαηα ζε ζπγθεθξηκέλεο θιάζεηο θαζώο επηηξέπεη ηελ επαλαρξεζηκνπνίεζε ηνπ ππάξρνλ θώδηθα θαη ζε αξθεηέο πεξηπηώζεηο απμάλεη ηελ ηαρύηεηα. Οη εfαξκνγέο γξακκέλεο ζε java κπνξνύλ είηε λα θαιέζνπλ, είηε λα θιεζνύλ από, θώδηθα γξακκέλν ζε native code ράξε ζην Java Native Interface JNI. Οη πεξηζζόηεξεο εθαξκνγέο δελ ρξεηάδνληαη ην Android NDK. Σν NDK θαη ε ρξήζε native-code ηκεκάησλ δελ ιεηηνπξγεί πάληα ππέξ ηεο εθαξκνγήο. Όπνπ δελ είλαη απαξαίηεην πάληα απμάλεη ηελ πνιππινθόηεηα ηεο εθηέιεζεο αληί λα νδεγεί ζε βειηίσζε ηεο απόδνζεο. Σππηθά, θαινί ππνςήθηνη γηα ην NDK είλαη απηόλνκεο ιεηηνπξγίεο ή ιεηηνπξγίεο πνπ απαηηνύλ πνιύ CPU, νη νπνίεο δελ δεζκεύνπλ πνιύ κλήκε όπσο ε επεμεξγαζία ζεκάησλ, ε πξνζνκνίσζε θπζηθήο θαη νύησ θαζεμήο. Γηα λα πάξνπκε ηελ απόθαζε αλ ζα πξέπεη ή όρη λα ρξεζηκνπνηήζνπκε native θώδηθα πξέπεη αξρηθά λα δνύκε ηηο απαηηήζεηο ηεο εθαξκνγήο καο θαη αλ ην 4.7 Android NDK Android framework API παξέρεη ηελ ιεηηνπξγηθόηεηα. πνπ ρξεηαδόκαζηε. ηελ εξγαζία καο ρξεζηκνπνηνύκε ην Android NDK θαη ζπγθεθξηκέλα ηελ έθδνζε r8d γηα Windows. Ο ιόγνο πνπ ην επηιέγνπκε είλαη ε θιήζε ζπλαξηήζεσλ πνπ αλήθνπλ ζε βηβιηνζήθεο γξακκέλεο ζε C++. Ζ επόκελε ελόηεηα δηθαηνινγεί απόιπηα απηή ηελ επηινγή/αλάγθε καο [19]. 33

42 Πεπιβάλλον ανάπηςξηρ λειηοςπγιών επαςξημένηρ ππαγμαηικόηηηαρ Ζ εηθόλα απνηειεί ζήκα θαη ε επεμεξγαζία ζεκάησλ όπσο αλαθέξακε θαη αλώηεξα εθηειείηαη θαιύηεξα ζε ρακειό επίπεδν επίπεδν πιηθνύ κε ηελ ρξήζε native code ζπλαξηήζεσλ γξακκέλεο ζε C/C πλδηαζκόο 2d γηα 3d παξνπζίαζε Μεηαθέξνληαο ηηο πξάμεηο γηα επεμεξγαζία ηεο εηθόλαο ζε επίπεδν CPU θαηαθέξλνπκε πςειήο πνηόηεηαο θαη νηθνλνκηθό απνηέιεζκα. Μέζσ ηνπ Android NDK ζηεξίδνληαη θαη νη native βηβιηνζήθεο γηα ηελ θαηαζθεπή πξνβνιήο από 2d ζε 3d. Γηα ηελ πινπνίεζε ηεο επαςξημένηρ ππαγματικότηταρ ζηελ εθαξκνγήο καο ρξεζηκνπνηνύκε ηελ ηερλνινγία Vuforia ηεο Qualcomm. Βαζηδόκαζηε ζηελ αξρηηεθηνληθή ηεο θαη πξνγξακκαηίδνπκε ηελ εθαξκνγή Android καο, πνπ είλαη γξακκέλε ζε Java, λα πξαγκαηνπνηεί θιήζεηο ζε ζπλαξηήζεηο native θώδηθα. Ζ βηβιηνζήθε πνπ πεξηέρεη ηηο ζπλαξηήζεηο απηέο είλαη γξακκέλε ζηελ γιώζζα πξνγξακκαηηζκνύ Cpp. Γηα ηελ «ελζσκάησζε» ηνπ θώδηθα ηεο Cpp ζην project καο είλαη απαξαίηεηε ε κεηαγιώηηηζε ηεο βηβιηνζήθεο Cpp ζε native code. Σελ ιεηηνπξγία απηή ηελ αλαιακβάλεη ην Native Development Kit πνπ αλαθέξακε θαη λσξίηεξα θαη γηα ηελ εθηέιεζε ηνπ ρξεζηκνπνηνύκε ην πεξηβάιινλ Cygwin. Σέινο, ν ζρεδηαζκόο ησλ ηξηζδηάζηαησλ γξαθηθώλ γίλεηαη κε ηελ ρξήζε ηνπ Open GL ES. 4.9 Android-NDK-OpenGL ES Qualcomm s Vuforia SDK (QCAR) Μία εθαξκνγή πνπ ρξεζηκνπνηεί ηελ επαπμεκέλε πξαγκαηηθόηεηα θαη βαζίδεηαη ζην SDK ηεο Vuforia απνηειείηαη από ηα παξαθάησ θύξηα ζηνηρεία: Camera Σν singleton ηεο θάκεξαο εγγπάηαη πσο θάζε frame πνπ ιακβάλεηαη ζηέιλεηαη απνηειεζκαηηθά ζηνλ Tracker. Ο πξνγξακκαηηζηήο έρεη κόλν λα πεη ζην singleton ηεο cameras πόηε πξέπεη λα μεθηλήζεη θαη λα ζηακαηήζεη ε ιήςε. Σν format θαη κέγεζνο ηνπ πιαηζίνπ εηθόλαο πνπ ιακβάλεηαη εμαξηάηαη από ηελ ζπζθεπή. 34

43 Image Converter Σν singleton γηα ηελ κεηαηξνπή ηνπ format ησλ pixel κεηαηξέπεη ην frame από format θάκεξαο (πρ ΤUV12) ζε έλα format θαηάιιειν γηα ην OpenGL ES rendering (πρ RGB565) θαη γηα ηελ αλίρλεπζε (πρ. θσηεηλόηεηα). Απηό ην singleton παξάγεη αθόκε εηθόλεο ρακειόηεξεο αλάιπζεο, κε ηελ ρξήζε δεηγκαηνιεςίαο. Tracker Ο «αληρλεπηήο» πεξηιακβάλεη όινπο ηνπο αιγνξίζκνπο γηα ππνινγηζηηθή όξαζε πνπ αληρλεύνπλ ζηα frames ηεο θάκεξαο ηα πξαγκαηηθά αληηθείκελα. Βάζε ηεο εηθόλαο ηεο θάκεξαο, δηαθνξεηηθνί αιγόξηζκνη αλαιακβάλνπλ ηελ αλίρλεπζε λέσλ ζηόρσλ. Σα απνηειέζκαηα απνζεθεύνληαη ζην «state object» πνπ ρξεζηκνπνηείηαη από ην video background renderer θαη πξνζπειαύλεηαη από ηνλ θώδηθα ηεο εθαξκνγήο (application code). Video Background Renderer To singleton απηό ζρεκαηίδεη ηελ εηθόλα ηεο θάκεξαο πνπ βξίζθεηαη ζην stare object. Ζ απόδνζε απηήο ηεο δηαδηθαζίαο βειηηζηνπνηείηαη γηα νξηζκέλεο ζπζθεπέο. Application Code ηνλ θώδηθα ηεο εθαξκνγήο πξέπεη λα αξρηθνπνηεζνύλ όια ηα αλώηεξα ζηνηρεία θαη λα πινπνηεζνύλ ηξία βήκαηα «θιεηδηά». Γηα θάζε frame πνπ δέρεηαη ηελ παξαπάλσ επεμεξγαζία, ην state object αληίζηνηρα αλαλεώλεηαη θαη θαινύληαη νη κέζνδνη γηα ηελ απεηθόληζε. Ο πξνγξακκαηηζηήο ηεο εθαξκνγήο πξέπεη λα: 1. Εεηάεη ηα state-object γηα θάζε λέν αληηθείκελν πνπ αληρλεύεηαη είηε είλαη ζηόρνο, marker ή αλαλεσκέλε θαηάζηαζε απηώλ ησλ ζηνηρείσλ 2. Δλεκεξώλεη ηελ εθαξκνγή κε ηα λέα δεδνκέλα 3. ρεκαηίδεη ην «ζηξώκα» γηα ηελ αλαπαξάζηαζε ησλ γξαθηθώλ επαπμεκέλεο πξαγκαηηθόηεηαο. Device Databases Οη βάζεηο δεδνκέλσλ ηεο ζπζθεπήο δεκηνπξγνύληαη ρξεζηκνπνηώληαο ην online εξγαιείν γηα θαηαζθεπή ζηόρσλ, Target Manager. Σν dataset πνπ πξνθύπηεη πεξηιακβάλεη έλα xml αξρείν πνπ επηηξέπεη ζηνλ πξνγξακκαηηζηή λα αιιάμεη ζπγθεθξηκέλα ραξαθηεξηζηηθά ηνπ trackable, θαη έλα δπαδηθό αξρείν (binary file) πνπ πεξηέρεη ηελ βάζε δεδνκέλσλ ηνπ trackable. Σα αξρεία απηά κεηαγισηηίδνληαη θαηά ηελ δηάξθεηα ηελ δεκηνπξγίαο ηνπ.apk θαη ρξεζηκνπνηνύληαη από ην SDK θαηά ηελ εθηέιεζε. Cloud Databases Όπσο θαη νη βάζεηο δεδνκέλσλ ηεο ζπζθεπήο έηζη θαη νη cloud databases δεκηνπξγνύληαη κέζσ ηνπ Target Manager. Σα targets κπνξνύλ λα απνζεθεπηνύλ κε ηελ βνήζεηα ησλ API γηα ηηο ππεξεζίεο δηαδηθηύνπ ηεο Vuforia Web Services. Οη ζηόρνη-εηθόλεο αλαδεηνύληαη, θαηά ηε δηάξθεηα ηεο εθηέιεζεο ηεο εθαξκνγήο, ρξεζηκνπνηώληαο ηερλνινγίεο αλαγλώξηζεο ζε cloud. Απηέο πξαγκαηνπνηνύλ κία εηθνληθή αλαδήηεζε ζην cloud βάζε ησλ εηθόλσλ πνπ ζηέιλνληαη από ηελ θάκεξα. User Defined Targets Σν ραξαθηεξηζηηθό απηό απνηειεί κία εληειώο λέα πξνζέγγηζε ζηελ επαπμεκέλε πξαγκαηηθόηεηα. Σώξα νη ρξήζηεο κπνξνύλ λα δεκηνπξγνύλ targets ζηε ζηηγκή κε ρξήζε ηελ εηθόλα από ηελ θάκεξά ηνπο. Μία λέα θιάζε θαιείηαη γηα ηελ δεκηνπξγία λέσλ ζηόρσλ νξηζκέλσλ από ηνλ ρξήζηε. Απηά ηα targets επηζηξέθνληαη ζηελ εθαξκνγή αιιά ηζρύνπλ κόλν γηα ηελ ηξέρνπζα AR ζπλεδξίαο. 35

44 4.10 Γηάγξακκα ξνήοηνπ Vuforia AR SDK ζε πεξηβάιινλ εθαξκνγήο OpenGL ES Σν OpenGL ES opengl for embedded Systems - είλαη έλα ππνζύλνιν ηνπ OpenGL API γηα ηελ αλάπηπμε 3d γξαθηθώλ, ζρεδηαζκέλν γηα ελζσκαησκέλα ζπζηήκαηα όπσο ηα θηλεηά ηειέθσλα, ηα PDA θαη νη θνλζόιεο γηα βηληενπαηρλίδηα. Σν OpenGL ES δηαρεηξίδεηαη από ηελ κε-θεξδνζθνπηθή ζύκπξαμε εηαηξεηώλ,ηελ Khronos Group Inc. Τπάξρνπλ ηξεηο εθδόζεηο νη νπνίεο πεξηέρνπλ δαλεηζκέλεο ιεηηνπξγίεο από ην πξσηόηππν OpenGL API θαζώο θαη πνιιέο λέεο. ηόρνο θάζε θνξά είλαη ηα λέα API λα είλαη απνδνηηθά θαη γξήγνξα ζηελ εθηέιεζε [25]. Cygwin Environment Σν Cygwin είλαη έλα πεξηβάιινλ πνπ κνηάδεη ζην Unix θαη παξέρεη έλα παξάζπξν γξακκήο εληνιώλ γηα ην ιεηηνπξγηθό ζύζηεκα Windows ηεο Microsoft. Καζώο ηελ εθαξκνγή καο ηελ αλαπηύζζνπκε ζε Windows, ρξεηαδόκαζηε έλαλ GNU compiler γηα λα κεηαγισηηίδεη δπλακηθέο εθαξκνγέο ζε δηακνηξαδόκελεο βηβιηνζήθεο γηα ην Android NDK. Δπηιέγνπκε ην πεξηβάιινλ Cygwin γηα απηή ηελ δηαδηθαζία. 36

45 Blender Σν Blender είλαη πξόγξακκα ζρεδίαζεο 3D γξαθηθώλ, είλαη ειεύζεξν ινγηζκηθό θαη δηαλέκεηαη από ηελ άδεηα GNU General Public License. Υξεζηκνπνηείηαη γηα modeling, rigging, πξνζνκνηώζεηο λεξνύ, animation, rendering, κε γξακκηθή επεμεξγαζία θαη γηα δεκηνπξγία αιιειεπηδξαζηηθώλ 3d εθαξκνγώλ όπσο ηα βηληενπαηρλίδηα. Δίλαη δηαζέζηκν γηα όια ηα θύξηα ιεηηνπξγηθά ζπζηήκαηα όπσο ηα Windows ηεο Microsoft ην Linux, ην Mac OS X θαη ην Solaris. Σν Blender δηαζέηεη πξνρσξεκέλα εξγαιεία γηα animation, δηάθνξα εξγαιεία γηα ζρεδίαζε ραξαθηήξσλ θαη ξνύρσλ γηα ηνλ ραξαθηήξα, εξγαιεία γηα δεκηνπξγία πιηθνύ θαζώο επίζεο θαη ηε γιώζζα πξνγξακκαηηζκνύ Python γηα εζσηεξηθό scripting. Ζ έθδνζε ηνπ Blender πνπ ρξεζηκνπνηνύκε γηα ηελ δεκηνπξγία ηνπ ηξηζδηάζηαηνπ ζεξκόκεηξνπ είλαη ε 2.63 [26] To logo ηνπ Blender & έλα κνληέιν ηνπ Gimp Σν Gimp (GNU Image Manipulation Program) είλαη έλα δσξεάλ ινγηζκηθό επεμεξγαζίαο γξαθηθώλ ηύπνπ raster. Δίλαη εξγαιείν πνπ αζρνιείηαη θπξίσο κε ηελ δηακόξθσζε θαη ηελ επεμεξγαζία εηθόλαο θαη είλαη δηαζέζηκν ζε εθδόζεηο γηα ηα πην δεκνθηιή ιεηηνπξγηθά ζπζηήκαηα όπσο ηα Microsoft Windows, ην Mac OS X ηεο Apple, θαη ην GNU/Linux. Δθηόο από ηελ ιεπηνκεξή επηδηόξζσζε ηεο εηθόλαο θαη ηε ζρεδίαζε ειεύζεξεο κνξθήο, ην GIMP κπνξεί λα θέξεη εηο πέξαο βαζηθέο εξγαζίεο επεμεξγαζίαο εηθόλαο, όπσο ε αιιαγή κεγέζνπο, ε επεμεξγαζία θαη ε «θαιιηέξγεηα» θσηνγξαθηώλ, ην θσηνκνληάδ ζπλδπάδνληαο πνιιαπιέο εηθόλεο θαη ε κεηαηξνπή κεηαμύ δηαθνξεηηθώλ κνξθώλ εηθόλαο. Δπίζεο κπνξεί λα ρξεζηκνπνηεζεί γηα λα δεκηνπξγήζεη θηλνύκελεο εηθόλεο ζε πνιιέο κνξθέο, όπσο GIF θαη MPEG κέζσ ηνπ Animation plug-in. Σν όξακα ηνπ πξντόληνο είλαη όηη ην GIMP είλαη έλα δσξεάλ ινγηζκηθό γηα απαηηεηηθνύο ρξήζηεο πνπ βαζίδεηαη ζηελ εθαξκνγή γξαθηθώλ, ζηελ επεμεξγαζία θαη δεκηνπξγία πξσηόηππσλ εηθόλσλ, ζηα γξαθηθά ζηνηρεία ησλ ηζηνζειίδσλ θαη ζηελ ηέρλε κεηαηξνπήο ησλ ζηνηρείσλ κηαο δηεπαθήο πνπ έρεη σο επίθεληξν ηνλ ρξήζηε [27] Wilber Ζ καζθόη ηνπ Gimp 37

46 Foursquare Σν Foursquare είλαη ε πην δηαδεδνκέλε πιαηθόξκα θνηλσληθήο δηθηύσζεο πνπ βαζίδεηαη ζε ηνπνζεζίεο (location based social network). Δίλαη κηα ππεξεζία, κηα εθαξκνγή νπζηαζηηθά γηα έμππλα θηλεηά, πνπ επηηξέπεη ζηνπο ρξήζηεο ηνπ λα ην ζπκβνπιεπηνύλ ζαλ ρξήζηκν νδεγό πόιεο, λα δνπλ ηελ ηνπνζεζία πνπ βξίζθνληαη νη θίινη ηνπο ή λα ελεκεξώλνπλ ηνπο ηειεπηαίνπο γηα ηελ δηθήο ηνπο. Οη ρξήζηεο θάλνπλ «check-in» ζε θαηαζηήκαηα ρξεζηκνπνηώληαο ηελ ζειίδα ηνπ Foursquare πνπ είλαη ζρεδηαζκέλε γηα θηλεηέο ζπζθεπέο. Αθόκε κπνξνύλ λα πξαγκαηνπνηήζνπλ ηελ εγγξαθή ηνπο ζε έλα κέξνο κε γξαπηό κήλπκα ή κε κία εθαξκνγή γηα smartphones. Ζ ιίζηα ησλ θαηαζηεκάησλ, από ηελ νπνία νη ρξήζηεο επηιέγνπλ ην καγαδί πνπ βξίζθνληαη, πξνζδηνξίδεηαη κε βάζε ηελ ηνπνζεζία. Ζ αλαγλώξηζε ηεο ηνπνζεζίαο ηνπ ρξήζηε γίλεηαη είηε κε ρξήζε ηνπ GPS ηεο ζπζθεπήο, είηε κέζσ ηνπ δηθηύνπ πνπ ρξεζηκνπνηεί ε εθαξκνγή. Με θάζε check-in πνπ πξαγκαηνπνηεί ν ρξήζηεο, θεξδίδεη πόληνπο,κεηάιιηα. Πνιιά θαηαζηήκαηα γηα ιόγνπο marketing δίλνπλ δώξα ή παξέρνπλ πξνζθνξέο ζε πειάηεο ηνπο πνπ είλαη ρξήζηεο ηνπ Foursquare Foursquare 38

47 Κύθινο δσήο Android activity Όιεο νη εθαξκνγέο Android έρνπλ θάηη πνιύ θνηλό κεηαμύ ηνπο, ηνλ ίδην θύθιν δσήο ελόο Activity. Σν Activity είλαη ε απινύζηεξε «νληόηεηα» πνπ ππάξρεη θαη ζπλήζσο αιιειεπηδξά κε ηνλ ρξήζε. Κάζε εθαξκνγή κπνξεί λα απνηειείηαη από έλα ή πεξηζζόηεξα Activities, ηα νπνία θαινύλ ην έλα ην άιιν κέζσ ηνπ θώδηθα. Τπάξρεη κία ζεηξά από κεζόδνπο αλάθιεζεο (callback methods) πνπ μεθηλνύλ έλα Activity θαη κία άιιε πνπ νδεγνύλ ζην θιείζηκό ηνπ. Καζώο ην ζύζηεκα δεκηνπξγεί έλα λέν Activity, θάζε callback κέζνδνο νδεγεί ηελ θαηάζηαζε ηνπ Activity έλα βήκα πξνο ηελ θνξπθή ηεο ππξακίδαο. Σν αλώηεξν ζεκείν πνπ κπνξεί λα βξεζεί έλα Activity αληηζηνηρεί ζηε θαηάζηαζε ζηελ νπνία ην Activity ηξέρεη ζην πξνζθήλην θαη ν ρξήζηεο κπνξεί λα αιιειεπηδξάζεη καδί ηνπ. Όηαλ ν ρξήζηεο μεθηλά λα «απνκαθξύλεηαη» από ην Activity, ην ζύζηεκα θαιεί άιιεο κεζόδνπο πνπ ην θέξλνπλ ζε θαηάζηαζε απνζύλδεζεο, ελώ θαηεθνξίδεη ηελ ππξακίδα. Τπάξρνπλ πεξηπηώζεηο ζηηο νπνίεο ην Activity ζα θαηεβεί κέρξη έλα «ζθαιί» ηεο ππξακίδαο θαη ζα πεξηκέλεη εθεί (όπσο όηαλ ν ρξήζηεο ελαιιάζζεη ζε άιιε εθαξκνγή), ζην ζεκείν όπνπ ζα κπνξεί λα αλεβεί μαλά ζηελ θνξπθή (εάλ δειαδή ν ρξήζηεο επηζηξέςεη ζηελ εθαξκνγή) γηα λα ζπλερίζεη από ην ζεκείν πνπ ην είρε αθήζεη ν ρξήζηεο. Αθνινπζεί ην ζρεδηάγξακκα ηνπ θύθινπ δσήο ελόο Activity, ζε κνξθή ππξακίδαο, καδί κε κία ζύληνκε πεξηγξαθή γηα ηηο θαηαζηάζεηο ζηηο νπνίεο κπνξεί λα βξεζεί Απινπνηεκέλε αλαπαξάζηαζε ηνπ θύθινπ δσήο ελόο Activity ζε κνξθή ππξακίδαο 39

48 Τπάξρνπλ πνιιέο πεξηπηώζεηο ζηηο νπνίεο ην Activity κεηαβαίλεη κεηαμύ δηαθνξεηηθώλ θαηαζηάζεσλ, όπσο εκθαλίδεηαη θαη ζην αλώηεξν ζρεδηάγξακκα. Σξείο όκσο είλαη νη θαηαζηάζεηο πνπ ην αληηθείκελν κπνξεί λα κείλεη γηα εθηεηακέλν ρξνληθό δηάζηεκα θαη αθνινπζνύλ παξαθάησ: Resumed ε απηή ηελ θαηάζηαζε, ην Activity βξίζθεηαη ζην πξνζθήλην θαη ν ρξήζηεο αιιειεπηδξά κε απηό. Αλαθεξόκαζηε ζε απηή ηελ θαηάζηαζε θαη ζαλ «ηξέρνπζα». Paused ε απηή ηελ θαηάζηαζε, ην Activity βξίζθεηαη κεξηθώο επηθαιπκκέλν από θάπνην άιιν Activity- ην Activity πνπ βξίζθεηαη ζην πξνζθήλην είλαη εκη-δηάθαλν ή δελ θαιύπηεη πιήξσο ηελ νζόλε. Ση Activity πνπ βξίζθεηαη ζε παύζε δελ ιακβάλεη ηελ είζνδν ηνπ ρξήζηε θαη δελ κπνξεί λα εθηειέζεη θώδηθα. Stopped ε απηή ηελ θαηάζηαζε, ην Activity είλαη ηειείσο θξπκκέλν θαη δελ είλαη νξαηό από ηνλ ρξήζηε. Θεσξείηαη πσο βξίζθεηαη ζην background. Σν ζηακαηεκέλν Activity θαη όιε ε πιεξνθνξία πνπ θέξεη,όπσο κεηαβιεηέο, δηαηεξνύληαη αιιά δελ κπνξεί λα εθηειέζεη θαζόινπ θώδηθα. Οη ππόινηπεο θαηαζηάζεηο ( Created θαη Started ) είλαη κεηαβαηηθέο θαη ην ζύζηεκα κεηαβαίλεη γξήγνξα ζε επόκελεο θαιώληαο ηηο callback κεζόδνπο. πγθεθξηκέλα ην ζύζηεκα θαιεί ηελ oncreate(), ακέζσο κεηά θαιεί ηελ onstart(), ε νπνία γξήγνξα αθνινπζείηαη από ηελ onresume() [19]. Κύθινο δσήο gl thread Έλα OpenGL λήκα έρεη θύθιν δσήο πνπ κνηάδεη κε εθείλν ηνπ Android activity θαη πξέπεη λα ην αθνινπζεί όηαλ ην ηειεπηαίν κπαίλεη ζε παύζε θαη όηαλ ζπλερίδεη πάιη λα εθηειείηαη. Σν interface πνπ πινπνηεί έλα λήκα γηα γξαθηθά είλαη ην GLSurfaceView.Renderer θαη έρεη ηξείο κεζόδνπο: onsurfacecreated() απηή ε κέζνδνο θαιείηαη ζηελ έλαξμε ηεο δηαδηθαζίαο rendering θαη όπνηε ην πεξηερόκελν γξαθηθώλ πξέπεη λα μαλαδεκηνπξγεζεί. Σν πεξηερόκελν απηό ζπλήζσο ράλεηαη θαη δεκηνπξγείηαη μαλά όηαλ ην activity βξίζθεηαη ζε θαηάζηαζε Paused ή Resumed. Δδώ είλαη έλα θαιό ζεκείν γηα λα δεκηνπξγεζνύλ νη πεγέο (resources) γηα ην opengl, όπσο ηα textures [19]. onsurfacechanged() απηή ε κέζνδνο θαιείηαη όηαλ ε επηθάλεηα αιιάδεη κέγεζνο. Δίλαη ην ζσζηό κέξνο γηα λα ζέζνπκε ην OpenGL viewport. ε πεξίπησζε πνπ ε θάκεξα είλαη ζηαζεξή θαη δελ θηλείηαη ζηελ ζθελή, εδώ ζα ήηαλ ην απνδνηηθόηεξν λα νξηζηεί. ondrawframe() ε κέζνδνο απηή θαιείηαη σε κάθε frame θαη είλαη ππεύζπλε γηα ηνλ ζρεδηαζκό ηεο εηθόλαο. Σππηθά ζα μεθηλνύζακε θαιώληαο ηελ glclear γηα ηνλ θαζαξηζκό ηνπ framebuffer, αθνινπζνύκελε από άιιεο θιήζεηο ηεο OpenGl γηα ηνλ ζρεδηαζκό ηεο εηθόλαο. 40

49 Εθηέιεζε ελόο θύθινπ δσήο ηεο εθαξκνγήο «πάζε ην ζεξκόκεηξν» 4.15 Image Targets Image Targets 2 Οιόθιεξε ε εθαξκνγή καο βαζίζηεθε ζε έλα παξάδεηγκα (sample code) ηεο Vuforia,έθδνζε Σν παξάδεηγκα απηό απνηειεί ηελ βαζηθόηεξε θαη απινύζηεξε εθαξκνγή ηνπ Vuforia θαη νλνκάδεηαη ImageTargets. Με ηελ εθαξκνγή απηή αληρλεύνληαη εηθόλεο targets,όπσο ε εηθόλα κε ηηο πέηξεο θαη ην άρπξν πνπ θαίλνληαη ζηηο εηθόλεο, θαη εκθαλίδεηαη ζηελ νζόλε ηνπ θηλεηνύ κία 3d θαλάηα. Αλάινγα κε ην πνην target αληρλεπηεί ε θαλάηα παίξλεη δηαθνξεηηθό ρξώκα[21]. ηελ ζπλέρεηα ζα αλαθέξνπκε αλαιπηηθά ηηο ελέξγεηεο πνπ πξαγκαηνπνηνύληαη θαηά ηελ εθηέιεζε ηεο εθαξκνγήο. Γύν threads ηνπ Android αλαιακβάλνπλ λα εκθαλίδνπλ ηελ εηθόλα εθθίλεζεο, λα αξρηθνπνηήζνπλ παξακέηξνπο, λα θνξηώζνπλ αξρεία, λα ππνινγίδνπλ ηηκέο κεηαβιεηώλ,λα πινπνηνύλ ηηο ελέξγεηεο ηεο θάκεξαο θαη λα παξνπζηάζνπλ ην αληηθείκελό καο. Σα threads απηά επηθνηλσλνύλ κεηαμύ ηνπο θαη πνιύ ζπρλά θαινύλ native κεζόδνπο γηα νηηδήπνηε απαηηεί κεγάιε δέζκεπζε πόξσλ. Θα αλαθεξόκαζηε ζην θπξίσο thread κε ην όλνκα «User interface» (UI) θαη ζην ππεύζπλν thread γηα ηα γξαθηθά σο «graphics library» GL thread. Παξαθάησ Σν θάζε thread θαιεί native ζπλαξηήζεηο δηαθνξεηηθήο θαηεγνξίαο. Σν λήκα UI θαιεί ηηο ζπλαξηήζεηο ηεο νηθνγέλεηαο Java_com_qualcomm_QCARSamples_ImageTargets_ImageTargets,κε εμαίξεζε ηελ loadtrackerdata() πνπ είλαη έλα αζύγρξνλν task, ελώ ην GL thread ηηο native ζπλαξηήζεηο πνπ μεθηλνύλ κε Java_com_qualcomm_QCARSamples_ImageTargets_ImageTargetsRenderer. Θα εμεγήζνπκε θαη παξαθάησ πσο απηέο νη ζπλαξηήζεηο θαινύληαη από ηα λήκαηα. ηελ αλαθνξά απηή ζα δώζνπκε ζεκεία ηνπ θώδηθα java γηα λα θαιύςνπκε ηα βήκαηα ηνπ θύθινπ κίαο δσήο ηεο εθαξκνγήο ελώ από ηηο native ζπλαξηήζεηο ζε c++, κόλν ηα κέξε θώδηθα πνπ πξνζζέζακε εκείο. oncreate() Καιείηαη όηαλ ην Activity πξσηνμεθηλά ή όηαλ ε ρξήζηεο επαλέξρεηαη ζην Activity. ηνλ θώδηθά καο νξίδεηαη όπσο παξαθάησ: protected void oncreate(bundle savedinstancestate) Splash screen Πεξηιεπηηθά: Ζ εθαξκνγή καο μεθηλάεη κε ηελ εκθάληζε ηεο εηθόλαο εθθίλεζεο Splash screen. Ζ εηθόλα απηή είλαη νξαηή ζηνλ ρξήζηε γηα όζν ρξόλν ρξεηάδεηαη ε εθαξκνγή γηα λα θνξησζεί. Ζ δηαδηθαζία απηή δηαξθεί ιίγα δεπηεξόιεπηα. 41

50 Αλαιπηηθά: Όηαλ ν ρξήζηεο επηιέγεη ην εηθνλίδην ηεο εθαξκνγήο καο από ην Home screen, ην ζύζηεκα θαιεί ηελ κέζνδν oncreate() ηνπ Activity πνπ έρσ νξίζεη λα είλαη ην θπξίσοlauncher Activity, δειαδή ην Activity κε ην όλνκα «SpaseToThermometroSplashScreen». Ζ δήισζε απηή γίλεηαη ζην αξρείν AndroidManifest.xml πνπ βξίζθεηαη ζην root θάθειν ηνπ project. Σν θπξίσο activity ην νξίδνπκε κέζα ζε έλα <intent-filter> tag πνπ πεξηιακβάλεη ηελ Main ελέξγεηα θαη είλαη θαηεγνξίαο LAUNCHER. <!-- Splash Screen Activity --> <activity android:name=".spasetothermometrosplashscreen" android:configchanges="orientation keyboardhidden" android:nohistory="true" > <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> 4.17 Δηθνλίδην εθαξκνγήο Οη ελέξγεηεο πνπ εθηεινύληαη ζηελ κέζνδν ηεο oncreate() ηνπ «SpaseToThermometroSplashScreen» activity είλαη ε παξνπζίαζε ηεο νζόλεο εθθίλεζεο θαη θιήζε ηνπ main Activity ηεο εθαξκνγήο καο, ηνπ «SpaseToThermometro». Αθνινπζεί ε εληνιή γηα ηελ εκθάληζε ηνπ splash screen. // Sets the Splash Screen Layout setcontentview(r.layout.splash_screen); Ζ νζόλε εθθίλεζεο είλαη έλα Layout πνπ πεξηγξάθεηαη ζην αξρείν res/layout/splash_screen.xml θαη απνηειείηαη από θείκελν θαη εηθνλίδηα. Σα ζηνηρεία πνπ ηελ ζπλζέηνπλ είλαη TextView θαη ImageView αληίζηνηρα. Οη πξνηάζεηο θαηαγξάθνληαη ζην αξρείν res/values/strings.xml ελώ ηα εηθνλίδηα βξίζθνληαη ζηνλ θάθειν res/drawable.o θάθεινο res, δειαδή resources, πεξηέρεη ηνπο πόξνπο. Αθνινπζεί ελδεηθηηθά ν θώδηθαο γηα ηελ εγγξαθή ηνπ ηίηιν ηνπ splash screen θαη ην ινγόηππν ηνπ Ice cream sandwich ηνπ Android. <TextView android:layout_width="280dp" android:layout_height="40dp" android:layout_marginleft="30dp" android:layout_margintop="18dp" android:textstyle="bold" /> <string name="activity_splash_title"> Σπάςε το θερμόμετρο!</string> Splash Screen 42

51 <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignparentbottom="true" android:layout_alignparentleft="true" android:scaletype="fitend" /> 4.19 ICS logo ηελ αξηζηεξή εηθόλα βιέπνπκε ην logo ηνπ ICS ελώ ζηα δεμηά ηεο πξνεγνπκελεο ζειίδαο ην απνηέιεζκα ηεο ζύλζεζεο όισλ ησλ Views πνπ εκθαλίδνληαη ζαλ splash screen. Εθθίλεζε ηνπ main Activity Ζ εθαξκνγή καο ζπλερίδεηαη κε ηελ δεκηνπξγία ηνπ main Activity, «SpaseToThermometro». Σν launcher activity καο εθηειεί ηελ εθθίλεζε ηνπ επόκελνπ activity κε ηελ βνήζεηα ελόο Handler. Έλα Handler επηηξέπεη ζην «λήκα» πνπ ην δεκηνπξγεί λα ζηέιλεη θαη λα επεμεξγάδεηαη Message θαζώο θαη Runnable αληηθείκελα. Ο Handler ηα παξαδίδεη ζηελ νπξά κελπκάησλ (MessageQueue) θαη εθείλα εθηεινύληαη ζεηξηαθά όηαλ βγνύλ από ηελ νπξά. // Generates a Handler to launch the SpaseToThermometro Activity after 2 seconds final Handler handler = new Handler(); handler.postdelayed(new Runnable() public void run() // Starts the SpaseToThermometro Activity startactivity(new Intent(SpaseToThermometroSplashScreen.this, SpaseToThermometro.class));, 2000L); Σν activity «SpaseToThermometro» μεθηλά από ηελ θιήζε ηεο κεζόδνπ oncreate(). Δδώ θνξηώλνληαη ρξήζηκα αξρεία γηα ηελ εθηέιεζε ηεο εθαξκνγή, ζπγθεθξηκέλα ηα textures κε ηελ loadtextures() θαη ην αξρείν points.json κε ηελ loadjsonfile(). Σα textures είλαη νη εηθόλεο πνπ «ληύλνπλ» ην 3d ζεξκόκεηξν ελώ ην points.json πεξηέρεη ηελ πιεξνθνξία γηα ηελ αμηνιόγεζε ησλ θαηαζηεκάησλ. Πξνζζέηνπκε ζηνλ πίλαθα mtextures ηα textures έλα πξνο έλα. Υξεζηκνπνηνύκε 5 εηθόλεο γηα λα πξνζδώζνπκε ζην ζεξκόκεηξν πέληε δηαθνξεηηθέο ζηάζκεο. Σν πξώην πνπ θνξηώλνπκε 1outof5.png απνζεθεύεηαη ζηελ πξώηε ζέζε ηνπ πίλαθα mtextures. Έπεηηα, δεκηνπξγνύκε ην jobject ηύπνπ JSONObject θαη θνξηώλνπκε όιε ηελ πιεξνθνξία πνπ ππάξρεη ζην αξρείν points.json. Ύζηεξα αλαζέησ ζηελ κεηαβιεηή placesarray ην places πνπ είλαη ηύπνπ JSONArray. Σα αξρεία είλαη ζηαηηθά θαη θνξηώλνληαη ζηνλ θάθειν assets ηνπ project. Σα δεδνκέλα ηνπ αξρείνπ json είλαη πξαγκαηηθά θαη πεγάδνπλ από ηελ πιαηθόξκα θνηλσληθήο δηθηύσζεο, Foursquare. 43

52 /** Called when the activity first starts or the user navigates back * to an activity. */ protected void oncreate(bundle savedinstancestate) DebugLog.LOGD("ImageTargets::onCreate"); super.oncreate(savedinstancestate); // Load any sample specific textures: mtextures = new Vector<Texture>(); loadtextures(); loadjsonfile(); // Query the QCAR initialization flags: mqcarflags = getinitializationflags(); // Creates the GestureDetector listener for processing double tap mgesturedetector = new GestureDetector(this, new GestureListener()); // Update the application status to start initializing application: updateapplicationstatus(appstatus_init_app); /** We want to load specific textures from the APK, which we will later use for rendering. */ private void loadtextures() mtextures.add(texture.loadtexturefromapk("1outof5.png", getassets())); mtextures.add(texture.loadtexturefromapk("2outof5.png", getassets())); mtextures.add(texture.loadtexturefromapk("3outof5.png", getassets())); mtextures.add(texture.loadtexturefromapk("4outof5.png", getassets())); mtextures.add(texture.loadtexturefromapk("5outof5.png", getassets())); private void loadjsonfile() DebugLog.LOGI("loadjSonfile"); AssetManager am = getassets(); try InputStream is = am.open("mypoints.json"); String is_string = convertstreamtostring(is); DebugLog.LOGI(is_string); JSONObject jobject = new JSONObject(is_string); placesarray = jobject.getjsonarray("places"); catch (Exception e) DebugLog.LOGE("opening mypoints.json file failed"); 44

53 Αξρηθνπνίεζε παξακέηξσλ ηε ζπλέρεηα ε oncreate() θαιεί κέζνδν γηα λα αλαλεώζεη ηελ θαηάζηαζε ηεο εθαξκνγήο θαη μεθηλά ηελ αξρηθνπνίεζε δηάθνξσλ παξακέηξσλ πνπ δελ ζρεηίδνληαη κε ηελ AR, όπσο ηνλ πξνζαλαηνιηζκό θαη ηηο δηαζηάζεηο ηεο νζόλεο. // Update the application status to start initializing application: updateapplicationstatus(appstatus_init_app); /** NOTE: this method is synchronized because of a potential concurrent * access by SpaseToThermometro::onResume() and InitQCARTask::onPostExecute(). */ private synchronized void updateapplicationstatus(int appstatus) // Exit if there is no change in status: if (mappstatus == appstatus) return; // Store new status value: mappstatus = appstatus; // Execute application state-specific actions: switch (mappstatus) case APPSTATUS_INIT_APP: // Initialize application elements that do not rely on QCAR // initialization: initapplication(); // Proceed to next application initialization status: updateapplicationstatus(appstatus_init_qcar); break; /** Initialize application GUI elements that are not related to AR. */ private void initapplication() // Set the screen orientation: // NOTE: Use SCREEN_ORIENTATION_LANDSCAPE or SCREEN_ORIENTATION_PORTRAIT // to lock the screen orientation for this activity. int screenorientation = ActivityInfo.SCREEN_ORIENTATION_SENSOR;.. // Apply screen orientation setrequestedorientation(screenorientation); updateactivityorientation(); // Query display dimensions: storescreendimensions();.. Ακέζσο κεηά, αλαλεώλεηαη πάιη ην status θαη θαιείηαη ην InitQCARTask(), έλα AsyncTask. Σα AsyncTask δίλνπλ ηε δπλαηόηεηα ζην UI thread λα εθηειεζηεί εύθνια θαη ζσζηά, ηξέρνληαο θάπνηεο ελέξγεηεο ζην background θαη αλαθνηλώλνληάο ηνπ ηα απνηειέζκαηα όηαλ είλαη έηνηκα. ρεδηάζηεθαλ ζαλ βνεζεηηθέο θιάζεηο ησλ Thread θαη Handler θαη σο ηέηνηεο ηηο ρξεζηκνπνηνύκε. Έλα AsyncTask κπνξεί λα βξεζεί ζε ηέζζεξηο θαηαζηάζεηο, ηελ onpreexecute(), 45

54 doinbackground(), onprogressupdate θαη onpostexecute. Σν InitQCARTask() είλαη έλα ηέηνην Task θαη κόλν ζηηο δύν θαηαζηάζεηο εθηειεί εληνιέο ελώ πξνζπεξλά ηηο άιιεο. Καηά ηελ doinbackground() αξρηθνπνηνύληαη νη παξάκεηξνη ζρεηηθά κε ην QCAR SDK. Ζ αξρηθνπνίεζε ησλ ζηνηρείσλ απηώλ γίλνληαη αζύγρξνλα κέζσ ελόο AsyncTask ώζηε λα απνηξαπεί ε παξαθώιπζε ηνπ θπξίσο (UI) thread. Έπεηηα,πξηλ νινθιεξσζεί, θαηά ηελ onpostexecute() θαιεί ηελ updateapplicationstatus(appstatus_init_tracker) γηα λα αιιάμεη ε θαηάζηαζε ηεο εθαξκνγήο θαη λα μεθηλήζεη ε αλαδήηεζε γηα ηα targets. private synchronized void updateapplicationstatus(int appstatus).. case APPSTATUS_INIT_QCAR: // Initialize QCAR SDK asynchronously to avoid blocking the main τhread. // NOTE: This task instance must be created and invoked on the // UI thread and it can be executed only once! try minitqcartask = new InitQCARTask(); minitqcartask.execute(); catch (Exception e) DebugLog.LOGE("Initializing QCAR SDK failed"); break; /** An async task to initialize QCAR asynchronously. */ private class InitQCARTask extends AsyncTask<Void, Integer, Boolean> // Initialize with invalid value: private int mprogressvalue = -1; protected Boolean doinbackground(void... params) // Prevent the ondestroy() method to overlap with initialization: synchronized (mshutdownlock) QCAR.setInitParameters(ImageTargets.this, mqcarflags); do mprogressvalue = QCAR.init(); // Publish the progress value: publishprogress(mprogressvalue); while (!iscancelled() && mprogressvalue >= 0 && mprogressvalue < 100); return (mprogressvalue > 0); protected void onpostexecute(boolean result) // Done initializing QCAR, proceed to next application // initialization status: if (result) DebugLog.LOGD("InitQCARTask::onPostExecute: QCAR " + 46

55 "initialization successful"); updateapplicationstatus(appstatus_init_tracker); else // Create dialog box for display error: AlertDialog dialogerror = new AlertDialog.Builder ( ImageTargets.this).create(); Ζ νινθιήξσζε ησλ αξρηθνπνηήζεσλ πξαγκαηνπνηείηαη κε ηελ αλαβάζκηζε ηεο θαηάζηαζεο ζε ΗΝΗΣ_TRACKER όπνπ αξρηθνπνηείηαη ν αληρλεπηήο εηθόλαο θαη ζε INIT_APP_AR όπνπ εθηειεί ηελ αξρηθνπνίεζε ησλ ραξαθηεξηζηηθώλ ηεο Δπαπμεκέλεο Πξαγκαηηθόηεηαο κε ηελ θιήζε ζηελ initapplicationar(). Καζώο ηηο ελέξγεηεο πνπ ζρεηίδνληαη κε ηελ αλίρλεπζε εηθόλαο ηηο πινπνηνύκε ρακειά,νη αξρηθνπνηήζεηο γηα ην AR γίλνληαη κε θιήζεηο ζε native code. Καιώληαο ηε ζπλάξηεζε setrenderer(), ζην ηέινο ηεο initapplicationar(), μεθηλά λα εθηειείηαη ην λέν thread γηα ηελ πινπνίεζε ησλ γξαθηθώλ. Σν GL thread μεθηλά, όπσο θαη έλα activity,κε ηελ ζπλάξηεζε δεκηνπξγίαο, onsurfacecreated(). Σν λέν απηό activity έρεη ην όλνκα SpaseToThermometroRenderer θαη θαιεί ηελ native initrendering(), ε νπνία δεκηνπξγεί ηελ επηθάλεηα OpenGL ES View θαη μεθηλά ην rendering. private synchronized void updateapplicationstatus(int appstatus).. case APPSTATUS_INIT_TRACKER: // Initialize the ImageTracker: if (inittracker() > 0) // Proceed to next application initialization status: updateapplicationstatus(appstatus_init_app_ar); break; case APPSTATUS_INIT_APP_AR: // Initialize Augmented Reality-specific application elements initapplicationar(); // Proceed to next application initialization status: updateapplicationstatus(appstatus_load_tracker); break; /** Initializes AR application components. */ private void initapplicationar() // Do application initialization in native code (e.g. registering // callbacks, etc.): initapplicationnative(mscreenwidth, mscreenheight); // Create OpenGL ES view: int depthsize = 16; int stencilsize = 0; 47

56 boolean translucent = QCAR.requiresAlpha(); mglview = new QCARSampleGLView(this); mglview.init(mqcarflags, translucent, depthsize, stencilsize); mrenderer = new ImageTargetsRenderer(); mrenderer.mactivity = this; mglview.setrenderer(mrenderer); LayoutInflater inflater = LayoutInflater.from(this); muilayout = (RelativeLayout) inflater.inflate(r.layout.camera_overlay, null, false); muilayout.setvisibility(view.visible); muilayout.setbackgroundcolor(color.black); // Gets a reference to the loading dialog mloadingdialogcontainer = muilayout.findviewbyid(r.id.loading_indicator); // Shows the loading indicator at start loadingdialoghandler.sendemptymessage(show_loading_dialog); // Adds the inflated layout to the view addcontentview(muilayout, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); /** Called when the surface is created or recreated. */ public void onsurfacecreated(gl10 gl, EGLConfig config) DebugLog.LOGD("GLRenderer::onSurfaceCreated"); // Call native function to initialize rendering: initrendering(); // Call QCAR function to (re)initialize rendering after first use // or after OpenGL ES context was lost (e.g. after onpause/onresume): QCAR.onSurfaceCreated(); Φόξησκα ηνπ dataset γηα ηελ αλίρλεπζε ησλ εηθόλσλ Υξεζηκνπνηήζακε ην Target Manager γηα λα θαηεβάζνπκε ηνπο ζηόρνπο καο ζηελ βάζε δεδνκέλσλ ηεο ζπζθεπήο. Σν dataset απηό απνηειείηαη από δύν αξρεία, ην <database_name>.dat θαη ην <database_name>.xml. Καηά ηελ εθηέιεζε ηεο updateapplicationstatus(appstatus_ LOAD_TRACKER) θαιείηαη ην αζύγρξνλν task LoadTrackerTask θαη θνξηώλνπκε απηή ηελ πιεξνθνξία ζην background. Ζ ζπλάξηεζε LoadTrackerData() είλαη native θαη θνξηώλεη ηα xml ησλ dataset. ηνλ Tracker κπνξνύλ λα θνξησζνύλ πνιιά dataset αιιά κόλν έλα κπνξεί λα είλαη ελεξγό θάζε θνξά. Σν LoadTrackerTask όηαλ έξζεη ζε θαηάζηαζε onpostexecute() βάζεη ηεο ηηκήο ηνπ result πνπ επηζηξέθεη ε native loadtrackerdata ελεκεξώλεη ηελ εθαξκνγή πσο αξρηθνπνηήζεθαλ νη παξάκεηξνη γηα ηα dataset θαη αλαβαζκίδεη μαλά ηελ θαηάζηαζε ζε αξρηθνπνηεκέλε. 48

57 private synchronized void updateapplicationstatus(int appstatus).. case APPSTATUS_LOAD_TRACKER: // Load the tracking data set: // NOTE: This task instance must be created and invoked on the // UI thread and it can be executed only once! try mloadtrackertask = new LoadTrackerTask(); mloadtrackertask.execute(); catch (Exception e) DebugLog.LOGE("Loading tracking data set failed"); break; /** An async task to load the tracker data asynchronously. */ private class LoadTrackerTask extends AsyncTask<Void, Integer, Boolean> protected Boolean doinbackground(void... params) // Prevent the ondestroy() method to overlap: synchronized (mshutdownlock) // Load the tracker data set: return (loadtrackerdata() > 0); protected void onpostexecute(boolean result) DebugLog.LOGD("LoadTrackerTask::onPostExecute: execution " + (result? "successful" : "failed")); if (result) // The stones and chips data set is now active: misstonesandchipsdatasetactive = true; // Done loading the tracker, update application status: updateapplicationstatus(appstatus_inited); else // Create dialog box for display error: AlertDialog dialogerror = new AlertDialog.Builder ( ImageTargets.this ).create();... 49

58 Δεκηνπξγία επηθάλεηαο OpenGL Υξεηαδόκαζηε κία επηθάλεηα γηα ηελ παξνπζίαζε ηνπ opengl rendering. Δίλαη ζεκαληηθό ε επηθάλεηα απηή λα δεκηνπξγεζεί πξηλ από ηελ ελεξγνπνίεζε ηεο θάκεξαο θαη ηελ ξύζκηζε ησλ video background. Ύζηεξα από ηελ πξνζζήθε ηνπ glview ζαλ contentview μεθηλάκε ηελ θάκεξα γηα ιήςε. private synchronized void updateapplicationstatus(int appstatus).. case APPSTATUS_INITED: // Hint to the virtual machine that it would be a good time to // run the garbage collector: System.gc(); // Activate the renderer: mrenderer.misactive = true; // Now add the GL surface view.it is important that the OpenGLES surface //view gets added BEFORE the camera is started and video background is //configured. addcontentview(mglview, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); // Sets the UILayout to be drawn in front of the camera muilayout.bringtofront(); // Start the camera: updateapplicationstatus(appstatus_camera_running); break;.. Ελεξγνπνίεζε θάκεξαο γηα ιήςε frames Ζ ελεξγνπνίεζε ηεο θάκεξαο γίλεηαη κε θιήζε ζηελ native ζπλάξηεζε startcamera. Σαπηόρξνλα ζέηεη ην θόλην ηνπ layout δηάθαλν. private synchronized void updateapplicationstatus(int appstatus).. case APPSTATUS_CAMERA_RUNNING: // Call the native function to start the camera: startcamera(); // Sets the layout background to transparent muilayout.setbackgroundcolor(color.transparent);.. break;.. 50

59 onresume() Ζ εθαξκνγή Android έξρεηαη ζηελ θαηάζηαζε onresume όηαλ μεθηλά λα αιιειεπηδξά κε ηνλ ρξήζηε. ηελ θαηάζηαζε απηή εθηεινύληαη ιεηηνπξγίεο γηα ελεξγνπνίεζε ησλ ιεηηνπξγηώλ QCAR θαη ηεο επηθάλεηαο glview. Σν πξώην θνκκάηη θώδηθα πνπ αθνινπζεί αλήθεη ζην UI thread ( αξρείν SpaseToThermometro.java) ελώ ην δεύηεξν ζην GL thread (αξρείν SpaseToThermometroRenderer.java). /** Called when the activity will start interacting with the user.*/ protected void onresume() DebugLog.LOGD("ImageTargets::onResume"); super.onresume(); // QCAR-specific resume operation QCAR.onResume(); // We may start the camera only if the QCAR SDK has already been // initialized if (mappstatus == APPSTATUS_CAMERA_STOPPED) updateapplicationstatus(appstatus_camera_running); // Resume the GL view: if (mglview!= null) mglview.setvisibility(view.visible); mglview.onresume(); /** Called to draw the current frame. */ public void ondrawframe(gl10 gl) if (!misactive) return; // Update render view (projection matrix and viewport) if needed: mactivity.updaterenderview(); // Call our native function to render content renderframe(); Όπσο αλαθέξακε θαη λσξίηεξα, παξάιιεια κε ην θπξίσο λήκα ηξέρεη θαη έλα δεύηεξν πνπ αλαιακβάλεη ηηο ιεηηνπξγίεο γηα ην rendering ηεο επηθάλεηαο. πγθεθξηκέλα πινπνηεί ηελ GLSurfaceView.Renderer. Σν GL thread αθνύ έρεη ήδε αξρηθνπνηήζεη ηηο παξακέηξνπο θαη ηελ επηθάλεηα,κε ηελ onsurfacecreate(), αιιάδεη θαηάζηαζε ηνπ θύθινπ δσήο θαη θαιεί ηελ ondrawframe(). Ζ κέζνδνο απηή εθηειείηαη γηα θάζε frame θαη,όπσο θαίλεηαη παξαπάλσ, θαιεί ηελ native ζπλάξηεζε renderframe() γηα ηνλ ζρεδηαζκό ησλ γξαθηθώλ. 51

60 int lasttrackableid = -1; JNIEXPORT void JNICALL Java_com_qualcomm_QCARSamples_ImageTargets_ImageTargetsRenderer_renderFrame(JNIEnv *env, jobject obj) // Clear color and depth buffer glclear(gl_color_buffer_bit GL_DEPTH_BUFFER_BIT); // Get the state from QCAR and mark the beginning of a rendering section QCAR::State state = QCAR::Renderer::getInstance().begin(); // Explicitly render the Video Background QCAR::Renderer::getInstance().drawVideoBackground();.. //κώδικας ποσ εκηελείηαι όηαν γίνεηαι ανίτνεσζη ενός trackable. //ηον δίνοσμε αναλσηικά παρακάηω gldisablevertexattribarray(vertexhandle); gldisablevertexattribarray(normalhandle); gldisablevertexattribarray(texturecoordhandle); QCAR::Renderer::getInstance().end(); ην ζεκείν απηό μεθηλά ε εθηέιεζε εληνιώλ γηα ηελ δηαθνξνπνίεζε ηεο εθαξκνγήο καο από ην παξάδεηγκα ηεο Vuforia. ηελ εθαξκνγή καο, γηα λα γίλεη ε επηινγή ηνπ texture πνπ ζα θαιύςεη ην ζεξκόκεηξν, πξέπεη λα επηθνηλσλήζνπλ ν native θώδηθαο, κε ην gl θαη ην UI thread. Αξρηθά ε επηθνηλσλία ηνπ Gl thread κε ην UI ρξεηαδόηαλ γηα ιόγνπο debbuging ώζηε λα βιέπνπκε ζηελ νζόλε ηνπ ηειεθώλνπ ην όλνκα ηνπ καγαδηνύ πνπ αλαγλσξίζηεθε. Ζ εκθάληζε ελόο κελύκαηνο toast ζηε νζόλε κπνξεί λα γίλεη απνθιεηζηηθά ζην UI thread. Οπόηε ππήξρε αλάγθε γηα ηελ κεηαθνξά ηνπ νλόκαηνο από ην native code (cpp) ζην gl thread (java) θαη ύζηεξα ζην UI. Απηή ηελ πινπνίεζε ηελ δηαηεξήζακε γηα λα δείμνπκε ηνλ ηξόπν επηθνηλσλίαο ησλ νληνηήησλ,αθόκα θαη αλ γηλόηαλ κε απινύζηεξν θαη γξεγνξόηεξν ηξόπν. Λεηηνπξγίεο πνπ ζα κπνξνύζαλ λα έρνπλ πινπνηεζεί κόλν από native θώδηθα, ηηο κεηαθέξακε ζην UI. Όηαλ αληρλεύεηαη έλα target, ζε αληίζεζε κε ην ImageTargets,ην όλνκα ηνπ ζηέιλεηαη πίζσ ζην gl thread κέζσ ελόο κελύκαηνο. Ζ ελέξγεηα απηή πξαγκαηνπνηείηαη κε θιήζε ηεο ζπλάξηεζεο displaymessagetouiviaimagetargetsrenderer() // Did we find any trackables this frame? for(int tidx = 0; tidx < state.getnumtrackableresults(); tidx++) // Get the trackable: const QCAR::TrackableResult* result = state.gettrackableresult(tidx); const QCAR::Trackable& trackable = result->gettrackable(); QCAR::Matrix44F modelviewmatrix = QCAR::Tool::convertPose2GLMatrix(result - >getpose()); //an anagnwistike neo Trackable painaei to name tou sthn renderer k μεηα sto UI if (trackable.getid()!= lasttrackableid) jstring js = env->newstringutf(trackable.getname()); jclass javaclass = env->getobjectclass(obj); jmethodid method = env->getmethodid(javaclass, "displaymessagetouiviaimagetargetsrenderer", "(Ljava/lang/String;)V"); env->callvoidmethod(obj, method, js); lasttrackableid = trackable.getid();.. 52

61 Σν gl thread από ην κέξνο ηνπ, ιακβάλεη ην κήλπκα απηό θαη ην βάδεη ζηελ MessageQueue ηνπ main Activity γηα λα θαηαθέξεη λα επηθνηλσλήζεη καδί ηνπ. // A handler object for sending messages to the main activity thread public static Handler mainactivityhandler; // Called from native to display a message public void displaymessagetouiviaimagetargetsrenderer(string text) // We use a handler because this thread cannot change the UI Message message = new Message(); message.obj = text; mainactivityhandler.sendmessage(message); Σν UI thread έρεη δεκηνπξγήζεη ηνλ Handler γηα απηόλ αθξηβώο ηνλ ιόγν. Ζ ελέξγεηα ζηελ αξρή ηνπ MessageQueue εθηειείηαη πξώηε. Σν UI ιακβάλεη ην όλνκα ηνπ καγαδηνύ θαη ην εθρσξεί ζηελ κεηαβιεηή text. ηελ ηειηθή έθδνζε ηεο πινπνίεζεο καο έρεη γίλεη comment out ην Toast θαη δελ εκθαλίδεηαη ην όλνκα ηνπ καγαδηνύ ζην UI. ηελ ζπλέρεηα γίλεηαη αλαδήηεζε ηνπ νλόκαηνο ηνπ καγαδηνύ κέζα ζην json αξρείν. Σν αξρείν points.json έρεη εγγξαθέο γηα ηα καγαδηά πνπ έρνπκε εηζάγεη ζην TargetManager όλνκα, ηνπνζεζία ζην ράξηε: κήθνο θαη πιάηνο, θαηεγνξία, θαη check-ins. Δλδεηθηηθά πξνζζέηνπκε ηηο γξακκέο απηέο "places":[ ] "name":"skoufaki","lat":" ","lon":" ","category":"4d4b7105d754a06374d81259","totals":"2025", "name":"marmelada","lat":" ","lon":" ","category":"4d4b7105d754a06376d81259","totals":"778", "name":"amelie","lat":" ","lon":"21.734","category":"4d4b7105d754a06376d81259","totals":"435", ύκθσλα κε ην παξαπάλσ, ην json αξρείν.. απνηειείηαη από ην JsonArray places "places":[..] πνπ πεξηιακβάλεη πνιιά JsonObjects. "places":[..,...,..] Οη πιεξνθνξίεο θάζε object είλαη ηύπνπ string, int θηιπ "places":[ name : skoufaki,.., totals : 2025,...,..] Παξαπάλσ, ζηελ πεξηγξαθή ηεο εθθίλεζεο ηνπ main Activity, αλαθέξακε πσο θνξηώζακε ζηελ κεηαβιεηή jobject νιόθιεξν ην json αξρείν θαη ζηε κεηαβιεηή placesarray ην JsonΑrray. ηνλ θώδηθα παξαθάησ θάλνπκε αλαδήηεζε ζε θάζε JsonObject καγαδί ώζηε λα εληνπίζνπκε πνην από απηά αληηζηνηρεί ζην καγαδί κε name ίδην κε ηελ ηηκή ηνπ text. Αθνύ βξνύκε ην object πνπ καο ελδηαθέξεη απνζεθεύνπκε ζηελ κεηαβιεηή totals ην πιήζνο ησλ check-ins πνπ έθαλαλ νη ρξήζηεο ηνπ Foursquare γηα ηελ ζπγθεθξηκέλε θαθεηέξηα. 53

62 Σέινο ππνινγίδνπκε ην πιήζνο θαθεηεξηώλ πνπ αλήθνπλ ζε θάζε θαηεγνξία (θαθεηέξηεο / πιήζνο θαηεγνξηώλ) θαη αληηζηνηρώ ηελ θαθεηέξηα πνπ αλαγλσξίζηεθε ζηελ θαηεγνξία πνπ αλήθεη. // Create a new handler for the renderer thread to use // This is necessary as only the main thread can make changes to the UI ImageTargetsRenderer.mainActivityHandler = new public void handlemessage(message msg) Context context = getapplicationcontext(); text = (String) msg.obj; //toast DebugLog.LOGE(text); int duration = Toast.LENGTH_SHORT; Toast toast = Toast.makeText(context, text, duration); toast.show(); max = 0; totalsum=0; try for (i = 0; i < placesarray.length(); i++) if (max < placesarray.getjsonobject(i).getint("totals")) max = placesarray.getjsonobject(i).getint("totals"); if(text.equals(placesarray.getjsonobject(i).getstring("name").tostring())) totals=placesarray.getjsonobject(i).getint("totals"); totalsum = totalsum + placesarray.getjsonobject(i).getint("totals"); catch (Exception e) DebugLog.LOGE("stringcompare magazi me tag failed"); DebugLog.LOGE("totals "+ String.valueOf(totals)); int numoftextures=5; texture_index=-1; int categ=-1; try int numofcateg=placesarray.length()/numoftextures; for (i = numofcateg ; i < placesarray.length(); i = i + numofcateg ) categ++; DebugLog.LOGE("katigoria"+ categ+ "<=:" + String.valueOf( placesarray.getjsonobject(i).getint("totals") )); if (totals < placesarray.getjsonobject(i).getint("totals")) texture_index=categ; break; if (texture_index == -1) texture_index=4; catch (Exception e) DebugLog.LOGE("euresh timwn kathgorias failed"); //κλήςη ςτην native settexture() settexture(texture_index); ; 54

63 Ο αξηζκόο texture_index πνπ κόιηο ππνινγίζακε αληηζηνηρίδεηαη ζηελ θαηεγνξία θήκεο πνπ αλήθεη ην καγαδί. Ζ πιεξνθνξία έρεη σο ζηόρν λα θηάζεη ζηελ native ζπλάξηεζε RenderFrame,όπνπ θαη ζα εθιερηεί ην αληίζηνηρν texture. Απνθαζίζακε λα ρξεζηκνπνηήζνπκε ηελ global κεηαβιεηή texturevar θαη λα ηεο αλαζέζνπκε ηελ ηηκή ηεο θαηεγνξίαο θαιώληαο ηελ native ζπλάξηεζε settexture() κε όξηζκα ηελ texture_index. int texturevar = 0; int textureindex; JNIEXPORT void JNICALL Java_com_qualcomm_QCARSamples_ImageTargets_ImageTargets_setTexture(JNIEnv *, jobject, int text) texturevar=text; LOG("setTexture leei : texturevar = %d",texturevar); Έπεηηα ηελ επόκελε θνξά πνπ ζα εθηειεζηεί ε ondrawframe() θαη ζπλεπώο ε renderframe() ε κεηαβιεηή texturevar ζα έρεη ηελ ηηκή ηεο θαηεγνξίαο ηνπ καγαδηνύ θαη ζα αληηζηνηρίδεηαη ην θαηάιιειν texture. textureindex = texturevar; const Texture* const thistexture = textures[textureindex]; Σέινο αθνινπζνύλ νη gl εληνιέο γηα δεκηνπξγία ησλ γξαθηθώλ. JNIEXPORT void JNICALL Java_com_qualcomm_QCARSamples_ImageTargets_ImageTargetsRenderer_renderFrame(JNIEnv *env, jobject obj)... QCAR::Matrix44F modelviewprojection; SampleUtils::translatePoseMatrix(170.0f, 0.0f, kobjectscale, &modelviewmatrix.data[0]); SampleUtils::scalePoseMatrix(kObjectScale, kobjectscale, kobjectscale, &modelviewmatrix.data[0]); SampleUtils::multiplyMatrix(&projectionMatrix.data[0], &modelviewmatrix.data[0], &modelviewprojection.data[0]); gluseprogram(shaderprogramid); //themomete glvertexattribpointer(vertexhandle, 3, GL_FLOAT, GL_FALSE, 0, (const GLvoid*) &thermometerverts[0]); glvertexattribpointer(normalhandle, 3, GL_FLOAT, GL_FALSE, 0, (const GLvoid*) &thermometernormals[0]); glvertexattribpointer(texturecoordhandle, 2, GL_FLOAT, GL_FALSE, 0, (const GLvoid*) &thermometertexcoords[0]); ) glenablevertexattribarray(vertexhandle); glenablevertexattribarray(normalhandle); glenablevertexattribarray(texturecoordhandle); 55

64 onpause() Σν ζύζηεκα μεθηλά λα εθηειεί έλα άιιν activity θαη δηαρεηξίδεηαη ηνπο πόξνπο. Θέηεη ζε παύζε ην gl view,ζηακαηά λα ιεηηνπξγεί ηελ θάκεξα θαη απελεξγνπνηεί ην θιάο. /** Called when the system is about to start resuming a previous activity.*/ protected void onpause() DebugLog.LOGD("ImageTargets::onPause"); super.onpause(); if (mglview!= null) mglview.setvisibility(view.invisible); mglview.onpause(); if (mappstatus == APPSTATUS_CAMERA_RUNNING) updateapplicationstatus(appstatus_camera_stopped); // Disable flash when paused if (mflash) mflash = false; activateflash(mflash); // QCAR-specific pause operation QCAR.onPause(); ondestroy() Δίλαη ε ηειεπηαία θιήζε πνπ ιακβάλεηαη πξηλ θαηαζηξαθεί ην main activity. Αλαιακβάλεη ηξείο ελέξγεηεο. Αξρηθά λα αθπξώζεη ηελ εθηέιεζε πηζαλώλ tasks πνπ ηξέρνπλ. Έπεηηα λα απνδεζκεύζεη ηνπο πόξνπο θαη λα ηξέμεη ηνλ garbage collector. /** The final call you receive before your activity is destroyed.*/ protected void ondestroy() DebugLog.LOGD("ImageTargets::onDestroy"); super.ondestroy(); // Cancel potentially running tasks if (minitqcartask!= null && minitqcartask.getstatus()!= InitQCARTask.Status.FINISHED) minitqcartask.cancel(true); minitqcartask = null; if (mloadtrackertask!= null && mloadtrackertask.getstatus()!= LoadTrackerTask.Status.FINISHED) mloadtrackertask.cancel(true); mloadtrackertask = null; // Ensure that all asynchronous operations to initialize QCAR // and loading the tracker datasets do not overlap: synchronized (mshutdownlock) 56

65 // Do application deinitialization in native code: deinitapplicationnative(); // Unload texture: mtextures.clear(); mtextures = null; // Destroy the tracking data set: destroytrackerdata(); // Deinit the tracker: deinittracker(); // Deinitialize QCAR SDK: QCAR.deinit(); System.gc(); Πξνεηνηκαζία αξρείσλ πόξσλ πνπ ρξεζηκνπνηνύληαη ζηελ εθαξκνγή Δθηόο από ηνλ θώδηθα ρξεηάζηεθε πξνεηνηκαζία εμσηεξηθώλ αξρείσλ. Απηνί νη πόξνη πεξηιακβάλνπλ ηελ βάζε δεδνκέλσλ γηα ηελ αλαγλώξηζε ησλ textures, ην ηξηζδηάζηαην ζεξκόκεηξν θαη ηηο εηθόλεο πνπ ην επηθαιύπηνπλ. Αλαιύνπκε ηελ δηαδηθαζία ζρεδίαζεο / δεκηνπξγίαο γηα ην θάζε έλα από ηα παξαπάλσ. Targets Γηα ηελ δεκηνπξγία ηεο βάζεο δεδνκέλσλ γηα ηα targets καο ρξεζηκνπνηνύκε ην δηαδηθηπαθό εξγαιείν Target Manager πνπ πξνζθέξεη ε Vuforia. Σν πεξηβάιινλ απηό πξνζθέξεη ζηνπο πξνγξακκαηηζηέο, ηελ επηινγή δεκηνπξγίαο ζηαηηθήο βάζεο δεδνκέλσλ γηα ην θηλεηό, θαη cloud βάζεο δεδνκέλσλ. Γηα ηελ εθαξκνγή καο επηιέμακε ηελ ζηαηηθή db. Γεκηνπξγήζακε κία λέα βάζε δεδνκέλσλ κε ην όλνκα Stores θαη πξνζζέζακε ηηο εηθόλεο ησλ θαηαζηεκάησλ πνπ ζέινπκε λα κεηαηξαπνύλ ζε ζηόρνπο θαη λα κπνξνύλ λα αληρλεύνληαη. Δλδεηθηηθά αθνινπζεί ην πεξηβάιινλ ηνπ Target Manager ζηα δεμηά. Οη εηθόλεο πνπ πξνζζέηνπκε ζηελ βάζε δεδνκέλσλ αληηζηνηρίδεηαη ζε έλα targetid. Όζν πην πνιύπινθν pattern έρεη ε εηθόλα ηόζν πην εύθνια είλαη αληρλεύζηκε από ηελ εθαξκνγή καο. Ζ πνηόηεηα θάζε target δειώλεηαη κε ηα αζηέξηα πνπ επηζηξέθεη ην Target Manager. Σν βέιηηζηα αληρλεύζηκν ζπγθεληξώλεη 5 αζηέξηα. Σν target καο κε ηελ θαιύηεξε βαζκνινγία ζπγθεληξώλεη κόλν δύν αζηέξηα. Απηό νθείιεηαη ζην όηη νη ζηόρνη καο είλαη κέξνο ηνπ πεξηβάιινληνο θαη απηνί δελ κπνξνύλ λα έρνπλ δηαθξηηά ζηνηρεία, κπηεξέο θαη απόηνκεο ιεπηνκέξεηεο, όπσο απαηηείηαη [21] Target Manager 57

66 Κάζε εηθόλα, αθνύ αλέβεη ζην πεξηβάιινλ «Target Manager», κεηαηξέπεηαη αξρηθά ζε αζπξόκαπξε θαη ύζηεξα ππόθεηηαη ζε επεμεξγαζία γηα λα βξεζνύλ ηα ζεκεία «θιεηδηά» θαη ηειηθά λα αμηνινγεζεί ε πνηόηεηά ηεο. Αθνινπζεί ε εηθόλα πνπ ζπγθεληξώλεη ηα πεξηζζόηεξα αζηέξηα ζηελ αξρηθή ηεο έθδνζε θαη ην απνηέιεζκα ηεο επεμεξγαζίαο κε ζηαπξνύο ζηα ζεκεία ελδηαθέξνληνο target 4.22 target κε ζεκεία «θιεηδηά» Δπηιέγνπκε ηα targets πνπ ζέινπκε λα πεξηέρνληαη ζην παθέην θαη θάλνπκε download ηελ βάζε δεδνκέλσλ - dataset. Κάλνπκε extract ηα αξρεία ηνπ Stores.zip θαη ηα ηνπνζεηνύκε ζηνλ θάθειν assets. Απηά κεηαγισηηίδνληαη από ηνλ application developer θαη θνξηώλνληαη από ην SDK αζύγρξνλα. Σν dataset πεξηέρεη έλα.xml θαη έλα binary αξρείν κε θαηάιεμε.dat. Σν stores.xml επηηξέπεη αιιαγέο ζηα ραξαθηεξηζηηθά ηνπ trackable ελώ ην stores.dat πεξηέρεη ηελ βάζε δεδνκέλσλ ηνπ. Tν αξρείν stores.xml είλαη ηεο κνξθήο πνπ αθνινπζεί θαη πεξηέρεη πιεξνθνξίεο γηα ηα targets, δηαζηάζεηο θαη όλνκα. <?xml version="1.0" encoding="utf-8"?> <QCARConfig xmlns:xsi=" xsi:nonamespaceschemalocation="qcar_config.xsd"> <Tracking> <ImageTarget size=" " name="mouselin" /> <ImageTarget size=" " name="steki" /> <ImageTarget size=" " name="parodos" />.. </Tracking> </QCARConfig> Θεπμόμεηπο Γηα ηελ θαηαζθεπή ηνπ ζεξκόκεηξνπ εξγαζηήθακε ζην πεξηβάιινλ αλάπηπμεο ηξηζδηάζηαησλ αληηθεηκέλσλ, Blender. Δίλαη έλα open source πξόγξακκα πνπ επηηξέπεη ηνλ ζρεδηαζκό, επηρξσκαηηζκό θαη δηάζξσζε ζηαηηθώλ θαη θηλεηώλ- animated 3d κνληέισλ. Υξεζηκνπνηείηαη ζε ηνκείο όπσο ε αξρηηεθηνληθή, ν ζρεδηαζκόο εζσηεξηθώλ θαη εμσηεξηθώλ ρώξσλ θαη ην game development. 58

67 4.23 παξάζπξν εθθίλεζεο ηνπ blender 2.63 Ξεθηλάκε ηελ αλάπηπμε ηνπ project κε ηελ ρξήζε δύν βαζηθώλ αληηθεηκέλσλ mesh. Σν ζεξκόκεηξό καο απνηειείηαη από κία κεγάιε ζθαίξα ζηε βάζε ηνπ, έλαλ θύιηλδξν γηα ην ζώκα θαη κία κηθξή ζθαίξα γηα ηνλ ζρεκαηηζκό ηεο θακπύιεο ζηελ θνξπθή, ζε επαθή. Δπηιέγνπκε λα ζβήζνπκε ηηο δύν θπθιηθέο επηθάλεηεο ηνπ θπιίλδξνπ ώζηε λα απινπζηεπηεί ε δηαδηθαζία ζηε ζπλέρεηα. Έρνληαο επηιέμεη όια ηα θνκκάηηα ζε object mode, πεγαίλνπκε ζε edit mode θαη ελώλνπκε ηα mesh ζε έλα αληηθείκελν κε ηελ join εληνιή (Ctrl-j) Θεξκόκεηξν ζε User Perspective καθξηλό θαη θνληηλό πιάλν. 59

68 Γηα ηελ ρξήζε ηνπ αληηθεηκέλνπ ζηελ εθαξκνγή καο είλαη αλαγθαία ε εμαγσγή ηνπ ζε κνξθή Wavefront (.obj) θαη ε κεηαηξνπή ηνπ ζε αξρείν Header (.h). Ζ ελέξγεηα απηή γίλεηαη κε ηελ εθηέιεζε ηνπ πξνγξάκκαηνο obj2opengl.pl, ηνπ H.Berens, ζην cmd. Σν αξρείν πνπ πξνθύπηεη είλαη κνξθήο.h θαη απαξηίδεηαη από Vertices, Faces, Texture Coords θαη Normals 4.25 εθηέιεζε ηνπ obj2opengl.pl ζε cmd Γηα λα θαηαθέξνπκε λα ρξσκαηίζνπκε ζσζηά ην ζεξκόκεηξν ζε δηάθνξεο θιίκαθεο πξέπεη πξώηα λα πάξνπκε ην 2d αλάπηπγκα ηνπ 3d αληηθεηκέλνπ. Όπσο αθξηβώο ζπκβαίλεη θαη κε ηελ ξαπηηθή, γηα λα αλνίμσ έλα ξνύρν ζε ηκήκαηα ζηνλ πάγθν, πξέπεη λα μειώζσ ηηο «ξαθέο» ηνπ ζεξκόκεηξνπ. εκαδεύσ θάπνηεο πιεπξέο ζηα κέξε ηνπ ζεξκόκεηξνπ θαη λα ηηο κεηαηξέπσ ξε ξαθέο (Ctrl-E θαη mark seams). Δίλαη νη θόθθηλεο γξακκέο ζηελ εηθόλα πνπ αθνινπζεί. Αθνύ λσξίηεξα αθαηξέζακε ηηο δύν θπθιηθέο επηθάλεηεο ηνπ θπιίλδξνπ, ηώξα αξθεί κόλν κία ξαθή θαηά κήθνο ηνπ θπιίλδξνπ γηα λα μεδηπισζεί πιήξσο. Κόβνπκε ηηο δύν ζθαίξεο ζε δηαθνξεηηθά ζεκεία, ηελ κεγάιε ζηνλ ηζεκεξηλό (γηα επηινγή ηνπ Shift +alt +right click) θαη ηελ κηθξή αλάκεζα ζηνπο δύν πόινπο. ηελ πξώηε πεξίπησζε παίξλνπκε δύν νιόηδηνπο θύθινπο ελώ ζηε δεύηεξε έλα ζρήκα ζαλ 8 πνπ ζπκπηέδεηαη ζηελ άιιε κεξηά έλσζεο ησλ πόισλ εκαδεκέλν ζεξκόκεηξν ζηηο «ξαθέο» 60

69 Έπεηηα ζε edit mode επηιέγνπκε όιεο ηηο πιεπξέο ηνπ ζεξκόκεηξνπ (από ηελ θάησ κπάξα επηιέγνπκε ην faces θαη παηάκε Α) θαη μεηπιίγνπκε ην αληηθείκελν (U θαη unwrap).γηα λα εκθαληζηεί ην αλάπηπγκα ηνπ ζεξκόκεηξνπ, αλνίγνπκε δηπιαλό παξάζπξν ζε UV mapping mode. Σν απνηέιεζκα ηνπ unwrap θαίλεηαη ζε αθόινπζε εηθόλα. ώδνπκε ην UVs ζε λέν.jpg αξρείν (edit mode, Uvs, Export UV Layout) ζην νπνίν βαζηδόκαζηε γηα λα θηηάμνπκε ηα textures. Γηα ηελ δηαδηθαζία απηή ζα κηιήζνπκε ακέζσο κεηά Αλάπηπγκα ζεξκόκεηξνπ Textures Γηα ην ζρεδηαζκό ησλ textures ρξεζηκνπνηήζακε ην Gimp. Δίλαη έλα open Source πεξηβάιινλ γηα ηελ γξαθηθή επεμεξγαζία δπζδηάζηαηεο εηθόλαο. Υξεζηκνπνηεί layers,ζαλ ην Photoshop, θαη ν ρξήζηεο κπνξεί λα επηιέγεη θάζε θνξά πνηα επίπεδα ζα είλαη νξαηά ζηελ εηθόλα πνπ βιέπεη. Σα project ηνπ gimp έρνπλ θαηάιεμε.xcf. Κάζε layer αιιά θαη ν ζπλδπαζκόο θάπνησλ κπνξεί λα γίλεη export ζαλ εηθόλα κε θαηάιεμε.png 61

70 4.28 Παξάζπξν εθθίλεζεο ηνπ Gimp ην παξάζπξν εθθίλεζεο ηνπ Gimp αλνίγνπκε ην uv mapping αξρείν, πνπ θάλακε export πξνεγνπκέλσο από ην blender. Σνπνζεηνύκε ην uv-mapping ζε λέν layer πνπ ζα απνηειέζεη νδεγό γηα ηνλ ζρεδηαζκό ησλ ππόινηπσλ επηπέδσλ (εηθόλα 1 ε ). ηόρν έρνπκε λα ζρεδηάζνπκε πέληε εηθόλεο γηα λα «θνξεζνύλ» ζην ζεξκόκεηξν,κία γηα θάζε θαηεγνξία θήκεο. Οη εηθόλεο απηέο αιιάδνπλ κόλν ζην ύςνο ηνπ θόθθηλνπ κέξνπο ζηνλ θύιηλδξν, ελώ ηα θνκκάηηα ηεο κεγάιεο ζθαίξαο κέλνπλ πάληα θόθθηλα θαη ην αλάπηπγκα ηνπ ζθαηξηδίνπ κέλεη πάληα γθξη, αλεμαξηήησο θαηεγνξίαο. Δπηιέγνπκε ινηπόλ λα δεκηνπξγήζνπκε έλα λέν επίπεδν γηα ηα ηκήκαηα ηεο κεγάιεο ζθαίξα( εηθόλα 2 ε ), έλα επίπεδν γηα ηελ κηθξή (εηθόλα 3 ε ),θαη 5 δηαθνξεηηθά layers γηα ηελ απεηθόληζε ησλ βαζκίδσλ ζην θύιηλδξν( εηθόλεο 4 ε -8 ε ). Σν opengl δελ απεηθνλίδεη ηα textures ζηελ ίδηα θαηεύζπλζε πνπ βιέπνπκε ην ζεξκόκεηξν αιιά αλαπνδνγπξηζκέλα Layer αλαπηύγκαηνο ζεξκόκεηξν ζην Gimp Οπόηε αθνύ ρξσκαηίζνπκε ηα θνκκάηηα όπσο επηζπκνύκε,θάλνπκε flip ην θάζε επίπεδν ή ην ζπλνιηθό απνηέιεζκα πνπ γίλεηαη export. Ζ ηειεπηαία εηθόλα είλαη ν ζπλδπαζκόο ησλ επηπέδσλ γηα ην πέκπην texture, πνπ ην νλνκάδνπκε 1outof5.png. 62

71 4.30 Layer γηα ηκήκαηα κεγάιεο ζθαίξαο 4.31 Layer γηα κηθξή ζθαίξα 4.32 Layer γηα θύιηλδξν κε βαζκνινγία 1/ Layer γηα θύιηλδξν κε βαζκνινγία 2/5 63

72 4.34 Layer γηα θύιηλδξν κε βαζκνινγία 3/ Layer γηα θύιηλδξν κε βαζκνινγία 4/ Layer γηα θύιηλδξν κε βαζκνινγία 5/ texture γηα ηελ θαηεγνξία 5/5 64

73 Γηα λα δνθηκάζνπκε ηα textures πξηλ ηα πεξάζνπκε ζηελ εθαξκνγή ηα αλνίγνπκε ζην blender. ηα properties δεκηνπξγνύκε έλα Material θαη ζε απηό αληηζηνηρνύκε έλα texture. Αιιάδνπκε ηνλ πξνεπηιεγκέλν ηύπν texture από cloud ζε Image or Movie θαη θνξηώλνπκε ην texture 5outof5.png πνπ δεκηνπξγήζακε κε ην Gimp. Παξαθάησ ζηηο ξπζκίζεηο αιιάδσ ηελ επηινγή mapping από generated ζε uv. Έηζη κπνξώ λα πξνζαξκόζσ ζηελ εηθόλα ην UV mapping κεηαθηλώληαο ηα ηκήκαηα,αιιάδνληαο ην κέγεζνο, ηελ θαηεύζπλζε θ.α. Δλαιιαθηηθά αλ έρνπκε έηνηκν ην texture κπνξνύκε ζην UV mode λα ην θνξηώζνπκε από ηελ κπάξα image- >open Image. ηελ παξαθάησ εηθόλα έρνπκε ην rendering ηνπ ζεξκόκεηξνπ κε ην texture 5outof5.png 4.38 Γεκηνπξγία material 4.39 Απνηέιεζκα Rendering 65

74 Σξέρνπκε ηελ εθαξκνγή «πάζε ην ζεξκόκεηξν» ζηνρεύνληαο ζε έλα target πνπ αλήθεη ζηελ 5 ε θαηεγνξία θαη παίξλνπκε έλα screenshot. Σν απνηέιεζκα ηεο εθαξκνγήο καο θαίλεηαη ζηελ παξαθάησ εηθόλα Δθηέιεζε εθαξκνγήο 66

75 Κεθάλαιο 5 Μελέηη πεπίπηωζηρ σπήζηρ Ειζαγωγή Γηα ηελ κειέηε πεξίπησζεο ηεο ρξήζεο ηεο εθαξκνγήο καο ζα πξαγκαηνπνηήζνπκε έλα πείξακα. ηόρνο ηνπ πεηξάκαηνο είλαη λα δείμνπκε αλ ε ύπαξμε ηνπ ζεξκόκεηξνπ επηξεάδεη ηνπο πειάηεο ζηελ βαζκνιόγεζε ησλ θαθεηεξηώλ. Δπηπξόζζεηα ζπιιέγνπκε πιεξνθνξίεο πνπ αθνξνύλ ζηελ εκπεηξία ησλ ζπκκεηερόλησλ ηνπ πεηξάκαηνο θαη ζηελ αμηνιόγεζε ηεο εθαξκνγήο καο. Περιγραθή πειράμαηος Πξαγκαηνπνηνύκε ην πείξακά καο σο εμήο: Ζ νκάδα πνπ ζα βαζκνινγήζεη ηηο θαθεηέξηεο απνηειείηαη από 21 άηνκα ρσξηζκέλα ζε 3 νκάδεο. Πξαγκαηνπνηνύκε ην πείξακα κε 15 θσηνγξαθίεο θαη ηηο ρσξίδνπκε ηζόπνζα ζε 3 group. ε θάζε νκάδα αηόκσλ ζα δνζνύλ δύν group θσηνγξαθηώλ θαη ζα ηνπο δεηεζεί λα βαζκνινγήζνπλ ηηο θαθεηέξηεο πνπ απεηθνλίδνληαη από 1,πνπ δειώλεη ην ειάρηζην, έσο 5, πνπ είλαη ην κέγηζην. Θα θιεζνύλ λα βαζκνινγήζνπλ έλα από ηα δύν group κε κνλαδηθή πιεξνθνξία ηηο εηθόλεο ελώ γηα ηελ αμηνιόγεζε ηνπ άιινπ group ζα ηνπο δνζεί λα ρξεζηκνπνηήζνπλ θαη ηελ εθαξκνγή «πάζε ην ζεξκόκεηξν!». Θα ρξνλνκεηξήζνπκε ηελ θάζε απάληεζή ηνπο μερσξηζηά ελώ αθόκα ζα ηνπο δεηήζνπκε λα εθηηκήζνπλ ηνλ ρξόλν πνπ έθαλαλ γηα ηελ βαζκνιόγεζε θάζε group εηθόλσλ ζπλνιηθά. Σέινο έρνπκε εηνηκάζεη έλα εξσηεκαηνιόγην πνπ βξίζθεηαη ζην Παξάξηεκα θαη πεξηιακβάλεη γεληθέο εξσηήζεηο γηα social media θαη smartphones θαζώο θαη εξσηήζεηο ζρεηηθέο κε ηελ απόδνζε ηεο εθαξκνγήο καο. Αθνύ ζπιιέμνπκε ηα απνηειέζκαηά καο ζα ηα αλαπαξαζηήζνπκε κε γξαθήκαηα ζην επόκελν ππνθεθάιαην. Ανάλσζη αποηελεζμάηων πειράμαηος Σν 19% ηνπ πιεζπζκνύ πνπ έθαλε ην πείξακα ήηαλ άλδξεο ελώ ην 81% γπλαίθεο. Οη ειηθίεο πνπ ξσηήζακε ήηαλ από 17 έσο 44. ηελ πξώηε θαηεγνξία (17 23) ζπγθεληξώζακε 13 άηνκα, ζηελ δεύηεξε (24 30 ) 5 θαη ζηελ ηξίηε (31 44 ) 3. Από ηα 21 άηνκα κόλν νη ηέζζεξηο εξγάδνληαλ ελώ νη ππόινηπνη ήηαλ θνηηεηέο. Καηά κέζν όξν ηα άηνκα απηά είραλ έλα ρξόλν εκπεηξία ρξήζεο Smartphone θαη ιίγε εκπεηξία (2/5) ζε εθαξκνγέο Δπαπμεκέλεο Πξαγκαηηθόηεηαο. Καηά κέζν όξν αληηιακβαλόληνπζαλ ηελ έλλνηα ηνπ check-in αξθεηά (4/5). Ζ εκπεηξία ρξήζεο ηνπο ζηα ζεκαληηθόηεξα κέζα θνηλσληθήο δηθηύσζεο θαίλεηαη ζην παξαθάησ δηάγξακκα-πίηα. 67

76 5.1Δκπεηξία ζπκκεηερόλησλ ζε Social media 5.2 ρνιηαζκόο ηεο εθαξκνγήο καο 68

77 5.3 Αμηνιόγεζε ηεο εθαξκνγήο Σν πείξακα πξαγκαηνπνηήζεθε κπξνζηά από ηελ νζόλε ηνπ ππνινγηζηή. Καηά ηελ εθηέιεζε ηεο εθαξκνγήο ζε θσηεηλόηεξν πεξηβάιινλ ήηαλ δύζθνιν γηα ηνλ ρξήζηε λα δεη θαζαξά ηελ εηθόλα πνπ ζηόρεπε κέζα από ην smartphone. Ο ρξήζηεο γηα λα ην αληηκεησπίζεη αλαγθαδόηαλ λα θνηηάεη ηαπηόρξνλα ηελ θσηνγξαθία ζηελ νζόλε ηνπ ππνινγηζηή θαη κέζα από ηελ νζόλε ηνπ smartphone.σν γεγνλόο απηό αύμεζε θαηά ιίγν ηνλ ρξόλν βαζκνιόγεζεο ησλ εηθόλσλ κε ρξήζε ηεο εθαξκνγήο. Γηα λα εμαθξηβσζεί αλ ε ρξήζε ηνπ ζεξκνκέηξνπ είρε θάπνηα επηξξνή ζηε βαζκνιόγεζε ησλ θαηαζηεκάησλ, αλαιύζακε ζηαηηζηηθά ηνπο κέζνπο όξνπο βαζκνινγίαο ηνπο νπνίνπο έιαβε ην θαζέλα. καηηγοπία καηάζηημα ΧΘ ΜΘ Γ 1 caffeino yiapi mouselin diethnes parodos cartel kazarma Cinema neon loft Amelie friends si doux Marmelada

ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP

ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP ηότοι εργαζηηρίοσ ην πιαίζην ηνπ ζπγθεθξηκέλνπ εξγαζηεξίνπ ζα παξνπζηαζηνύλ βαζηθέο ιεηηνπξγίεο ησλ Windows XP πνπ ζρεηίδνληαη

Διαβάστε περισσότερα

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν 2011-12

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν 2011-12 Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν 11-12 Project 6: Ταμίδη κε ηε Μεραλή ηνπ Φξόλνπ Υπεύζπλνη Καζεγεηέο: Ε. Μπηιαλάθε Φ. Αλησλάηνο Δρώηηζη 3: Πνηα από ηα παξαθάησ ΜΜΕ ηεξαξρείηε από πιεπξάο ζεκαζίαο;

Διαβάστε περισσότερα

Η αξρή ζύλδεζεο Client-Server

Η αξρή ζύλδεζεο Client-Server Η αξρή ζύλδεζεο Client-Server Δηαθνκηζηήο (Server) Πξνζθέξεη ππεξεζίεο ζηνπο Πειάηεο (Client) Μεγάινη ππνινγηζηέο γηα ηηο ππεξεζίεο Internet (π.ρ. WWW, FTP) Λακβάλεη εξσηήζεηο θαη δίδεη απαληήζεηο Πειάηεο

Διαβάστε περισσότερα

Α Ο Κ Η Α Μ Α Ζ Η Η Ρ Η ( S E A R C H )

Α Ο Κ Η Α Μ Α Ζ Η Η Ρ Η ( S E A R C H ) Ξ G O O G L E S C H O L A R Α Ο Ξ Ε Κ Ε Θ Λ Θ Α Λ Η Τ Α Μ Η Α Μ Α Ζ Η Η Ρ Η Ρ Οξαγκαηνπνηώληαο αλαδήηεζε ζην GoogleScholar (http://scholar.google.com/) ν ρξήζηεο κπνξεί λα εληνπίζεη πιηθό αθαδεκαϊθνύ θαη

Διαβάστε περισσότερα

Σημεία Ασύπματηρ Ππόσβασηρ (Hot-Spots)

Σημεία Ασύπματηρ Ππόσβασηρ (Hot-Spots) Σημεία Ασύπματηρ Ππόσβασηρ (Hot-Spots) 1.1 Σςνοπτική Πεπιγπαυή Hot Spots Σα ζεκεία αζύξκαηεο πξόζβαζεο πνπ επηιέρζεθαλ αλαθέξνληαη ζηνλ επόκελν πίλαθα θαη παξνπζηάδνληαη αλαιπηηθά ζηηο επόκελεο παξαγξάθνπο.

Διαβάστε περισσότερα

ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ. Ειζαγωγή ζηη Φωηογραθία. Χριζηάκης Σαζεΐδης EFIAP

ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ. Ειζαγωγή ζηη Φωηογραθία. Χριζηάκης Σαζεΐδης EFIAP ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ Ειζαγωγή ζηη Φωηογραθία Χριζηάκης Σαζεΐδης EFIAP 1 ΜΑΘΗΜΑ 6 ο Προγράμμαηα θωηογραθικών μηχανών Επιλογέας προγραμμάηων Μαο δίλεη ηε δπλαηόηεηα λα ειέγμνπκε ην άλνηγκα δηαθξάγκαηνο θαη

Διαβάστε περισσότερα

ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS

ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS ηότοι εργαζηηρίοσ ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS ην πιαίζην ηνπ ζπγθεθξηκέλνπ εξγαζηεξίνπ ζα παξνπζηαζηεί ε δηαδηθαζία ηωλ ξπζκίζεωλ δηθηύνπ ζε ιεηηνπξγηθό ζύζηεκα Windows XP. Η δηαδηθαζία ζε γεληθέο γξακκέο

Διαβάστε περισσότερα

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ ΘΔΜΑ Α Α1. α. Σ β. Σ γ. Λ δ. Λ ε. Λ ζη. Σ Α2. Γ Α3. 1. γ 2. ε 3. δ 4. α Β1. ΘΔΜΑ Β Οη ηειηθνί ππνινγηζηέο παίξλνπλ απνθάζεηο δξνκνιόγεζεο κόλν γηα ηα δηθά ηνπο απηνδύλακα

Διαβάστε περισσότερα

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress.

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress. Αιγόξηζκνη 2.2.7.3 Γνκή επηινγήο Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ 1 Πνιιαπιή Δληνιή Δπηινγήο Αν ζπλζήθε_1 ηόηε εληνιέο_1 αλλιώς_αν ζπλζήθε_2 ηόηε εληνιέο_2...

Διαβάστε περισσότερα

Παλεπηζηήκην Θεζζαιίαο. Πνιπηερληθή Σρνιή. Τκήκα Μεραληθώλ Η/Υ, Τειεπηθνηλσληώλ & Δηθηύσλ. [ www.inf.uth.gr ]

Παλεπηζηήκην Θεζζαιίαο. Πνιπηερληθή Σρνιή. Τκήκα Μεραληθώλ Η/Υ, Τειεπηθνηλσληώλ & Δηθηύσλ. [ www.inf.uth.gr ] Παλεπηζηήκην Θεζζαιίαο Πνιπηερληθή Σρνιή Τκήκα Μεραληθώλ Η/Υ, Τειεπηθνηλσληώλ & Δηθηύσλ [ www.inf.uth.gr ] 1 ΜΑΘΗΜΑ ΕΠΙΛΟΓΗΣ ΗΥ312 (ΔΙΔΑΚΣΙΚΗ ΣΗ ΠΛΗΡΟΦΟΡΙΚΗ Ι) ΜΕΛΗ ΟΜΑΔΑΣ Θ: Αλιμήζηρ Χπήζηορ Βεπούληρ

Διαβάστε περισσότερα

ΕΓΧΕΙΡΙΔΙΟ ΕΚΔΟΗ 8.0.0

ΕΓΧΕΙΡΙΔΙΟ ΕΚΔΟΗ 8.0.0 ΕΓΧΕΙΡΙΔΙΟ ΕΚΔΟΗ 8.0.0 Γενικά Η έθδνζε 8.0.0 ηνπ ελόηεηεο: Business ERP, πεξηιακβάλεη λέεο ιεηηνπξγίεο πνπ αλαιύνληαη ζηηο παξαθάησ Γεληθόηεξε ιεηηνπξγία ηεο εθαξκνγήο Εκπνξηθή Δηαρείξηζε 7/2/2013 SingularLogic

Διαβάστε περισσότερα

ΘΔΚΑ ΡΖΠ ΑΛΑΓΛΩΟΗΠΖΠ

ΘΔΚΑ ΡΖΠ ΑΛΑΓΛΩΟΗΠΖΠ ΘΔΚΑ ΡΖΠ ΑΛΑΓΛΩΟΗΠΖΠ 1.Απηόο πνπ ζα αλαγλσξηζηεί απνπζηάδεη γηα πνιύ θαηξό. 2.Δπηζηξέθεη κε πιαζηή ηαπηόηεηα ή κεηακνξθσκέλνο. 3.Απνκνλώλνληαη ηα δύν πξόζσπα 4.Άξζε κεηακόξθσζεο 5.Απνθάιπςε 6.Ακθηβνιίεο-απνδεηθηηθά

Διαβάστε περισσότερα

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14 .1.10 ζκήζεις ζτ.βιβλίοσ ζελίδας 13 14 Ερωηήζεις Καηανόηζης 1. ύν δηαθνξεηηθέο επζείεο κπνξεί λα έρνπλ θαλέλα θνηλό ζεκείν Έλα θνηλό ζεκείν i ύν θνηλά ζεκεία iλ) Άπεηξα θνηλά ζεκεία ηηηνινγήζηε ηελ απάληεζε

Διαβάστε περισσότερα

Ενδεικτικά Θέματα Στατιστικής ΙΙ

Ενδεικτικά Θέματα Στατιστικής ΙΙ Ενδεικτικά Θέματα Στατιστικής ΙΙ Θέματα. Έζησ όηη ζε δείγκα 35 θαηνηθηώλ πνπ ελνηθηάδνληαη ζε θνηηεηέο ζηελ Κνδάλε βξέζεθε ην κέζν κεληαίν κίζζσκα ζηα 5 επξώ, ελώ ζην Ζξάθιεην ην κέζν κεληαίν κίζζσκα ζε

Διαβάστε περισσότερα

Βιομησανικόρ ζσεδιαζμόρ πποϊόνηων από ανακςκλωμένερ ζςζκεςαζίερ

Βιομησανικόρ ζσεδιαζμόρ πποϊόνηων από ανακςκλωμένερ ζςζκεςαζίερ Βιομησανικόρ ζσεδιαζμόρ πποϊόνηων από ανακςκλωμένερ ζςζκεςαζίερ ΤΕΙ Δσηικής Μακεδονίας Τμήμα Βιομητανικού Στεδιαζμού Εργαζηήριο C 3 www.c3.teiwm.gr C 3 LAB www.c3.teiwm.gr 1 Εηζαγσγή Πεπιεσόμενα ύκβνια

Διαβάστε περισσότερα

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ Φξεζηκόηεηα καζεκαηηθώλ Αξρή θαηακέηξεζεο Όζα έδσζαλ νη Έιιελεο... Τξίγσλνη αξηζκνί Τεηξάγσλνη αξηζκνί Δπηκήθεηο αξηζκνί Πξώηνη αξηζκνί Αξηζκνί κε μερσξηζηέο ηδηόηεηεο Γίδπκνη πξώηνη

Διαβάστε περισσότερα

Οργάνωση και Δομή Παρουσιάσεων

Οργάνωση και Δομή Παρουσιάσεων Οργάνωση και Δομή Παρουσιάσεων Οη παξνπζηάζεηο κε βνήζεηα ηνπ ππνινγηζηή γίλνληαη κε πξνγξάκκαηα παξνπζηάζεσλ, όπσο ην OpenOffice.org Impress [1] θαη ην Microsoft Office PowerPoint [2]. Απηά ηα πξνγξάκκαηα

Διαβάστε περισσότερα

Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ

Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ Αιγόξηζκνη 2.2.7.4 Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ Εηζαγσγή ζηηο Αξρέο ηεο Επηζηήκεο ησλ Η/Υ 1 Άζθεζε 34 ζει 53 Έλα ςεθηαθό θσηνγξαθηθό άικπνπκ έρεη απνζεθεπηηθό ρώξν N Mbytes. Να αλαπηύμεηε

Διαβάστε περισσότερα

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ ΚΕΦ..3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ Οπιζμόρ απόλςηηρ ηιμήρ: Σηνλ άμνλα ησλ πξαγκαηηθώλ αξηζκώλ ζεσξνύκε έλαλ αξηζκό α πνπ ζπκβνιίδεηαη κε ην ζεκείν Α. Η απόζηαζε ηνπ ζεκείνπ Α από ηελ αξρή Ο, δειαδή

Διαβάστε περισσότερα

ΑΝΤΗΛΙΑΚΑ. Η Μηκή ζθέθηεθε έλαλ ηξόπν, γηα λα ζπγθξίλεη κεξηθά δηαθνξεηηθά αληειηαθά πξντόληα. Απηή θαη ν Νηίλνο ζπλέιεμαλ ηα αθόινπζα πιηθά:

ΑΝΤΗΛΙΑΚΑ. Η Μηκή ζθέθηεθε έλαλ ηξόπν, γηα λα ζπγθξίλεη κεξηθά δηαθνξεηηθά αληειηαθά πξντόληα. Απηή θαη ν Νηίλνο ζπλέιεμαλ ηα αθόινπζα πιηθά: ΑΝΤΗΛΙΑΚΑ Η Μηκή θαη ν Νηίλνο αλαξσηήζεθαλ πνην αληειηαθό πξντόλ παξέρεη ηελ θαιύηεξε πξνζηαζία ζην δέξκα ηνπο. Τα αληειηαθά πξντόληα έρνπλ έλα δείθηε αληειηαθήο πξνζηαζίαο (SPF), ν νπνίνο δείρλεη πόζν

Διαβάστε περισσότερα

Διαηιμήζεις για Αιολικά Πάρκα. Κώδικες 28, 78 και 84

Διαηιμήζεις για Αιολικά Πάρκα. Κώδικες 28, 78 και 84 Διαηιμήζεις για Αιολικά Πάρκα Κώδικες 28, 78 και 84 Διαηιμήζεις για Αιολικά Πάρκα Οη Διαηιμήζεις για Αιολικά Πάρκα εθαξκόδνληαη γηα ηελ απνξξνθνύκελε ελέξγεηα από Αηνιηθά Πάξθα πνπ είλαη ζπλδεδεκέλα ζην

Διαβάστε περισσότερα

ΑΓΩΜΘΡΘΙΞΘ ΤΩΠΞΘ ΡΘΡ ΛΘΙΠΕΡ ΗΚΘΙΘΕΡ ΛΘΤΑΗΚΘΔΗΡ Τ.

ΑΓΩΜΘΡΘΙΞΘ ΤΩΠΞΘ ΡΘΡ ΛΘΙΠΕΡ ΗΚΘΙΘΕΡ ΛΘΤΑΗΚΘΔΗΡ Τ. ΑΓΩΜΘΡΘΙΞΘ ΤΩΠΞΘ ΡΘΡ ΛΘΙΠΕΡ ΗΚΘΙΘΕΡ ΟΑIΤΜΘΔΘ ΡΕ ΛΕΓΑΚΞ ΓΗΟΕΔΞ 11V11 ΗΚΘΙΘΑ 6-10 ΤΠΞΜΩΜ ΛΕΘΞΜΕΙΗΛΑΑ ΞΣ ΟΑΘΤΜΘΔΘΞΣ ΡΕ ΛΕΓΑΚΞ ΓΗΟΕΔΞ ΓΘΑ ΟΑΘΙΕΡ ΗΚΘΙΘΑΡ 6-10 ΕΩΜ Η ΔΘΑΔΠΞΛΗ ΑΟΞ Η ΛΘΑ ΕΡΘΑ ΡΗΜ ΑΚΚΗ ΕΘΜΑΘ ΛΕΓΑΚΗ

Διαβάστε περισσότερα

Να ζρεδηάζεηο ηξόπνπο ζύλδεζεο κηαο κπαηαξίαο θαη ελόο ιακπηήξα ώζηε ν ιακπηήξαο λα θσηνβνιεί.

Να ζρεδηάζεηο ηξόπνπο ζύλδεζεο κηαο κπαηαξίαο θαη ελόο ιακπηήξα ώζηε ν ιακπηήξαο λα θσηνβνιεί. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ: Απλό ηλεκτπικό κύκλυμα Η δηδαζθαιία ηνπ απινύ ειεθηξηθνύ θπθιώκαηνο ππάξρεη ζην κάζεκα «Φπζηθά» ηεο Ε ηάμεο ηνπ δεκνηηθνύ θαη επαλαιακβάλεηαη ζην κάζεκα ηεο Φπζηθήο ζηε Γ ηάμε ηνπ Γπκλαζίνπ.

Διαβάστε περισσότερα

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

Ζαχαρίας Μ. Κοντοπόδης Εργαστήριο Λειτουργικών Συστημάτων ΙΙ Διαφάνεια 1 η ΕΚΚΙΝΗΣΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ ΚΑΙ ΕΙΣΟΔΟΣ ΣΤΟ BIOS UITILITY Τν ζπλεζέζηεξν πιήθηξν γηα ηελ είζνδν ζην BIOS Utility είλαη ην πιήθηξν Del. Παξόια απηά δηαθνξεηηθνί θαηαζθεπαζηέο, ρξεζηκνπνηνύλ δηαθνξεηηθά

Διαβάστε περισσότερα

1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird

1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird 1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird 1.1 Εγκαηάζηαζη ηυν οδηγών ηηρ έξςπνηρ κάπηαρ ζηο λογιζμικό Mozilla Thunderbird

Διαβάστε περισσότερα

Η/Υ A ΤΑΞΕΩΣ ΑΕ 2010-2011. Συστήματα Αρίθμησης. Υποπλοίαρχος Ν. Πετράκος ΠΝ

Η/Υ A ΤΑΞΕΩΣ ΑΕ 2010-2011. Συστήματα Αρίθμησης. Υποπλοίαρχος Ν. Πετράκος ΠΝ Συστήματα Αρίθμησης Υποπλοίαρχος Ν. Πετράκος ΠΝ 1 Ειζαγωγή Τν bit είλαη ε πην βαζηθή κνλάδα κέηξεζεο. Είλαη κία θαηάζηαζε on ή off ζε έλα ςεθηαθό θύθισκα. Άιιεο θνξέο είλαη κία θαηάζηαζε high ή low voltage

Διαβάστε περισσότερα

ΛΙΜΝΗ ΤΣΑΝΤ. Σρήκα 1. Σρήκα 2

ΛΙΜΝΗ ΤΣΑΝΤ. Σρήκα 1. Σρήκα 2 ΛΙΜΝΗ ΤΣΑΝΤ Τν Σρήκα 1 δείρλεη ηελ αιιαγή ηεο ζηάζκεο ηεο Λίκλεο Τζαλη, ζηε Σαράξα ηεο Βόξεηαο Αθξηθήο. Η Λίκλε Τζαλη εμαθαλίζηεθε ηειείσο γύξσ ζην 20.000 π.χ., θαηά ηε δηάξθεηα ηεο ηειεπηαίαο επνρήο ησλ

Διαβάστε περισσότερα

ΙΣΤΟΡΙΑ ΤΟΥ ΑΡΧΑΙΟΥ ΚΟΣΜΟΥ

ΙΣΤΟΡΙΑ ΤΟΥ ΑΡΧΑΙΟΥ ΚΟΣΜΟΥ ΙΣΤΟΡΙΑ ΤΟΥ ΑΡΧΑΙΟΥ ΚΟΣΜΟΥ Α ΛΤΚΕΙΟΤ ΓΕΝΙΚΗ ΠΑΙΔΕΙΑ Σχολικό έτος: 2011-2012 Καθηγήτριες: Κεφαλληνού Λουκία- Καλλία Αθηνά ΙΙ. ΟΙ ΑΧΑΙΟΙ ΕΛΛΗΝΕΣ ΑΠΟ ΣΟΤ ΠΡΟΙΣΟΡΙΚΟΤ ΥΡΟΝΟΤ ΕΩ ΚΑΙ ΣΟ Μ. ΑΛΕΞΑΝΔΡΟ 1. ΕΛΛΗΝΙΚΗ

Διαβάστε περισσότερα

ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ. Εισαγωγή στη Φωτογραυία. Χριζηάκης Σαζεΐδης - EFIAP

ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ. Εισαγωγή στη Φωτογραυία. Χριζηάκης Σαζεΐδης - EFIAP ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ Εισαγωγή στη Φωτογραυία Χριζηάκης Σαζεΐδης - EFIAP 1 ΜΑΘΗΜΑ 3 ο ΚΛΕΙΣΡΟ ΣΑΥΤΣΗΣΑ ΚΛΕΙΣΡΟΤ-ΕΠΙΛΟΓΗ ΚΑΣΑΛΛΗΛΗ ΣΑΥΤΣΗΣΑ Σι είναι υωτογραυική μητανή; Από πνηα κέξε απνηειείηαη: 1. Φαθό

Διαβάστε περισσότερα

Δξγαζηεξηαθή άζθεζε 03. Σηεξενγξαθηθή πξνβνιή ζην δίθηπν Wulf

Δξγαζηεξηαθή άζθεζε 03. Σηεξενγξαθηθή πξνβνιή ζην δίθηπν Wulf Δξγαζηεξηαθή άζθεζε 03 Σηεξενγξαθηθή πξνβνιή ζην δίθηπν Wulf Ζιίαο Χαηδεζενδσξίδεο Οθηώβξηνο / Ννέκβξηνο 2004 Τη είλαη ην δίθηπν Wulf Δπίπεδν ζην νπνίν κπνξνύκε λα αλαπαξαζηήζνπκε ηξηζδηάζηαηα ζρήκαηα,

Διαβάστε περισσότερα

ΣΡΑΠΕΖΑ ΘΕΜΑΣΩΝ Α ΛΤΚΕΙΟΤ

ΣΡΑΠΕΖΑ ΘΕΜΑΣΩΝ Α ΛΤΚΕΙΟΤ ΜΑΘΗΜΑ : ΑΡΧΑΙΑ ΕΛΛΗΝΙΚΑ ΣΡΑΠΕΖΑ ΘΕΜΑΣΩΝ Α ΛΤΚΕΙΟΤ Α/Α : 0_1382/153 1. Καη όηαλ έγηλε ε ππνρώξεζε αξγά ην απόγεπκα, επεηδή θνβήζεθαλ νη νιηγαξρηθνί κήπσο νη δεκνθξαηηθνί, αθνύ θάλνπλ επίζεζε, θαηαιάβνπλ

Διαβάστε περισσότερα

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση Πώς πρέπει να τιμολογεί ένα μονοπώλιο; Μέρξη ζηηγκήο ην κνλνπώιην έρεη ζεσξεζεί ζαλ κηα επηρείξεζε ε νπνία πσιεί ην πξντόλ ηεο ζε θάζε πειάηε ζηελ

Διαβάστε περισσότερα

x-1 x (x-1) x 5x 2. Να απινπνηεζνύλ ηα θιάζκαηα, έηζη ώζηε λα κελ ππάξρνπλ ξηδηθά ζηνπο 22, 55, 15, 42, 93, 10 5, 12

x-1 x (x-1) x 5x 2. Να απινπνηεζνύλ ηα θιάζκαηα, έηζη ώζηε λα κελ ππάξρνπλ ξηδηθά ζηνπο 22, 55, 15, 42, 93, 10 5, 12 ΑΚΖΔΗ ΤΜΝΑΗΟΤ - ΚΤΚΛΟ ΠΡΩΣΟ - - ηα πνηεο ηηκέο ηνπ ηα παξαθάησ θιάζκαηα δελ νξίδνληαη ; (Τπόδεημε : έλα θιάζκα νξίδεηαη αλ ν παξνλνκαζηήο είλαη δηάθνξνο ηνπ κεδελόο) - (-) - (-) - Να απινπνηεζνύλ ηα θιάζκαηα

Διαβάστε περισσότερα

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ 2015-2016

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ 2015-2016 Βάσεις Δεδομέμωμ Εξγαζηήξην V Τκήκα Πιεξνθνξηθήο ΑΠΘ 2015-2016 2 Σκοπός του 5 ου εργαστηρίου Σθνπόο απηνύ ηνπ εξγαζηεξίνπ είλαη: ε κειέηε ζύλζεησλ εξσηεκάησλ ζύλδεζεο ζε δύν ή πεξηζζόηεξεο ζρέζεηο ε κειέηε

Διαβάστε περισσότερα

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο 1 ε Δξαζηεξηόηεηα Αλνίμηε ην αξρείν «Μεηαηόπηζε παξαβνιήο.ggb». Με ηε καύξε γξακκή παξηζηάλεηαη ε γξαθηθή παξάζηαζε ηεο f(x)=αx 2 πνπ ζα ηελ

Διαβάστε περισσότερα

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2 ΣΡΙΓΩΝΟΜΔΣΡΙΚΔ EΞΙΩΔΙ Πνηα παξαδείγκαηα εμηζώζεσλ ή θαη πξνβιεκάησλ πηζηεύεηαη όηη είλαη θαηάιιεια γηα ηελ επίιπζε ηνπο θαηά ηελ δηάξθεηα ηεο δηδαθηηθήο δηαδηθαζίαο κέζα ζηελ ηάμε; 1 ε ΓΙΓΑΚΣΙΚΗ ΩΡΑ Α.

Διαβάστε περισσότερα

Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα!

Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα! Cpyright 2013 Λόγος & Επικοινωνία // All rights Reserved Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα! Αυηό ηο παιχνίδι έχει ζηόχους: 1. ηελ εθγύκλαζε ηεο αθνπζηηθήο κλήκεο ησλ παηδηώλ 2. ηελ εμάζθεζε ζηελ

Διαβάστε περισσότερα

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2 TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 Δημιουργία σελίδων και βιβλίων Έλα θαηλνύξην βηβιίν πεξηέρεη κία άδεηα ζειίδα κε έλα άδεην background. Δελ κπνξνύκε λα μερσξίζνπκε

Διαβάστε περισσότερα

Οη πην γλσζηέο κνξθέο Pervasive παηρληδηώλ είλαη ηα Location Based Games, Augmented Reality Games θαη Mixed Reality Games.

Οη πην γλσζηέο κνξθέο Pervasive παηρληδηώλ είλαη ηα Location Based Games, Augmented Reality Games θαη Mixed Reality Games. Pervasive Games Pervasive games Τν ζπγθεθξηκέλν είδνο παηρληδηώλ ζηεξίδεηαη ζηελ αλάγλσζε ησλ παξακέηξσλ ηνπ πεξηβάιινληνο (Context) ηνπ ρξήζηε ησλ νπνίσλ ηα απνηειέζκαηα ρξεζηκνπνηεί ζηνπο θαλόλεο θαη

Διαβάστε περισσότερα

B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν.

B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν. B-Δέλδξα Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν. Δέλδξα AVL n = 2 30 = 10 9 (πεξίπνπ). 30

Διαβάστε περισσότερα

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

ΗΛΕΚΤΡΟΝΙΚΗ ΜΝΗΜΗ ΚΑΙ ΜΙΚΡΟΕΛΕΓΚΤΕΣ ΗΛΕΚΤΡΟΝΙΚΗ ΜΝΗΜΗ ΚΑΙ ΜΙΚΡΟΕΛΕΓΚΤΕΣ Η ζεκεξηλή ξαγδαία εμέιημε ηεο ηερλνινγίαο ηεο κηθξνειεθηξνληθήο επέηξεςε ηελ θαηαζθεπή εηδηθώλ νινθιεξσκέλσλ θπθισκάησλ απνζήθεπζεο δεδνκέλσλ θαη πιεξνθνξηώλ θαηαιακβάλνπλ

Διαβάστε περισσότερα

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

ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ 1 ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ ΥΛΟΠΟΙΗΣΗ ΑNDROID ΕΦΑΡΜΟΓΗΣ ΑΠΟΣΤΟΛΗΣ ΣΥΝΤΟΜΩΝ ΜΗΝΥΜΑΤΩΝ ΜΕΣΩ ΤΗΣ OMNIVOICE ΤΣΙΑΛΟΣ ΔΗΜΗΤΡΙΟΣ Α.Μ.: 9883 ΕΠΙΒΛΕΠΩΝ ΚΑΘΗΓΗΤΗΣ: Ράπτης Βασίλειος 2 ΕΥΧΑΡΙΣΤΙΕΣ

Διαβάστε περισσότερα

ΑΞΙΟΘΕΑΣΑ ΣΟΤ ΥΩΡΙΟΤ ΜΑ

ΑΞΙΟΘΕΑΣΑ ΣΟΤ ΥΩΡΙΟΤ ΜΑ ΑΞΙΟΘΕΑΣΑ ΣΟΤ ΥΩΡΙΟΤ ΜΑ α. Η ΕΚΚΛΗΙΑ ΣΟΤ ΥΩΡΙΟΤ ΜΑ β. ΣΟ ΠΝΕΤΜΑΣΙΚΟ ΜΑ ΚΕΝΣΡΟ γ. Η ΠΑΝΟΡΑΜΙΚΗ ΘΕΗ ΣΟΤ ΥΩΡΙΟΤ ΜΑ α. Η ΕΚΚΛΗΙΑ ΣΟΤ ΥΩΡΙΟΤ ΜΑ. Η Εθθιεζία ηνπ ρσξηνύ καο, ε Αγία Άλλα, είλαη θηηζκέλε πξηλ πνιιά

Διαβάστε περισσότερα

Διιεληθά Σειρά Moov Δγτειρίδιο τρήζηη Δνημέρφζης ταρηών Web Αλαζεώξεζε: R00 (2010/05) Πώς να ενημερώζφ ηοσς τάρηες; Υπάξρνπλ ηέζζεξα βήκαηα γηα ηελ ελεκέξσζε ηνπ ράξηε. Βήκα

Διαβάστε περισσότερα

ύζηεκα Ωξνκέηξεζεο Πξνζσπηθνύ (Έθδνζε 2) ΤΠΗΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΤΣΗΜΑΣΩΝ

ύζηεκα Ωξνκέηξεζεο Πξνζσπηθνύ (Έθδνζε 2) ΤΠΗΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΤΣΗΜΑΣΩΝ ύζηεκα Ωξνκέηξεζεο Πξνζσπηθνύ (Έθδνζε 2) ΤΠΗΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΤΣΗΜΑΣΩΝ Πεξηερόκελα Σερληθά Υαξαθηεξηζηηθά Καηαγξαθή Ώξαο πγρξνληζκόο πζηήκαηνο Παξνπζίαζε πζηήκαηνο Πηζαλά ελάξηα Υξήζεο 2 Σερληθά Υαξαθηεξηζηηθά

Διαβάστε περισσότερα

Έλαο πίνακας σσμβόλων ππνζηεξίδεη δύν βαζηθέο ιεηηνπξγίεο:

Έλαο πίνακας σσμβόλων ππνζηεξίδεη δύν βαζηθέο ιεηηνπξγίεο: Πίνακες Σσμβόλων Έλαο πίνακας σσμβόλων ππνζηεξίδεη δύν βαζηθέο ιεηηνπξγίεο: Εηζαγσγή ελόο ζηνηρείνπ Αλαδήηεζε ζηνηρείνπ κε δεδνκέλν θιεηδί Άιιεο ρξήζηκεο ιεηηνπξγίεο είλαη: Δηαγξαθή ελόο θαζνξηζκέλνπ ζηνηρείνπ

Διαβάστε περισσότερα

Γίθησα ποσ παρέτοληαη από τρήζηες: Κίλεηρα, ηετλοιογίες θαη αλοητηά δεηήκαηα Λεσηέρες Μακάηας (lmamatas@ee.ucl.ac.uk)

Γίθησα ποσ παρέτοληαη από τρήζηες: Κίλεηρα, ηετλοιογίες θαη αλοητηά δεηήκαηα Λεσηέρες Μακάηας (lmamatas@ee.ucl.ac.uk) Σεκηλάξην Τνκέα Λνγηζκηθνύ Γίθησα ποσ παρέτοληαη από τρήζηες: Κίλεηρα, ηετλοιογίες θαη αλοητηά δεηήκαηα Λεσηέρες Μακάηας (lmamatas@ee.ucl.ac.uk) Περίιευε παροσζίαζες Τη είλαη ηα «Γίθηπα πνπ παξέρνληαη

Διαβάστε περισσότερα

Hellas online Προεπιλεγμένες ρσθμίσεις για FritzBox Fon WLAN 7140 (Annex B) 30.04.67 FritzBox Fon WLAN 7140 - Annex B (30.04.67)

Hellas online Προεπιλεγμένες ρσθμίσεις για FritzBox Fon WLAN 7140 (Annex B) 30.04.67 FritzBox Fon WLAN 7140 - Annex B (30.04.67) Hellas online Προεπιλεγμένες ρσθμίσεις για FritzBox Fon WLAN 7140 (Annex B) 30.04.67 FritzBox Fon WLAN 7140 - Annex B (30.04.67) Γηα λα επαλαθέξεηε ην FritzBox Fon WLAN 7140 ζηηο πξνεπηιεγκέλεο ηνπ ξπζκίζεηο

Διαβάστε περισσότερα

ΕΝΤΟΛΕΣ WINDOWS ΚΑΙ UNIX

ΕΝΤΟΛΕΣ WINDOWS ΚΑΙ UNIX ΕΝΤΟΛΕΣ WINDOWS ΚΑΙ UNIX Σηότοι εργαζηηρίοσ Σην πιαίζην ηνπ ζπγθεθξηκέλνπ εξγαζηεξίνπ, νη θνηηεηέο ζα εμνηθεησζνύλ κε βαζηθέο εληνιέο δηθηπαθώλ πξσηνθόιισλ νη νπνίεο βξίζθνπλ εθαξκνγή ζε πεξηβάιινληα Windows

Διαβάστε περισσότερα

Δξγαιεία Καηαζθεπέο 1 Σάμε Σ Δ.Κ.Φ.Δ. ΥΑΝΙΧΝ ΠΡΧΣΟΒΑΘΜΙΑ ΔΚΠΑΙΓΔΤΗ. ΔΝΟΣΗΣΑ 11 ε : ΦΧ ΔΡΓΑΛΔΙΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Φαθόο κε ζσιήλα.

Δξγαιεία Καηαζθεπέο 1 Σάμε Σ Δ.Κ.Φ.Δ. ΥΑΝΙΧΝ ΠΡΧΣΟΒΑΘΜΙΑ ΔΚΠΑΙΓΔΤΗ. ΔΝΟΣΗΣΑ 11 ε : ΦΧ ΔΡΓΑΛΔΙΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Φαθόο κε ζσιήλα. Δξγαιεία Καηαζθεπέο 1 Δ.Κ.Φ.Δ. ΥΑΝΙΧΝ ΠΡΧΣΟΒΑΘΜΙΑ ΔΚΠΑΙΓΔΤΗ ΔΝΟΣΗΣΑ 11 ε : ΦΧ ΔΡΓΑΛΔΙΑ ΚΑΣΑΚΔΤΔ Καηαζθεπή 1: Φαθόο κε ζσιήλα Γηαθξάγκαηα Δξγαιεία Καηαζθεπέο 2 Η θαηαζθεπή πεξηγξάθεηαη ζηελ αληίζηνηρε ελόηεηα

Διαβάστε περισσότερα

EL Eνωμένη στην πολυμορυία EL A8-0046/319. Τροπολογία

EL Eνωμένη στην πολυμορυία EL A8-0046/319. Τροπολογία 8.3.2016 A8-0046/319 319 Άρθρο 34 παράγραθος 1 ζηοιχείο δ (δ) 14 έηε γηα θηεληαηξηθά θάξκαθα πνπ πξννξίδνληαη γηα άιια είδε δώωλ από απηά πνπ αλαθέξνληαη ζηελ παξάγξαθν 1 ζηνηρεία α) θαη γ). (δ) 10 έηε

Διαβάστε περισσότερα

ΒΗΜΑ 2. Εηζάγεηε ηνλ Κωδηθό Πξόζβαζεο πνπ ιακβάλεηε κε SMS & δειώλεηε επηζπκεηό Όλνκα Πξόζβαζεο (Username) θαη ην ζαο

ΒΗΜΑ 2. Εηζάγεηε ηνλ Κωδηθό Πξόζβαζεο πνπ ιακβάλεηε κε SMS & δειώλεηε επηζπκεηό Όλνκα Πξόζβαζεο (Username) θαη ην  ζαο Δίζνδνο ζηελ Υπεξεζία Αλ είζηε ήδε εγγεγξακκέλνο ρξήζηεο ζηελ ππεξεζία, γηα ηελ είζνδν ζαο (login) ζηελ ππεξεζία e-bill, εηζάγεηαη ην Όλνκα Φξήζηε (username) θαη ηνλ Κωδηθό Πξόζβαζεο (password) πνπ είραηε

Διαβάστε περισσότερα

CytaInfo+ έλα application γηα ηε Cyta.

CytaInfo+ έλα application γηα ηε Cyta. CytaInfo+ έλα application γηα ηε Cyta. 1 Απηή είλαη ε όςε ηνπ CytaInfo+ 2 3 Δπηιέγνληαο ην εηθνλίδην Find us κπνξείηε λα βξείηε ηα πην θνληηλά ζαο Cytashop, κε βάζε ηελ απόζηαζε ή αλά επαξρία. ηελ ζπλέρεηα

Διαβάστε περισσότερα

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ Α ΛΤΚΔΙΟΤ Ζμεπομηνία: 18/12/10 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΕΙΝΟΜΕΝΕ ΛΤ ΕΙ 1. Δίλεηαη ην πνιπώλπκν Αλ θαη., λα βξείηε ην ηειεπηαίν ςεθίν ηνπ αξηζκνύ έρνπκε:

Διαβάστε περισσότερα

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

Digital Academy. Εισαγωγή στην ανάπτυξη Android Εφαρμογών Digital Academy Εισαγωγή στην ανάπτυξη Android Εφαρμογών Περιεχόμενα ΠΕΡΙΕΧΟΜΕΝΑ... 2 ΕΝΟΤΗΤΑ 1 ΠΡΩΤΗ ΓΝΩΡΙΜΙΑ ΜΕ ΤΟ ANDROID... 4 1.1 ΕΙΣΑΓΩΓΗ... 4 1.2 ΠΗΓΕΣ ΓΝΩΣΗΣ... 4 1.3 ΙΣΤΟΡΙΚΗ ΑΝΑΔΡΟΜΗ... 5 1.4

Διαβάστε περισσότερα

Άσκηση 1 - Μοπυοποίηση Κειμένου

Άσκηση 1 - Μοπυοποίηση Κειμένου Άσκηση 1 - Μοπυοποίηση Κειμένου Σηηο παξαθάησ γξακκέο εθαξκόζηε ηε κνξθνπνίεζε πνπ πεξηγξάθνπλ Γξακκή κε έληνλε γξαθή Γξακκή κε πιάγηα γξαθή Γξακκή κε ππνγξακκηζκέλε γξαθή Γξακκή κε Arial Font κεγέζνπο

Διαβάστε περισσότερα

ΑΣΚΗΣΔΙΣ ΦΥΣΙΚΗΣ ΚΑΤΑΣΤΑΣΗΣ ΣΤΟ ΓΗΠΔΓΟ

ΑΣΚΗΣΔΙΣ ΦΥΣΙΚΗΣ ΚΑΤΑΣΤΑΣΗΣ ΣΤΟ ΓΗΠΔΓΟ Α. Αεπόβια ικανόηηηα: ΑΣΚΗΣΔΙΣ ΦΥΣΙΚΗΣ ΚΑΤΑΣΤΑΣΗΣ ΣΤΟ ΓΗΠΔΓΟ 1. Φόλλοος ζηα δύο καλάθια: νη αζιεηέο είλαη απέλαληη από ηα ηακπιώ ζε δπν γξακκέο. Οη πξώηνη έρνπλ από κηα κπάια. Με ην ζύλζεκα θάλνπλ θόιιννπ

Διαβάστε περισσότερα

Μεηαπηπρηαθή δηαηξηβή

Μεηαπηπρηαθή δηαηξηβή ΣΔΥΝΟΛΟΓΗΚΟ ΠΑΝΔΠΗΣΖΜΗΟ ΚΤΠΡΟΤ ΥΟΛΖ ΚΑΛΧΝ ΚΑΗ ΔΦΑΡΜΟΜΔΝΧΝ ΣΔΥΝΧΝ Μεηαπηπρηαθή δηαηξηβή ΣΑ TABLETS Χ ΔΚΠΑΗΓΔΤΣΗΚΟ ΔΡΓΑΛΔΗΟ ΣΟ ΝΖΠΗΑΓΧΓΔΗΟ ΓΗΑ ΣΖΝ ΔΝΗΥΤΖ ΤΝΔΡΓΑΣΗΚΧΝ ΓΡΑΣΖΡΗΟΣΖΣΧΝ ΜΑΘΖΜΑΣΗΚΧΝ Έιελα Κσλζηαληίλνπ

Διαβάστε περισσότερα

ΠΔΡΙΛΗΦΗ. Σα θηλεηά ηειέθσλα ηύπνπ smartphone (έμππλα ηειέθσλα) έρνπλ γίλεη πιένλ ε

ΠΔΡΙΛΗΦΗ. Σα θηλεηά ηειέθσλα ηύπνπ smartphone (έμππλα ηειέθσλα) έρνπλ γίλεη πιένλ ε ΠΔΡΙΛΗΦΗ Σα θηλεηά ηειέθσλα ηύπνπ smartphone (έμππλα ηειέθσλα) έρνπλ γίλεη πιένλ ε πξνέθηαζε ηνπ αλζξώπηλνπ ρεξηνύ. Αληηπξνζσπεύνπλ ηελ θνηλσληθή ζέζε, ην είδνο ηεο εξγαζίαο αιιά θαη ηελ θνηλσληθή ζπκπεξηθνξά

Διαβάστε περισσότερα

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ.. ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου έλαξμεο 09.30 ιήμεο 09.45 Σην παξαθάησ ζρήκα θαίλεηαη ηκήκα ελόο πνιενδνκηθνύ ζρεδίνπ κηαο πόιεο. Οη ζθηαζκέλεο

Διαβάστε περισσότερα

Οδηγίες Ασφρματης Πρόσβασης (Wi-Fi) στο Διαδίκτυο

Οδηγίες Ασφρματης Πρόσβασης (Wi-Fi) στο Διαδίκτυο Αγαπηηοί τρήζηες, Με ταρά ζας ανακοινώνοσμε ηη κάλσυη ηφν τώρφν ηοσ κηιριακού ζσγκροηήμαηος ηης Στολής Θεηικών Επιζηημών με αζύρμαηα ζημεία πρόζβαζης ζηο διαδίκησο. Πρόζβαζη ζηην σπηρεζία έτοσν όλα ηα

Διαβάστε περισσότερα

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου ΠΡΟΒΛΗΜΑ Σε έλα ηνπξλνπά βόιετ δήισζαλ ζπκκεηνρή νκάδεο Γπκλαζίσλ ηεο Κύπξνπ.

Διαβάστε περισσότερα

Intel Accelerate Your Code

Intel Accelerate Your Code Intel Accelerate Your Code Semester Project at Parallel & Distributed systems Dimitrios S. Tsiktsiris University of Western Macedonia Department of Informatics & Telecommunications Engineering Kozani,

Διαβάστε περισσότερα

ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ

ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ. Μία αθηίλα θωηόο πξνζπίπηεη κε κία γωλία ζ ζηε επάλω επηθάλεηα ελόο θύβνπ από πνιπεζηέξα ν νπνίνο έρεη δείθηε δηάζιαζεο ε =,49 (ζρήκα ). Βξείηε πνηα ζα είλαη ε κέγηζηε γωλία

Διαβάστε περισσότερα

Τηλζφωνο: 99543321 Ε-mail: savvas_email@yahoo.com Ώρες διδασκαλίας: 16:00 19:15 μμ

Τηλζφωνο: 99543321 Ε-mail: savvas_email@yahoo.com Ώρες διδασκαλίας: 16:00 19:15 μμ ΠΑΙΓΑΓΩΓΙΚΟ ΙΝΣΙΣΟΤΣΟ ΚΤΠΡΟΤ Πξόγξακκα Δπηκόξθσζεο Τπνςεθίσλ Καζεγεηώλ Σερλνινγίαο Γελάξεο 2011 ΗΛΔΚΣΡΟΝΙΚΑ Ι (Ύιε Γπκλαζίνπ) Διδάσκων: Σαββίδης Σάββας Τηλζφωνο: 99543321 Ε-mail: savvas_email@yahoo.com

Διαβάστε περισσότερα

Διατείριση Φσσικών Καταστρουών: ACTIVE LANDSLIDE INVENTORY MAPPING AND SUSCEPTIBILITY ZONING

Διατείριση Φσσικών Καταστρουών: ACTIVE LANDSLIDE INVENTORY MAPPING AND SUSCEPTIBILITY ZONING Διατείριση Φσσικών Καταστρουών: ACTIVE LANDSLIDE INVENTORY MAPPING AND SUSCEPTIBILITY ZONING Ναηαιία Σπαλνύ, spanou@igme.gr & natspanou@gmail.com Τερληθόο Γεσιόγνο (M.Sc.) Πεξηγξαθή Χάξηεο ρσξηθήο θαηαλνκήο

Διαβάστε περισσότερα

Κβαντικοί Υπολογισμοί. Πέκπηε Γηάιεμε

Κβαντικοί Υπολογισμοί. Πέκπηε Γηάιεμε Κβαντικοί Υπολογισμοί Πέκπηε Γηάιεμε Kπθισκαηηθό Mνληέιν Έλαο θιαζηθόο ππνινγηζηήο απνηειείηαη από αγσγνύο θαη ινγηθέο πύιεο πνπ απνηεινύλ ηνπο επεμεξγαζηέο. Σηνπο θβαληηθνύο ε πιεξνθνξία βξίζθεηαη κέζα

Διαβάστε περισσότερα

Παλαιοσλαβική Γλώσσα. Ενότητα 9: Το σύστημα των συμφώνων. Αλεξάνδρα Ιωαννίδου. Τμήμα Σλαβικών Σπουδών

Παλαιοσλαβική Γλώσσα. Ενότητα 9: Το σύστημα των συμφώνων. Αλεξάνδρα Ιωαννίδου. Τμήμα Σλαβικών Σπουδών Παλαιοσλαβική Γλώσσα Ενότητα 9: Το σύστημα των συμφώνων Αλεξάνδρα Ιωαννίδου Τμήμα Σλαβικών Σπουδών (11) Σνλ 9ν-10ν αηώλα κ.υ. ηα πγξά θαη είραλ ζαθή ζπιιαβνπνηεηηθή ιεηηνπξγία ζαλ θη απηή πνπ εκθαλίδεηαη

Διαβάστε περισσότερα

Image J Plugin particle tracker για παρακολούθηση της κίνησης σωματιδίων

Image J Plugin particle tracker για παρακολούθηση της κίνησης σωματιδίων Image J Plugin particle tracker για παρακολούθηση της κίνησης σωματιδίων (https://weeman.inf.ethz.ch/particletracker/) Τν Plugin particle tracker κπνξεί λα αληρλεύζεη απηόκαηα ηα ζσκαηίδηα πνπ θηλνύληαη,

Διαβάστε περισσότερα

Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ.

Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ. Μονοψϊνιο Ολιγοψώνιο Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ. Οπιακή αξία Δπηπξόζζεηα νθέιε από ηελ ρξήζε/θαηαλάισζε κηαο επηπξόζζεηε

Διαβάστε περισσότερα

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ.

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ. Απαντήσεις θέματος 2 Απηά πνπ έπξεπε λα γξάςεηε (δελ ρξεηαδόηαλ δηθαηνιόγεζε εθηόο από ην Γ) Α return a*b; Β 0:acegf2, 1: acegf23, 2: acegf234, 3:acegf2345, 4:acegf23456, 5:acegf234567, 6:acegf2345678,

Διαβάστε περισσότερα

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ 1. ρεδίαζε πλδπαζηηθνύ Κπθιώκαηνο Έλα ζπλδπαζηηθό θύθισκα (Κ) έρεη ηξεηο εηζόδνπο A, B θαη C θαη κία έμνδν Y Y=A B+AC Να θαηαζθεπάζεηε ην ράξηε Karnaugh. B 0

Διαβάστε περισσότερα

Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα

Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα Κοιμωμικά δίκτυα (multiplex network) Έρεηε ινγαξηαζκό ζην Facebook? Έρεηε ινγαξηαζκό ζην LinkedIn? Έρεηε ινγαξηαζκό ζην Twitter? Αεροπορικές γραμμές της Ευρώπης(multiplex

Διαβάστε περισσότερα

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ.. ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου έλαξμεο 09.30 ιήμεο 09.45 Σην παξαθάησ ζρήκα θαίλεηαη ηκήκα ελόο πνιενδνκηθνύ ζρεδίνπ κηαο πόιεο. Οη ζθηαζκέλεο

Διαβάστε περισσότερα

Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access)

Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access) Έρνπκε απνζεθεύζεη κηα ζπιινγή αξρείσλ ζε κηα ζπλδεδεκέλε ιίζηα, όπνπ θάζε αξρείν έρεη κηα εηηθέηα ηαπηνπνίεζεο. Μηα εθαξκνγή παξάγεη κηα αθνινπζία από αηηήκαηα πξόζβαζεο ζηα αξρεία ηεο ιίζηαο. Γηα λα

Διαβάστε περισσότερα

ΔΕΟ 13. Ποσοτικές Μέθοδοι. θαη λα ππνινγίζεηε ην θόζηνο γηα 10000 παξαγόκελα πξντόληα. Να ζρεδηαζηεί γηα εύξνο πξντόλησλ έσο 30000.

ΔΕΟ 13. Ποσοτικές Μέθοδοι. θαη λα ππνινγίζεηε ην θόζηνο γηα 10000 παξαγόκελα πξντόληα. Να ζρεδηαζηεί γηα εύξνο πξντόλησλ έσο 30000. ΔΕΟ 13 Ποσοτικές Μέθοδοι Σσνάρηηζη Κόζηοσς C(), μέζο κόζηος C()/. Παράδειγμα 1 Μηα εηαηξεία δαπαλά γηα θάζε πξντόλ Α πνπ παξάγεη 0.0 λ.κ. Τα πάγηα έμνδα ηεο εηαηξείαο είλαη 800 λ.κ. Ζεηείηαη 1) Να πεξηγξάςεηε

Διαβάστε περισσότερα

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΦΥΣΙΚΗ. Ύλη: Εσθύγραμμη Κίνηζη

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΦΥΣΙΚΗ. Ύλη: Εσθύγραμμη Κίνηζη ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΦΥΣΙΚΗ Είμαζηε ηυχεροί που είμαζηε δάζκαλοι Ον/μο:.. A Λσκείοσ Ύλη: Εσθύγραμμη Κίνηζη 8-11-2015 Θέμα 1 ο : 1. Η εμίζωζε θίλεζεο ελόο θηλεηνύ πνπ θηλείηαη επζύγξακκα είλαη ε x = 5t. Πνηα

Διαβάστε περισσότερα

α) ηε κεηαηόπηζε x όηαλ ην ζώκα έρεη κέγηζην ξπζκό κεηαβνιήο ζέζεο δ) ην κέγηζην ξπζκό κεηαβνιήο ηεο ηαρύηεηαο

α) ηε κεηαηόπηζε x όηαλ ην ζώκα έρεη κέγηζην ξπζκό κεηαβνιήο ζέζεο δ) ην κέγηζην ξπζκό κεηαβνιήο ηεο ηαρύηεηαο Έξγν ελέξγεηα 3 (Λύζε) Σώκα κάδαο m = 4Kg εξεκεί ζηε βάζε θεθιηκέλνπ επηπέδνπ γσλίαο θιίζεο ζ κε εκζ = 0,6 θαη ζπλζ = 0,8. Τν ζώκα αξρίδεη λα δέρεηαη νξηδόληηα δύλακε θαη μεθηλά λα αλεβαίλεη ζην θεθιηκέλν

Διαβάστε περισσότερα

ΥΡΙΣΟΤΓΔΝΝΙΑΣΙΚΔ ΚΑΣΑΚΔΤΔ

ΥΡΙΣΟΤΓΔΝΝΙΑΣΙΚΔ ΚΑΣΑΚΔΤΔ ΥΡΙΣΟΤΓΔΝΝΙΑΣΙΚΔ ΚΑΣΑΚΔΤΔ 1) Υξηζηνπγελληάηηθα ειαηάθηα θάξηα ή θαδξάθη θάξηα ή θαδξάθη Τιηθά πνπ ζα ρξεηαζηνύκε: Υαξηί θάλζνλ καύξν γηα ην θόλην, πξάζηλν γηα ηα ειαηάθηα, θόθθηλν γηα ηα αζηεξάθηα Απιό

Διαβάστε περισσότερα

A. Αιιάδνληαο ηε θνξά ηνπ ξεύκαηνο πνπ δηαξξέεη ηνλ αγωγό.

A. Αιιάδνληαο ηε θνξά ηνπ ξεύκαηνο πνπ δηαξξέεη ηνλ αγωγό. ΤΠΟΤΡΓΔΙΟ ΠΑΙΓΔΙΑ ΚΑΙ ΠΟΛΙΣΙΜΟΤ ΛΔΤΚΩΙΑ ΦΤΛΛΟ ΔΡΓΑΙΑ Μειέηε ηωλ παξαγόληωλ από ηνπο νπνίνπο εμαξηάηαη ε ειεθηξνκαγλεηηθή δύλακε. Τιηθά - πζθεπέο: Ηιεθηξνληθή δπγαξηά, ηξνθνδνηηθό ηάζεο, ξννζηάηεο, ακπεξόκεηξν,

Διαβάστε περισσότερα

Κεθάλαιο 7. Πξνζθνξά ηνπ θιάδνπ Μ. ΨΥΛΛΑΚΗ

Κεθάλαιο 7. Πξνζθνξά ηνπ θιάδνπ Μ. ΨΥΛΛΑΚΗ Κεθάλαιο 7 Πξνζθνξά ηνπ θιάδνπ 1 Προζθορά ανηαγωνιζηικού κλάδοσ Πώο πξέπεη λα ζπλδπαζηνύλ νη απνθάζεηο πξνζθνξάο ησλ πνιιώλ επηκέξνπο επηρεηξήζεσλ ελόο αληαγσληζηηθνύ θιάδνπ γηα λα βξνύκε ηελ θακπύιε πξνζθνξάο

Διαβάστε περισσότερα

ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014

ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014 ΔΙΑΓΩΝΙΣΜΑ ΕΚΠ. ΕΤΟΥΣ 204-205 ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/204 A ΟΜΑΓΑ Οδηγία: Να γράυεηε ζηο ηεηράδιο ζας ηον αριθμό κάθε μιας από ηις παρακάηφ ερφηήζεις Α.-Α.8 και

Διαβάστε περισσότερα

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

ΠΑΝΕΠΙΣΗΜΙΟ ΜΑΚΕΔΟΝΙΑ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΜΗΜΑ ΕΦΑΡΜΟΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ ΣΕΥΝΗΣΗ ΝΟΗΜΟΤΝΗ ΘΕΜ 1 ο (2.5 κνλάδεο) ΠΝΕΠΙΣΗΜΙΟ ΜΚΕΔΟΝΙ ΟΙΚΟΝΟΜΙΚΩΝ ΚΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΣΜΗΜ ΕΦΡΜΟΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ ΣΕΥΝΗΣΗ ΝΟΗΜΟΤΝΗ Σελικέρ εξετάσειρ Σετάπτη 21 Ιανοςαπίος 2009 13:00-16:00 Έζησ ν θόζκνο ηεο ειεθηξηθήο

Διαβάστε περισσότερα

Ασκήσεις Οπτική και Κύματα

Ασκήσεις Οπτική και Κύματα Παλεπηζηήκην Κξήηεο Τκήκα Επηζηήκεο θαη Τερλνινγίαο Υιηθώλ Ασκήσεις Οπτική και Κύματα Δηδάζθσλ: Δεκήηξεο Παπάδνγινπ Email: dpapa@materials.uc.gr Άλυτες Ασκήσεις: 1. Να πξνζδηνξίζεηε αλ νη αθόινπζεο ζπλαξηήζεηο

Διαβάστε περισσότερα

Μορθές Κακόβοσλοσ Κώδικα (Malicious Code)

Μορθές Κακόβοσλοσ Κώδικα (Malicious Code) Μορθές Κακόβοσλοσ Κώδικα (Malicious Code) Page 1 Υποπλοίαρτος Ν. Πεηράκος ΠΝ Αηδένηα Γνύξεηνη Ίππνη (Trojan Horses) Ινί (Viruses) Worms Root-kit Page 2 Γνύξεηνο Ίππνο (Trojan Horse) Οξηζκόο: Πξόγξακκα

Διαβάστε περισσότερα

1. Να ζεκεηώζεηε πνηα από ηηο επόκελεο ηαρύηεηεο είλαη κεγαιύηεξε. Α. π 1 = 30m/s Β. π 2 = 0.02km/s Γ. π 3 = 36000m/h Γ. π 4 = 144km/h.

1. Να ζεκεηώζεηε πνηα από ηηο επόκελεο ηαρύηεηεο είλαη κεγαιύηεξε. Α. π 1 = 30m/s Β. π 2 = 0.02km/s Γ. π 3 = 36000m/h Γ. π 4 = 144km/h. ΦΤΙΚΗ A ΛΤΚΔΙΟΤ ΓΙΑΡΚΔΙΑ: 10min ΣΜΗΜΑ:. ONOMA:. ΔΠΩΝΤΜΟ: ΗΜΔΡΟΜΗΝΙΑ: ΜΟΝΑΓΔ ΘΔΜΑ 1 ο ΘΔΜΑ ο ΘΔΜΑ 3 ο ΘΔΜΑ 4 ο ΤΝΟΛΟ ΘΔΜΑ A: 1. Να ζεκεηώζεηε πνηα από ηηο επόκελεο ηαρύηεηεο είλαη κεγαιύηεξε. Α. π 1 = 30m/s

Διαβάστε περισσότερα

7. ΚΑΤΑΧΩΡΗΤΕΣ ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ. 3. Έλαο θαηαρσξεηήο SISO ησλ 4 bits έρεη: α) Μία είζνδν, β) Δύν εηζόδνπο, γ) Σέζζεξεηο εηζόδνπο.

7. ΚΑΤΑΧΩΡΗΤΕΣ ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ. 3. Έλαο θαηαρσξεηήο SISO ησλ 4 bits έρεη: α) Μία είζνδν, β) Δύν εηζόδνπο, γ) Σέζζεξεηο εηζόδνπο. 7. ΚΑΤΑΧΩΡΗΤΕΣ ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Ση είλαη έλαο θαηαρσξεηήο; O θαηαρσξεηήο είλαη κηα νκάδα από flip-flop πνπ κπνξεί λα απνζεθεύζεη πξνζσξηλά ςεθηαθή πιεξνθνξία. Μπνξεί λα δηαηεξήζεη ηα δεδνκέλα ηνπ

Διαβάστε περισσότερα

Πως να δημιουργήσετε ένα Cross-Over καλώδιο

Πως να δημιουργήσετε ένα Cross-Over καλώδιο Πως να δημιουργήσετε ένα Cross-Over καλώδιο Τν crossover καλώδιο ρξεζηκνπνηείηαη γηα λα ζπλδεζνύλ δπν ππνινγηζηέο κεηαμύ ηνπο θαη αλ θηηάμνπλ έλα κηθξό ηνπηθό δίθηπν(lan). Έλα LAN κπνξεί λα είλαη ηόζν

Διαβάστε περισσότερα

ΙNCOFRUIT - (HELLAS).

ΙNCOFRUIT - (HELLAS). Πξνο ΟΛΑ ΤΑ ΜΔΛΗ Κε Σπλάδειθε Θέκα: Ιζπαλία & Γεξκαλία 5 ε ΔΒΓΟΜΑΓΑ 2011 (31 Ιαλ έσο 30 Φεβξ.2011) Παξαζέηνπκε θαησηέξσ: Αλαζθόπεζε ηεο 4 εο εβδνκάδνο 2011 κε ηηο ηηκέο ησλ εζπεξηδνεηδώλ πνπ δηακνξθώζεθαλ

Διαβάστε περισσότερα

Σύνθεζη ηαλανηώζεων. Έζησ έλα ζώκα πνπ εθηειεί ηαπηόρξνλα δύν αξκνληθέο ηαιαληώζεηο ηεο ίδηαο ζπρλόηεηαο πνπ πεξηγξάθνληαη από ηηο παξαθάησ εμηζώζεηο:

Σύνθεζη ηαλανηώζεων. Έζησ έλα ζώκα πνπ εθηειεί ηαπηόρξνλα δύν αξκνληθέο ηαιαληώζεηο ηεο ίδηαο ζπρλόηεηαο πνπ πεξηγξάθνληαη από ηηο παξαθάησ εμηζώζεηο: Σύνθεζη ηαλανηώζεων Α. Σύλζεζε δύν α.α.η ηεο ίδιας ζστνόηηηας Έζησ έλα ζώκα πνπ εθηειεί ηαπηόρξνλα δύν αξκνληθέο ηαιαληώζεηο ηεο ίδηαο ζπρλόηεηαο πνπ πεξηγξάθνληαη από ηηο παξαθάησ εμηζώζεηο: Η απνκάθξπλζε

Διαβάστε περισσότερα

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

ΑΠΛΟΠΟΙΗΗ ΛΟΓΙΚΩΝ ΤΝΑΡΣΗΕΩΝ ΜΕ ΠΙΝΑΚΕ KARNAUGH ΑΠΛΟΠΟΙΗΗ ΛΟΓΙΚΩΝ ΤΝΑΡΣΗΕΩΝ ΜΕ ΠΙΝΑΚΕ KRNUGH Γηα λα θάλνπκε απινπνίεζε κηαο ινγηθήο ζπλάξηεζεο κε πίλαθα (ή ράξηε) Karnaugh αθνινπζνύκε ηα παξαθάησ βήκαηα:. Η ινγηθή ζπλάξηεζε ζα πξέπεη λα είλαη ζε πιήξε

Διαβάστε περισσότερα

ΣΡΑΠΕΖΑ ΘΕΜΑΣΩΝ Α ΛΤΚΕΙΟΤ

ΣΡΑΠΕΖΑ ΘΕΜΑΣΩΝ Α ΛΤΚΕΙΟΤ Α/Α : 0_1379/50 1. Όηαλ ινηπόλ ήξζαλ [νη πξέζβεηο ζηελ Αζήλα], αθνύ ζπλέιαβαλ νη Αζελαίνη θαη ηνπο πξέζβεηο σο ππνθηλεηέο ζηάζεο θαη όζνπο έπεηζαλ [νη πξέζβεηο], ηνπο ζπγθέληξσζαλ γηα αζθάιεηα ζηελ Αίγηλα.

Διαβάστε περισσότερα

ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ

ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ Εδώ ζα ππνινγίζνπκε ην κεηαζρεκαηηζκό Fourier κεξηθώλ αθόκα ζεκάησλ, πξνζπαζώληαο λα μεθηλήζνπκε από ην κεηαζρεκαηηζκό Fourier γλσζηώλ ζεκάησλ

Διαβάστε περισσότερα

CT_back office. Internet Business Hellas

CT_back office. Internet Business Hellas CT_back office Internet Business Hellas To CT_call center, είλαη έλα πξωηνπνξηαθό πξνϊόλ δηαρείξηζεο θαη νξγάλωζεο επαθώλ πειαηνινγίνπ. έρεη αλαπηπρζεί από ηελ εηαηξεία καο ζην ζύλνιό ηνπ, είλαη πιήξωο

Διαβάστε περισσότερα

Δξγαιεία Καηαζθεπέο 1 Σάμε Δ Δ.Κ.Φ.Δ. ΥΑΝΗΩΝ ΠΡΩΣΟΒΑΘΜΗΑ ΔΚΠΑΗΓΔΤΖ. ΔΝΟΣΖΣΑ 2 ε : ΤΛΗΚΑ ΩΜΑΣΑ ΔΡΓΑΛΔΗΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Ογθνκεηξηθό δνρείν

Δξγαιεία Καηαζθεπέο 1 Σάμε Δ Δ.Κ.Φ.Δ. ΥΑΝΗΩΝ ΠΡΩΣΟΒΑΘΜΗΑ ΔΚΠΑΗΓΔΤΖ. ΔΝΟΣΖΣΑ 2 ε : ΤΛΗΚΑ ΩΜΑΣΑ ΔΡΓΑΛΔΗΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Ογθνκεηξηθό δνρείν Δξγαιεία Καηαζθεπέο 1 Δ.Κ.Φ.Δ. ΥΑΝΗΩΝ ΠΡΩΣΟΒΑΘΜΗΑ ΔΚΠΑΗΓΔΤΖ ΔΝΟΣΖΣΑ 2 ε : ΤΛΗΚΑ ΩΜΑΣΑ ΔΡΓΑΛΔΗΑ ΚΑΣΑΚΔΤΔ Καηαζθεπή 1: Ογθνκεηξηθό δνρείν Καηαζθεπάδνπκε έλα νγθνκεηξηθό δνρείν από πιαζηηθό κπνπθάιη λεξνύ

Διαβάστε περισσότερα

Ζ εηαηξεία ΠΑΓΚΑΛΟΣ Α.Ε. αθνύ θαηάθεξε κε ην ζπαζί ηεο λα θαηαμησζεί ζην ρώξν ηνπ αινπκηλίνπ εδώ θαη 35 ρξόληα, κε πξνζθνξά ζην πνηνηηθό κεράλεκα αιιά θαη ηελ εμππεξέηεζε ησλ πειαηώλ ηεο, μεθηλά κηα λέα

Διαβάστε περισσότερα

ΔΦΑΡΜΟΜΔΝΑ ΜΑΘΗΜΑΣΙΚΑ ΣΗ ΧΗΜΔΙΑ Ι ΘΔΜΑΣΑ Α επηέκβξηνο 2009. 1. Να ππνινγηζηνύλ νη κεξηθέο παξάγσγνη πξώηεο ηάμεο ηεο ζπλάξηεζεο f(x,y) =

ΔΦΑΡΜΟΜΔΝΑ ΜΑΘΗΜΑΣΙΚΑ ΣΗ ΧΗΜΔΙΑ Ι ΘΔΜΑΣΑ Α επηέκβξηνο 2009. 1. Να ππνινγηζηνύλ νη κεξηθέο παξάγσγνη πξώηεο ηάμεο ηεο ζπλάξηεζεο f(x,y) = ΘΔΜΑΣΑ Α επηέκβξηνο 9. Να ππνινγηζηνύλ νη κεξηθέο παξάγσγνη πξώηεο ηάμεο ηεο ζπλάξηεζεο f(,y) = y.. Να ππνινγηζηνύλ ηα νινθιεξώκαηα: a) ln b) a) 3cos b) e sin 4. Να ππνινγηζηεί ην νινθιήξσκα: S ( y) 3

Διαβάστε περισσότερα

Constructors and Destructors in C++

Constructors and Destructors in C++ Constructors and Destructors in C++ Σύνθεζη Πνιύ ζπρλά ζηε C++ κία θιάζε κπνξεί λα πεξηέρεη ζαλ κέιεδεδνκέλα αληηθείκελα άιισλ θιάζεσλ. Πνηα είλαη ε ζεηξά κε ηελ νπνία δεκηνπξγνύληαη θαη θαηαζηξέθνληαη

Διαβάστε περισσότερα

Εηζαγσγή ζηελ επηζηήκε ησλ ππνινγηζηώλ. Λνγηζκηθό Υπνινγηζηώλ Κεθάιαην 7ν Λεηηνπξγηθά Σπζηήκαηα

Εηζαγσγή ζηελ επηζηήκε ησλ ππνινγηζηώλ. Λνγηζκηθό Υπνινγηζηώλ Κεθάιαην 7ν Λεηηνπξγηθά Σπζηήκαηα Εηζαγσγή ζηελ επηζηήκε ησλ ππνινγηζηώλ Λνγηζκηθό Υπνινγηζηώλ Κεθάιαην 7ν Λεηηνπξγηθά Σπζηήκαηα 1 Υπνινγηζηηθό Σύζηεκα 2 Λεηηνπξγηθό Σύζηεκα Απνηειεί ηε δηαζύλδεζε κεηαμύ ηνπ πιηθνύ ελόο ππνινγηζηή θαη

Διαβάστε περισσότερα

Case Study. Παξαθάηω παξνπζηάδνπκε βήκα - βήκα κε screenshots έλα παξάδεηγκα ππνβνιήο κηαο εξγαζίαο θαη ηελ παξαγωγή ηνπ Originality Report.

Case Study. Παξαθάηω παξνπζηάδνπκε βήκα - βήκα κε screenshots έλα παξάδεηγκα ππνβνιήο κηαο εξγαζίαο θαη ηελ παξαγωγή ηνπ Originality Report. Case Study Παξαθάηω παξνπζηάδνπκε βήκα - βήκα κε screenshots έλα παξάδεηγκα ππνβνιήο κηαο εξγαζίαο θαη ηελ παξαγωγή ηνπ Originality Report. Βήκα 1 ο : Login ζηο Turnitin. Κάλεηε είζνδν ζην Turnitin κε

Διαβάστε περισσότερα