• Nenhum resultado encontrado

Δημιουργία ηλεκτρονικού παιχνιδιού πολλών χρηστών μέσω bleutooth για κινητά τηλέφωνα

N/A
N/A
Protected

Academic year: 2023

Share "Δημιουργία ηλεκτρονικού παιχνιδιού πολλών χρηστών μέσω bleutooth για κινητά τηλέφωνα"

Copied!
116
0
0

Texto

(1)

ΑΝΩΣΑΣΟ ΣΔΥΝΟΛΟΓΙΚΟ ΔΚΠΑΙΓΔΤΣΙΚΟ ΙΓΡΤΜΑ ΚΑΒΑΛΑ΢

΢ΧΟΛΗ ΣΔΧΝΟΛΟΓΙΚΩΝ ΔΦΑΡΜΟΓΩΝ ΣΜΗΜΑ ΒΙΟΜΗΧΑΝΙΚΗ ΠΛΗΡΟΦΟΡΙΚΗ΢

Γεκηοσργία Ηιεθηροληθού Παητληδηού Ποιιώλ Υρεζηώλ Μέζφ Bluetooth γηα θηλεηά ηειέθφλα

Πηστηαθή Δργαζία

Σποσδαζηής:

Λνύηο Καρηνπηέαο Α.Δ.Μ. : 550

Δπιβλέπων Καθηγηηής:

Παπαδάθεο ΢ηπιηαλόο

Καβάια, ΢επηέκβξηνο 2006

(2)

Γεκηοσργία ειεθηροληθού παητληδηού ποιιώλ τρεζηώλ κέζφ Bluetooth γηα θηλεηά ηειέθφλα

Α.Σ.Δ.Ι. Καβάιας – Βηοκεταληθή Πιεροθορηθή ΢ειίδα 1 από 115 Κατηοσηέας Λούης e-mail : l_kahiouteas@yahoo.com

Εςσαπιζηώ ηον κύπιο Παπαδάκη Σηςλιανό, για ηην οςζιαζηική βοήθειά ηος ζηη ζςγγπαθή ηηρ Πηςσιακήρ μος Επγαζίαρ, καθώρ και ηην μηηέπα μος, για ηην ςποζηήπιξή ηηρ ζε όλη ηη διάπκεια ηων ζποςδών μος.

Κασιοςηέαρ Λούιρ

(3)

Γεκηοσργία ειεθηροληθού παητληδηού ποιιώλ τρεζηώλ κέζφ Bluetooth γηα θηλεηά ηειέθφλα

Α.Σ.Δ.Ι. Καβάιας – Βηοκεταληθή Πιεροθορηθή ΢ειίδα 2 από 115 Κατηοσηέας Λούης e-mail : l_kahiouteas@yahoo.com

Περηετόκελα :

Περίιευε ... 5

1 Κεθάιαηο – Δηζαγφγή ... 6

1.1 Ιζηορηθή Αλαδροκή ... 6

1.2 Γλφρίδοληας ηης πιαηθόρκες ηφλ θηλεηώλ ηειεθώλφλ (Mobile Platforms) ... 7

1.2.1 Java 2 Micro Edition (J2ME) ... 7

1.2.2 Binary Runtime Environment for Wireless (BREW) ... 8

1.2.3 Symbian ... 8

1.2.4 Windows Mobile Smartphone ... 9

1.3 Η Java ζαλ πιαηθόρκα παητληδηού ... 9

1.3.1 Γηαηί Java? ... 9

1.4 Γρήγορε καηηά ζηο J2ME Primer ... 10

1.4.1 Ρσζκίζεης & Διάτηζηες ρσζκίζεης ζύλδεζες γηα ζσζθεσές (Connected Limited Device Configuration - CLDC) ... 10

1.4.2 Προθίι θαη ηο MIDP ... 11

1.4.2.1 Ηιεθηροληθές Απαηηήζεης ηοσ MIDP ... 11

1.4.2.2 Απαηηήζεης Λογηζκηθού γηα MIDP ... 12

1.5 Βαζηθά ζηοητεία ζτεδηαζκού Java mobile προγρακκάηφλ . 13 1.5.1 Βαζηθά ζηοητεία ζτεδηαζκού ... 13

1.5.2 Βαζηθές γλώζεης προγρακκαηηζκού γηα J2ME ... 14

1.5.3 Γλφρίδοληας ηο J2ME Wireless Toolkit ... 16

1.5.3.1 Υρεζηκοποηώληας ηο KToolbar ... 17

1.5.3.2 Οργαλώλοληας ηα MIDlets ... 18

1.5.3.3 Καηαζθεσάδοληας έλα MIDlet ... 21

1.5.3.4 Σεζηάρηζκα ηοσ MIDlet ... 21

2 Κεθάιαηο – Bluetooth ... 23

2.1 Δηζαγφγή ζηο Bluetooth ... 23

2.2 Ξεθηλώληας ηολ προγρακκαηηζκό ηοσ Bluetooth ... 24

2.2.1 Bluetooth Chat ... 24

2.2.1.1 Ση θάλεη ηο πρόγρακκα ... 24

2.2.1.2 Λογηθή ηοσ προγράκκαηος Chat ... 27

2.2.1.3 Ο θώδηθας ηοσ προγράκκαηος ηοσ Chat ... 28

2.2.1.4 Αλαθεθαιαίφζε ... 36

3 Κεθάιαηο - Γεκηοσργώληας έλα παητλίδη ζε θηλεηό ηειέθφλο ... 37

3.1 Βαζηθές γλώζεης ... 37

3.2 Γεκηοσργία βαζηθού ζθειεηού ηοσ παητληδηού ... 38

3.3 Βαζηθές γλώζεης γραθηθώλ ζηα MIDlets... 40

3.3.1 ΢ύζηεκα ζσληεηαγκέλφλ γηα γραθηθά ζε MIDlets ... 40

(4)

Γεκηοσργία ειεθηροληθού παητληδηού ποιιώλ τρεζηώλ κέζφ Bluetooth γηα θηλεηά ηειέθφλα

Α.Σ.Δ.Ι. Καβάιας – Βηοκεταληθή Πιεροθορηθή ΢ειίδα 3 από 115 Κατηοσηέας Λούης e-mail : l_kahiouteas@yahoo.com

3.3.2 Βαζηθές γλώζεης γηα ηα τρώκαηα ... 41

3.3.3 Γοσιεύοληας κε ηα γραθηθά ζηο J2ME ... 42

3.3.3.1 Βαζηθές ζτεδηαζηηθές ζσλαρηήζεης ... 42

3.3.3.2 ΢τεδηαζκός γρακκαηοζεηρώλ ... 44

3.3.3.3 ΢τεδηαζκός εηθόλας ... 45

3.3.4 Σο Animation ζηα MIDlets ... 46

3.3.4.1 Βαζηθές γλώζεης animation ... 46

3.3.4.2 Αλαιύοληας ηο 2D Sprite Animation ... 46

3.3.5 Υρεζηκοποηώληας Sprite Animation ζηα MIDlets ... 47

3.4 Υεηρηζκός ηφλ ελεργεηώλ ηοσ τρήζηε (user inputs) ... 49

3.5 Γεκηοσργία ηοσ παητληδηού “UFO” ... 50

3.5.1 UFO MIDlet ... 51

3.5.2 Η θιάζε UFOCanvas ... 52

4 Κεθάιαηο - Γεκηοσργία ειεθηροληθού παητληδηού ποιιώλ τρεζηώλ κέζφ Bluetooth ... 58

4.1 Γεκηοσργία ηοσ Connect 4 – Bluetooth... 58

4.1.1 Οη αιιαγές ηοσ Bluetooth Chat ... 59

4.1.2 Σο λέο αρτείο NameUI.java ... 59

4.1.3 Σο λέο αρτείο ChatMain.java ... 60

4.1.4 Οη αιιαγές ζηα αρτεία NetLayer, Sender, Reader θαη Util.java ... 63

4.1.5 Σο παητλίδη Connect 4 ( C4Canvas.java θαη C4State.java) 64 4.1.5.1 Πφς παίδεηαη ηο Connect 4 ... 64

4.1.5.2 Η ιογηθή ηοσ θώδηθα ηοσ Connect 4 ... 65

4.1.5.3 Ο θώδηθας ηοσ Connect 4 ... 66

4.1.5.4 Η θιάζε C4State ... 76

4.2 Γεκηοσργία ηοσ “UFO Bluetooth” ... 80

4.2.1 Οη αιιαγές ζηο Bluetooth Chat ... 80

4.2.2 Οη αιιαγές ζηελ θιάζε UFOCanvas ... 82

4.2.2.1 Οη κεηαβιεηές ηες θιάζες UFOCanvas ... 82

4.2.2.2 Ο δεκηοσργός ηες θιάζες UFOCanvas ... 83

4.2.2.3 Η ζσλάρηεζε Start() ηοσ UFOCanvas ... 83

4.2.2.4 Η ζσλάρηεζε update_screen() ζηελ UFOCanvas ... 84

4.2.2.5 Η ζσλάρηεζε receiveMessage() ηοσ UFOCanvas ... 86

4.2.2.6 Η ζσλάρηεζε FillMessages() ηοσ UFOCanvas ... 87

4.2.2.7 Η ζσλάρηεζε IndexOf() ηοσ UFOCanvas ... 87

Βηβιηογραθία ... 88

Παραρηήκαηα ... 89

(5)

Γεκηοσργία ειεθηροληθού παητληδηού ποιιώλ τρεζηώλ κέζφ Bluetooth γηα θηλεηά ηειέθφλα

Α.Σ.Δ.Ι. Καβάιας – Βηοκεταληθή Πιεροθορηθή ΢ειίδα 4 από 115 Κατηοσηέας Λούης e-mail : l_kahiouteas@yahoo.com

Λίζηα Εικόνφν

Δηθόλα 1 - KToolbar ... 17

Δηθόλα 2 - New Project ... 18

Δηθόλα 3 - Open Project... 19

Δηθόλα 4 - Settings Window ... 20

Δηθόλα 5 - Compile Project ... 21

Δηθόλα 6 - Color Emulator ... 22

Δηθόλα 7 - Qwerty Emulator ... 22

Δηθόλα 8 - Αρτηθή Δηθόλα Chat ... 25

Δηθόλα 9 - Bluetooth Emulator Δηθόλα 10 - Chat Screen ... 26

Δηθόλα 11 - Join Chat room ... 27

Δηθόλα 12 - ΢ύζηεκα ΢σληεηαγκέλφλ ζηα MIDlets ... 40

Δηθόλα 13 - Σο παητλίδη "UFO" ... 50

Δηθόλα 14 - Connect 4 Bluetooth ... 58

Δηθόλα 15 - Connect 4 ... 64

Δηθόλα 16 - Connect 4 θίλεζε ... 65

Δηθόλα 17 - UFO Bluetooth ... 80

Δηθόλα 18 - High Seas ... 90

Δηθόλα 19 - Layers ... 91

Δηθόλα 20 - Layer Map ... 91

Δηθόλα 21 - Nokia PC Suite 6.8 ... 114

Δηθόλα 22 - Nokia Application Installer ... 115

(6)

Γεκηοσργία ειεθηροληθού παητληδηού ποιιώλ τρεζηώλ κέζφ Bluetooth γηα θηλεηά ηειέθφλα

Α.Σ.Δ.Ι. Καβάιας – Βηοκεταληθή Πιεροθορηθή ΢ειίδα 5 από 115 Κατηοσηέας Λούης e-mail : l_kahiouteas@yahoo.com

Περίλευε

Σν ζέκα κε ην νπνίν αζρνιείηαη απηή ε πηπρηαθή εξγαζία, είλαη ε δεκηνπξγία ελόο ειεθηξνληθνύ παηρληδηνύ γηα πνιινύο ρξήζηεο γηα θηλεηά ηειέθσλα, νη νπνίνη ζα επηθνηλσλνύλ κεηαμύ ηνπο κέζσ ηεο Bluetooth επηθνηλσλίαο. ΢θνπόο απηήο ηεο εξγαζίαο είλαη λα δώζεη ζηνλ αλαγλώζηε όιεο ηηο δπλαηέο πιεξνθνξίεο θαη εθόδηα ώζηε λα κπνξεί λα δεκηνπξγήζεη έλα ηέηνην παηρλίδη γηα θηλεηά ηειέθσλα.

Γηα ηελ πινπνίεζε ηνπ πξναλαθεξζέληνο ζθνπνύ, ε πηπρηαθή εξγαζία έρεη ρσξηζηεί ζε 4 βαζηθά θεθάιαηα. Οπνύ ζε θάζε θεθάιαην αλαιύεηαη αλαιπηηθά ην θάζε ζηάδην ηεο πινπνηήζεηο ηνπ παηρληδηνύ.

Σν πξώην θεθαιαίν έρεη σο αληηθείκελν λα θάλεη κηα ηζηνξηθή αλαθνξά πεξί αζπξκάησλ παηρληδηώλ, θαζώο θάλεη ζηνλ αλαγλώζηε ηνπο ηξόπνπο κε ηνπο νπνίνπο κπνξεί λα δεκηνπξγήζεη έλα πξόγξακκα γηα θηλεηά. Γίλεηαη κηα αλαθνξά ζηελ γιώζζα κε ηελ νπνία ζα πινπνηήζνπκε ζηελ πηπρηαθή εξγαζία θαζώο θαη ιόγν γηα ηνλ νπνίν ηελ πξνηηκνύκε. Σέινο αλαθέξεηε ζηνλ ηξόπν κε ηνλ νπνίν ζα ρξεζηκνπνηήζνπκε θαη γηαηί θάπνηα εξγαιεία ώζηε λα πινπνηήζνπκε ην παηρλίδη.

Σν δεύηεξν θεθαιαίν έρεη σο αληηθείκελν ην Bluetooth θαη πην ζπγθεθξηκέλα αλαθέξεηαη ζην ηη είλαη Bluetooth, δηαθνξέο εθαξκνγέο ζηηο νπνίεο κπνξνύκε λα ην ρξεζηκνπνηήζνπκε θαη ηέινο γίλεηαη κηα πινπνίεζε ελόο πξνγξάκκαηνο Bluetooth Chat ην νπνίν ζα ρξεζηκνπνηεζεί ζην ηέινο σο βαζηθόο θνξκόο ηεο επηθνηλσλίαο ησλ θηλεηώλ ηειεθώλσλ.

Σν ηξίην θεθαιαίν έρεη σο αληηθείκελν ηελ δεκηνπξγία παηρληδηνύ ζε θηλεηό ηειέθσλν. Πην ζπγθεθξηκέλα γίλεηαη αλαθνξά ζηελ δεκηνπξγία γξαθηθνύ πεξηβάιινληνο, ρξήζε ήρσλ θαη αλαθνξά κεξηθώλ ηερληθώλ ηερλεηήο λνεκνζύλεο (Artificial Intelligent) ζε παηρλίδηα. Όια απηά επηηπγράλνληαη κε ηελ δεκηνπξγία 2 παηρληδηώλ. Δλόο απινύ παηρληδηνύ πνπ αλαθέξεηε θπξίσο ζην ηξόπν ηνπ animation θαη ζηνλ ρεηξηζκό ηνπ παηρληδηνύ (UFO).

΢ην ηέηαξην θεθάιαην γίλεηαη ε ζύλδεζε ηνπ δεύηεξνπ θαη ηνπ ηξίηνπ θεθαιαίνπ ώζηε λα θηάζνπκε ζηελ νινθιήξσζε ηνπ ζθνπνύ ηεο πηπρηαθήο εξγαζίαο, ην νπνίν επηηπγράλεηε κε ηελ πινπνίεζε ελόο νινθιεξσκέλνπ παηρληδηνύ γηα 2 ρξήζηεο (Connect 4) θαη ελόο demo νπνύ γίλεηαη εκθαλέο όηη κε ηελ ίδηα ινγηθή κπνξνύλ λα ζπλδεζνύλ 8 ρξήζηεο ή θαη παξαπάλσ (UFO Bluetooth).

Σέινο είλαη ην παξάξηεκα ζην νπνίν βξίζθνληαη πιεξνθνξίεο γηα ηελ δεκηνπξγία ελόο πην πξνρσξεκέλνπ επηπέδνπ γξαθηθώλ παηρληδηνύ, ζην νπνίν γίλνληαη εκθαλέο ηα ζηνηρεία ηερλεηήο λνεκνζύλεο, θαζώο θαη ην πσο κπνξείο λα δεκηνπξγήζεηο έλαλ κεγαιύηεξν 2D θόζκν θαη ρξήζεο ήρσλ (High Seas).

(7)

Γεκηοσργία ειεθηροληθού παητληδηού ποιιώλ τρεζηώλ κέζφ Bluetooth γηα θηλεηά ηειέθφλα

Α.Σ.Δ.Ι. Καβάιας – Βηοκεταληθή Πιεροθορηθή ΢ειίδα 6 από 115 Κατηοσηέας Λούης e-mail : l_kahiouteas@yahoo.com

1 Κεθάλαιο – Ειζαγφγή

1.1 Ιζηορική Αναδρομή

Σα αζύξκαηα ειεθηξνληθά παηρλίδηα δελ είλαη θάηη ην νπνίν εκθαλίζηεθε ηώξα ηειεπηαία, είλαη θάηη ην νπνίν έρεη εκθαληζηεί από ηελ δεθαεηία ηνπ ’80. ΢ίγνπξα κία από ηηο πην δηάζεκεο θνλζόιεο πνπ ρξεζηκνπνίεζαλ αζύξκαηα ειεθηξνληθά παηρλίδηα ήηαλ ην Nintendo Game Boy, ην νπνίν έρεη δερηεί πνιιέο ηξνπνπνηήζεηο από ηόηε θαη αθόκα θαη ζήκεξα παξακέλεη λα είλαη κία από ηεο πην δηάζεκεο θνλζόιεο αζύξκαησλ παηρληδηώλ. Σα παηρλίδηα γηα θηλεηά κέλαλε πάληα πίζσ ζηελ εμέιημε ιόγν ηηο ρακειήο ππνινγηζηηθή ηνπο δύλακεο θαη κλήκεο. Άιια απηό είλαη θάηη ην νπνίν έρεη αιιάμεη θαη ζπλερίδεη λα αιιάδεη κε πνιύ γξήγνξν ξπζκό ζηηο κέξεο καο. Λόγν απηήο ηεο εμέιημεο ην θηλεηό ηειέθσλν έρεη αξρίζεη πιένλ θαη δελ είλαη πηα κηα ζπζθεπή πνπ καο βνεζάεη απιά ζηελ επηθνηλσλία κε ηξίηνπο, αιιά έρεη γίλεη θαη κηα ζπζθεπή δηαζθέδαζεο ε νπνία ζε ζηηγκέο πνπ είκαζηε αλαγθαζκέλνη π.ρ. λα πεξηκέλνπκε ζε κηα κεγάιε νπξά ζην ηακείν ή θάπνηνλ γλσζηό καο πνπ άξγεζε ζην ξαληεβνύ ηνπ, καο βνεζάεη ζην λα «ζθνηώζνπκε»

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

Σν πξώην παηρλίδη πνπ θηηάρηεθε γηα θηλεηό ηειέθσλν ήηαλ γηα ηα θηλεηά ηεο εηαηξίαο Nokia ην νπνίν νλνκαδόηαλ «Φηδάθη» ην νπνίν ήηαλ έλα παηρλίδη κε πνιύ απιά γξαθηθά θαη πνιύ απιή ινγηθή, ην κόλν πνπ έθαλεο ήηαλ λα νδεγείο ην θηδάθη ώζηε λα θάεη ηα κήια θαη λα κελ θάεη ηελ νπξά ηνπ. Σν κόλν ηδηαίηεξν πνπ είρε απηό ην παηρλίδη ήηαλ όηη ην θηδάθη κεηά από θάζε κήιν πνπ έηξσγε κεγάισλε. Αληίζεηα ηώξα ζηηο κέξεο καο κπνξνύκε λα βξνύκε παηρλίδηα κε ηξηζδηάζηαην πεξηβάιινλ θαζώο θαη παηρλίδηα πνιιώλ ρξεζηώλ, πξάγκα ην νπνίν καο θάλεη εκθαλέο ηελ εμέιημε ηεο ππνινγηζηηθήο δύλακεο ησλ θηλεηώλ θαζώο θαη ην ελδηαθέξσλ ησλ εηαηξηώλ γηα ηελ δεκηνπξγία λέσλ θαη θαιύηεξσλ παηρληδηώλ γηα θηλεηά ηειέθσλα.

Σέινο αμίδεη λα αλαθέξνπκε όηη έρεη αξρίζεη λα γίλεηαη κηα «ζηξνθή» πξνο ηελ δεκηνπξγία ειεθηξνληθώλ παηρληδηώλ ζε θηλεηά ηειέθσλα, κηα εξεπλεηηθή εηαηξία ηεο Νέαο Τόξθεο ππνιόγηζε όηη πεξηζζόηεξνη από 200 εθαηνκκύξηα άηνκα παίδνπλ παηρλίδηα ζε θηλεηά ηειέθσλα κέζα ζην 2005 θαη ππνινγίδνπλ όηη κέζα ζην 2006 ηα άηνκα ηα νπνία ζα παίδνπλ παηρλίδηα ζε θηλεηά ηειέθσλα ζα είλαη άλσ ησλ 850 εθαηνκκπξίσλ αηόκσλ.

(8)

Γεκηοσργία ειεθηροληθού παητληδηού ποιιώλ τρεζηώλ κέζφ Bluetooth γηα θηλεηά ηειέθφλα

Α.Σ.Δ.Ι. Καβάιας – Βηοκεταληθή Πιεροθορηθή ΢ειίδα 7 από 115 Κατηοσηέας Λούης e-mail : l_kahiouteas@yahoo.com

1.2 Γνωρίδονηας ηις πλαηθόρμες ηων κινεηών ηελεθώνων (Mobile Platforms)

Πξηλ μεθηλήζνπκε κε ηηο πιαηθόξκεο ησλ θηλεηώλ είλαη ζεκαληηθό λα μεθαζαξίζνπκε ην γεγνλόο όηη ηα αζύξκαηα παηρλίδηα θηλεηώλ είλαη αθόκα ζε πεξίνδν πξνζαξκνγήο, πην αλαιπηηθά επεηδή ε ηερλνινγία ησλ θηλεηώλ είλαη αθόκα ππό εμέιημε νη ηερλνινγίεο νη νπνίεο ζα αλαιπζνύλ δελ είλαη απαξαίηεην όηη θαη απηέο είλαη νη κνλέο πνπ ππάξρνπλ.

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

Δάλ θαη ε ηερλνινγία ησλ θηλεηώλ αλαπηύζζεηαη κε πνιύ ηαρύ ξπζκό ζα κπνξνύκε κε άλεζε λα πνύκε όηη νη βαζηθόηεξεο πιαηθόξκεο θηλεηώλ ηειεθώλσλ είλαη :

 Java 2 Micro Edition ( J2ME )

 Binary Runtime Environment for Wireless ( BREW )

 Symbian

 Windows Mobile Smartphone

Απηέο νη 4 πιαηθόξκεο γηα θηλεηά είλαη νη πην δεκνθηιήο θαη όιεο πεξηέρνπλ εμαηξεηηθή ππνζηήξημε θαη εξγαιεία γηα ηνπο ελδηαθεξόκελνπο πξνγξακκαηηζηέο πνπ ζα ζειήζνπλ λα δεκηνπξγήζνπλ θάπνην πξόγξακκα γηα θηλεηό ηειέθσλν. Πην αλαιπηηθά αλαθεξόκαζηε παξαθάησ.

1.2.1 Java 2 Micro Edition (J2ME)

Ζ J2ME είλαη κηα πξνγξακκαηηζηηθή έθδνζε ηεο Java ε νπνία πξνζθέξεηαη από ηελ

«Sun Microsystems». Πνιιά άηνκα δελ κπνξνύλ λα θαηαιάβνπλ όηη ν ζθνπόο ηεο Java ήηαλ γηα λα ρξεζηκνπνηεζεί γηα θηλεηέο ζπζθεπέο θαη όηη επηηέινπο ηώξα ζα κπνξέζεη λα δείμεη ηελ αμία ηεο. Ζ J2ME είλαη έλα πνιύ θαιό εξγαιείν κε πινύζην πξνγξακκαηηζηηθό πεξηβάιινλ γηα ηελ δεκηνπξγία πξνγξακκάησλ γηα θηλεηά ηειεθώλα ηα νπνία είλαη γλσζηά σο MIDlets.

Ζ J2ME αθόκα πεξηέρεη ην Κ virtual machine, ην νπνίν είλαη ππεύζπλν γηα λα βνεζάεη ηελ εθηέιεζε ηνπ Java byte code ζε θάζε ηειέθσλν. ΢ηεξίδνληαο ζηνλ γεληθό θώδηθα θαη όρη από ζηαζεξά πξνγξάκκαηα, ε J2ME θάλεη δπλαηό ηελ δεκηνπξγία ελόο θώδηθα ν νπνίνο ζα κπνξεί λα ηξέμεη ζε κηα κεγάιε γθάκα δηαθνξεηηθώλ θηλεηώλ ηειεθώλσλ κε πνιύ ιίγε πξνζπάζεηα. Γηα ηελ αθξίβεηα, εάλ δελ δηαθέξαλε ηα κεγέζε ησλ νζνλώλ θαη ησλ γξαθηθώλ από θηλεηό ζε θηλεηό, ε πξνζπάζεηα ζα κεδεληδόηαλ.

(9)

Γεκηοσργία ειεθηροληθού παητληδηού ποιιώλ τρεζηώλ κέζφ Bluetooth γηα θηλεηά ηειέθφλα

Α.Σ.Δ.Ι. Καβάιας – Βηοκεταληθή Πιεροθορηθή ΢ειίδα 8 από 115 Κατηοσηέας Λούης e-mail : l_kahiouteas@yahoo.com

1.2.2 Binary Runtime Environment for Wireless (BREW)

Αληίζεηα κε ηελ J2ME, ε νπνία ππνζηεξίδεηαη από κηα πνιύ κεγάιε γθάκα θηλεηώλ ηειεθώλσλ, ε BREW είλαη κηα πιαηθόξκα ε νπνία είλαη εηδηθά θηηαγκέλε γηα θηλεηά ηα νπνία βαζίδνληαη ζε Qualcomm’s Code Division Multiple Access (CDMA) ηερλνινγία.

Απηό δελ ζεκαίλεη όηη ε BREW δελ έρεη κεγάιεο δπλαηόηεηεο ζαλ πιαηθόξκα.

Απελαληίαο νη BREW πξνγξακκαηηζηέο ρξεζηκνπνηνύλ ηππηθά C ή C++ ζαλ γιώζζα πξνγξακκαηηζκνύ κε ζπλδπαζκό ην BREW API γηα λα δεκηνπξγήζνπλ παηρλίδηα γηα θηλεηά ηειέθσλα γηα BREW ζπζθεπέο. Ζ BREW επίζεο ππνζηεξίδεη θαη άιιεο ζρεδηαζηηθέο ηερλνινγίεο πξνγξακκάησλ όπσο XML θαη αθόκα θαη Java.

Όπσο θαη ε J2ME έηζη θαη ε BREW έρεη ηελ δπλαηόηεηα λα ηξέμεη αλεμαξηήηνπ ιεηηνπξγηθνύ γηαηί θαη αύηε έρεη γελεηηθό θώδηθα. Αθόκα αληίζεηα κε ηελ J2ME ππνζηεξίδεη θαη δεκηνπξγία κεηξηθνύ θώδηθα, δειαδή πξνγξακκάησλ ησλ νπνίσλ δελ δεκηνπξγνύληαη εθείλε ηελ ώξα αιιά έρνπλ δεκηνπξγεζεί από πξηλ θαη απιά ηξέρνπλ όηαλ ηα εθηειέζεηο. Φπζηθά ηα πξνγξάκκαηα κε κεηξηθό θώδηθα είλαη ζαθέζηαηα πην γξήγνξα ιόγν ηνπ όηη δελ δεκηνπξγείηαη εθείλε ηελ ώξα ην πξόγξακκα αιιά είλαη πην πεξίπινθα από άπνςε θώδηθα ιόγν ησλ δηαθνξεηηθώλ εηζόδσλ – εμόδσλ από ζπζθεπή ζε ζπζθεπή.

1.2.3 Symbian

Ζ Symbian είλαη έλα ιεηηνπξγηθό ζύζηεκα γηα θηλεηά ηειεθώλα ην νπνίν έρεη ηειείσο δηαθνξεηηθή πξνζέγγηζε από ηελ BREW. Δίλαη έλα αλνηρηνύ θώδηθα ιεηηνπξγηθό ζύζηεκα, ην νπνίν είλαη δηαζέζηκν γηα νπνηαδήπνηε εηαηξηθή ζπζθεπή. Ζ Symbian δεκηνπξγήζεθε από ηελ Symbian Ltd. ε νπνία ζπλεξγάδεηαη κε αξθεηέο εηαηξίεο θηλεηήο ηειεθσλίαο όπσο Motorola, Nokia, Panasonic θαη Sonic / Ericsson. Ζ Symbian απηήλ ηελ ζηηγκή ππνζηεξίδεη κηα κεγάιε γθάκα θηλεηώλ ηειεθώλσλ, ιόγν ηνπ όηη είλαη εύθνιε ζηελ παξαρώξεζε αδείαο ρξήζεο ηεο.

Τπάξρνπλ πνιιέο επηινγέο γηα ηελ αλάπηπμε παηρληδηώλ ζε θηλεηά γηα Symbian ζπζθεπέο επεηδή ε Symbian ππνζηεξίδεη C++ , Java θαη Visual Basic από πξνγξακκαηηζηηθέο γιώζζεο. Σα πην δηαδεδνκέλα θαη δεκνθηιή παηρλίδηα πνπ θπθινθνξνύλ ζηελ αγνξά απηήλ ηελ ζηηγκή είλαη θηηαγκέλα κε C++ ζε κεηξηθά πξνγξάκκαηα Symbian, ηα νπνία ηα θάλνπλ θαη πην γξήγνξα θαη κε πεξηζζόηεξεο δπλαηόηεηεο ζε ζπζθεπέο κε Symbian ιεηηνπξγηθό πεξηβάιινλ. Αθόκα θαη ε Java δελ κπνξεί λα θηάζεη ηηο απνδόζεηο απηέο κηαο θαη ν κεηξηθόο θώδηθαο είλαη πην γξήγνξνο από ηνλ γεληθό. Πξάγκα ην νπνίν κπνξεί λα απνηειέζεη πνιύ ζεκαληηθό ζηνηρείν ζηελ δεκηνπξγία παηρληδηνύ γηα θηλεηά ηειέθσλα, ιόγν ηεο πεξηνξηζκέλεο ππνινγηζηηθήο δύλακεο.

(10)

Γεκηοσργία ειεθηροληθού παητληδηού ποιιώλ τρεζηώλ κέζφ Bluetooth γηα θηλεηά ηειέθφλα

Α.Σ.Δ.Ι. Καβάιας – Βηοκεταληθή Πιεροθορηθή ΢ειίδα 9 από 115 Κατηοσηέας Λούης e-mail : l_kahiouteas@yahoo.com

1.2.4 Windows Mobile Smartphone

Σν Windows Mobile Smartphone αλαθέξεηε ζηα θηλεηά ηα νπνία έρνπλ γηα ιεηηνπξγηθό ζύζηεκα ην Windows mobile. Σν κόλν μερσξηζηό πνπ έρεη είλαη όηη κπνξείο λα δεκηνπξγήζεηο έλα παηρλίδη κε αθξηβώο ηνλ ίδην ηξόπν πνπ ζα δεκηνπξγήζεηο θαη γηα έλα Pocket Pc ην νπνίν πεξηέρεη ην ίδην ιεηηνπξγηθό ζύζηεκα. Αθόκα όπσο είλαη θπζηθό κπνξείο λα ρξεζηκνπνηήζεηο C, C++, ή αθόκα θαη Microsoft C# ζαλ πξνγξακκαηηζηηθή γιώζζα γηα λα δεκηνπξγήζεηο έλα παηρλίδη, ζε ζπλδπαζκό κε ην Windows Mobile APIs.

Οη πξνγξακκαηηζηέο γηα Pocket Pc ππάξρνπλ εδώ θαη θαηξό ηώξα πξάγκα ην νπνίν δίλεη έλα πιενλέθηεκα ζε αληίζεζε κε ηηο άιιεο πιαηθόξκεο, αιιά παξόια απηά ζηελ αγνξά ζεσξείηαη αθόκα ζαλ θάηη θαηλνύξγην.

1.3 Η Java ζαν πλαηθόρμα παιτνιδιού

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

1.3.1 Γηαηί Java?

Ζ πιαηθόξκα κε ηελ νπνία ζα γίλεη ε πινπνίεζε ηεο πηπρηαθήο εξγαζίαο ζα είλαη ζε Java κε ηελ ρξήζε ηεο πιαηθόξκαο J2ME. Ο ιόγνο γηα ηνλ νπνίν πξνηηκήζεθε ε Java είλαη γηαηί ε Java έρεη εμαξρήο δεκηνπξγεζεί ζαλ δηθηπαθή γιώζζα, θαη πην ζπγθεθξηκέλα είλαη κηα γιώζζα ε νπνία είλαη από ηελ βάζε ηεο θηηαγκέλε κε βαζηθό ζηόρν λα κπνξεί λα κπεη θαη λα ιεηηνπξγήζεη θάησ από νπνηνδήπνηε ιεηηνπξγηθό ζύζηεκα, πξάγκα ην νπνίν ηελ θάλεη πνιύ βνιηθή γιώζζα ζηελ δεκηνπξγία ελόο παηρληδηνύ πνπ δελ καο ελδηαθέξεη ην ιεηηνπξγηθό ζύζηεκα πνπ έρεη πάλσ ηνπ, κε απνηέιεζκα ην παηρλίδη πνπ ζα δεκηνπξγήζνπκε λα κπνξεί λα ππνζηεξηρηεί από νπνηνδήπνηε θηλεηό. Σέινο ε Java είλαη πην δηαδεδνκέλε θαη επνκέλσο πην θηιηθή ζηνλ πξνγξακκαηηζηή θαη γεληθά είλαη πην εύθνιν λα βξεηο πιεξνθνξίεο ζην δηαδίθηπν από θάπνηα άιιε πιαηθόξκα.

(11)

Γεκηοσργία ειεθηροληθού παητληδηού ποιιώλ τρεζηώλ κέζφ Bluetooth γηα θηλεηά ηειέθφλα

Α.Σ.Δ.Ι. Καβάιας – Βηοκεταληθή Πιεροθορηθή ΢ειίδα 10 από 115 Κατηοσηέας Λούης e-mail : l_kahiouteas@yahoo.com

1.4 Γρήγορε μαηιά ζηο J2ME Primer

Ο ππξήλαο ησλ εξγαιείσλ θαη ησλ πξνγξακκάησλ κε ηα νπνία κπνξνύκε λα θηηάμνπκε απιά πξνγξάκκαηα Java είλαη γλσζηόο σο J2SE, ην νπνίν είλαη ηα αξρηθά ηνπ Java 2 Standard Edition. Ζ J2SE ρξεζηκνπνηείηαη γηα ηελ δεκηνπξγία web-based applets αιιά θαη standalone πξνγξακκάησλ. Ζ J2EE (Java 2 Enterprise Edition) είλαη κηα αθόκε έθδνζε ηεο Java ε νπνία έρεη ζρεδηαζηεί γηα λα ρξεζηκνπνηείηαη γηα επηρεηξεκαηηθά θπξίσο πξνγξάκκαηα, ε J2EE είλαη δηαθνξεηηθή ηεο J2SE επεηδή ελζσκαηώλεη κηα ηειείσο δηαθνξεηηθή ιεηηνπξγηθόηεηα ζηα επηρεηξεκαηηθά πξνγξάκκαηα ηεο. ΢θεθηείηε κόλν ην δηθηπαθό πξόγξακκα ην νπνίν ηξέρεη θάησ ην eBay ή ηελ Amazon.com θαη ζα θαηαιάβεηε ηελ δηάθνξα θαη γηα ηη είδνο πξνγξακκάησλ είλαη ζρεδηαζκέλε ε J2EE.

Απηόο είλαη θαη έλαο από ηνπο θπξηόηεξνπο ιόγνπο γηα ηνλ νπνίν πξνηηκνύκε λα δνπιέςνπκε ζηα θηλεηά ηειέθσλα κε ηελ J2ME, ιόγν ηνπ όηη είλαη ζαθώο πην απιή ζηελ δνκή ηεο. Ζ J2ME ζηελ νπζία είλαη έλα θνκκάηη ηεο J2SE έρνληαο κόλν ηα απαξαίηεηα ζηνηρεία ηα νπνία ρξεηάδνληαη γηα ηελ δεκηνπξγία ελόο πξνγξάκκαηνο γηα θηλεηέο ζπζθεπέο θαη θπζηθά κε ππνζηήξημε αζύξκαηεο θαη κε επηθνηλσλίαο. Ζ J2ME επίζεο δηαζέηεη κεξηθά ζηνηρεία ηα νπνία είλαη εηδηθά θαη κνλό γηα θηλεηέο ζπζθεπέο. Μαδί, απηά ηα 3 ζρεδηαζηηθά πεξηβάιινληα ηεο Java (J2ME, J2SE θαη J2EE) καο θάλνπλ ηελ Java 2 ηερλνινγία.

1.4.1 Ρσζκίζεης & Διάτηζηες ρσζκίζεης ζύλδεζες γηα ζσζθεσές

(Connected Limited Device Configuration - CLDC)

Δάλ ρξεζηκνπνηήζεηε ηελ J2ME, ζα ρξεηαζηεί λα αζρνιεζείηε κε θάπνηεο λέεο νξνινγίεο. Ζ πξώηε από απηέο είλαη ε ξύζκηζε (configuration) , ε νπνία είλαη ε ειάρηζηε δπλαηή απαίηεζε κε ηελ νπνία ζα ηξέρεη ην πξόγξακκα πνπ ζα δεκηνπξγήζεηε ζε κηα θηλεηή ζπζθεπή. Ζ ηππηθόηεξε ξύζκηζε γηα αζύξκαηεο ζπζθεπέο είλαη γλσζηή σο CLDC (Connected Limited Device Configuration). Ζ CLDC πεξηγξαθή ηηο ειάρηζηεο απαηηήζεηο πνπ ρξεηάδεηαη ην πξόγξακκα γηα λα ιεηηνπξγήζεη ζε έλα θηλεηό ηειέθσλν.

Πην ζπγθεθξηκέλα, ε CLDC πεξηέρεη ηεο παξαθάησ απαξαίηεηεο πιεξνθνξίεο :

 Πεξηέρεη πιεξνθνξίεο γηα ηα παθέηα ηεο Java πνπ ρξείαδνληαη

 Κάησ από πνηα Java Virtual machine ιεηηνπξγεί

 Σνλ ππξήλα ησλ πξνγξακκάησλ πνπ ρξεηάδνληαη γηα έλα αζύξκαην πξόγξακκα θηλεηήο ζπζθεπήο

 Σν απαξαίηεην ειεθηξνληθό εμνπιηζκό πνπ ρξεηάδεηαη γηα έλα αζύξκαην πξόγξακκα γηα κηα θηλεηή ζπζθεπή θαζνξηζκέλν από ην CLDC

(12)

Γεκηοσργία ειεθηροληθού παητληδηού ποιιώλ τρεζηώλ κέζφ Bluetooth γηα θηλεηά ηειέθφλα

Α.Σ.Δ.Ι. Καβάιας – Βηοκεταληθή Πιεροθορηθή ΢ειίδα 11 από 115 Κατηοσηέας Λούης e-mail : l_kahiouteas@yahoo.com

Θα πεξηκέλεηε όηη νιόθιεξε ε πξνγξακκαηηζηηθή γιώζζα Java είλαη δηαζέζηκε γηα λα ρξεζηκνπνηεζεί γηα ηνλ πξνγξακκαηηζκό πξνγξακκάησλ γηα θηλεηέο ζπζθεπέο, αιιά απηό δελ είλαη θάηη ην νπνίν ηζρύεη, γηα ηελ αθξίβεηα κεξηθέο δπλαηόηεηεο ηεο Java έρνπλ απελεξγνπνηεζεί θάησ από ηνλ έιεγρν ηνπ CLDC θαη ν ιόγνο είλαη ν πεξηνξηζκόο πνπ ππάξρεη ζηελ ππνινγηζηηθή δύλακε ησλ θηλεηώλ ζπζθεπώλ.

1.4.2 Προθίι θαη ηο MIDP

Πάλσ από ηελ ξύζκηζε (configuration) κπαίλεη ην πξνθίι (profile), ην νπνίν θαζνξίδεη πην ζπγθεθξηκέλα ζην γηα πνπ απεπζύλεηε ην πξόγξακκα. Μηα ξύζκηζε πεξηγξάθεη γεληθά ηνπο νξνύο κεηαμύ ησλ νηθνγελεηώλ ησλ δηαθόξσλ ζπζθεπώλ, ελώ ην πξνθίι γίλεηαη πην ζπγθεθξηκέλν θαη νξίδεη πην ζπγθεθξηκέλα ην είδνο ηεο ζπζθεπήο πνπ ζηνρεύεη λα ρξεζηκνπνηεζεί. Σν MIDP (Mobile Information Device Profile) είλαη έλα πξνθίι ην νπνίν είλαη ρηηζκέλν πάλσ ζην CLDC ην νπνίν πεξηγξάθεη κηα αζύξκαηε ζπζθεπή όπσο έλα θηλεηό ηειέθσλν.

Σν πξνθίι γηα λα θαηαθέξεη λα πεηύρεη ην ζθνπό ηνπ πεξηέρεη κέζα ηνπ θαη πιεξνθνξίεο γηα ην ειάρηζην ειεθηξνληθό κέξνο ηεο ζπζθεπήο θαζώο θαη ην ινγηζκηθό ηνπ ην νπνίν πεξηκέλεη λα έρεη. Πην ζπγθεθξηκέλα

1.4.2.1 Ηλεκηρονικές Απαιηήζεις ηοσ MIDP

Οη ειεθηξνληθέο απαηηήζεηο γηα ζπζθεπέο κε MIDP 2.0 είλαη θάηη ην πνιύ ζεκαληηθό.

Απηέο νη απαηηήζεηο είλαη ζπαζκέλεο ζηηο εμήο θαηεγνξίεο :

 Μλήκε

 Δίζνδν

 Οζόλε

 ΢πλδεζηκόηεηα

Οη απαηηήζεηο γηα ζπζθεπέο κε MIDP από ζέκα κλήκεο είλαη νη παξαθάησ :

 256ΚΒ κλήκεο γηα ηηο MIDP API βηβιηνζήθεο

 128ΚΒ ειεύζεξεο κλήκεο γηα ην ελεξγό Java system

 8ΚΒ κλήκεο γηα ηηο ιεηηνπξγίεο ηνπ πξνγξάκκαηνο

Οη απαηηήζεηο από ζέκα εηζόδνπ είλαη όηη ε ζπζθεπή απαηηείηαη λα έρεη έλα πιεθηξνιόγην ή κηα touch screen. Ο ηύπνο ηνπ πιεθηξνινγίνπ κπνξεί λα είλαη είηε γηα έλα ρέξη είηε δύν, θαη αθόκα είλαη πηζαλόλ ε ζπζθεπή λα πεξηέρεη θαη πιεθηξνιόγην θαη touch screen. Αμίδεη λα παξαηεξεζεί όηη ην πνληίθη δελ είλαη απαίηεζε εηζόδνπ.

(13)

Γεκηοσργία ειεθηροληθού παητληδηού ποιιώλ τρεζηώλ κέζφ Bluetooth γηα θηλεηά ηειέθφλα

Α.Σ.Δ.Ι. Καβάιας – Βηοκεταληθή Πιεροθορηθή ΢ειίδα 12 από 115 Κατηοσηέας Λούης e-mail : l_kahiouteas@yahoo.com

Οη απαηηήζεηο ζρεηηθά κε ηελ νζόλε είλαη πην ελδηαθέξνλ κηαο θαη έρνπλ θαη κηα αξθεηά κεγάιε πνηθηιία ζε δηαθνξεηηθά κεγέζε θαη ρξώκαηα. Οη ζπζθεπέο κε MIDP ε νζόλε ηνπο πξέπεη λα έρνπλ κέγεζνο νζόλεο 96 pixels επί 54 pixels θαη 1 bit βάζνο ρξώκαηνο.

Απηό ζεκαίλεη όηη γηα λα ηξέρεη έλα πξόγξακκα ε θηλεηή ζπζθεπή πξέπεη λα έρεη ζηελ ρεηξόηεξε πεξίπησζε 96 pixel κάθξνο θαη 54 pixels ύςνο θαη πξέπεη λα είλαη ηνπιάρηζηνλ αζπξόκαπξε.

Ζ ηειεπηαία απαίηεζε πνπ είλαη ζρεηηθά κε ηελ ζπλδεζηκόηεηα είλαη όηη ε ζπζθεπή πξέπεη λα ππνζηεξίδεη 2 θαηεπζύλζεσλ, αζύξκαηε επηθνηλσλία. Φπζηθά κηα ηέηνηα επηθνηλσλία κπνξεί θαη λα είλαη κηα dial-up ζύλδεζε θαη απαηηεηέ λα έρεη ειάρηζην bandwidth ζηα 9600bps. Απηό είλαη αξθεηά ζεκαληηθό γηαηί ελεκεξώλεη ηνλ πξνγξακκαηηζηή όηη πξέπεη λα πξνζέμεη ηδηαίηεξα γηα ην πσο ζα ρξεζηκνπνηήζεη ην δηαζέζηκν bandwidth.

1.4.2.2 Απαιηήζεις Λογιζμικού για MIDP

Σν όιν πεξηβάιινλ ηεο Java θαη ην πσο έρεη δνκεζεί ζαλ γιώζζα βνεζάεη ζην λα κπνξεί λα ρξεζηκνπνηεζεί ζε πνιύ κεγάιε γθάκα ιεηηνπξγηθώλ ζπζηεκάησλ πνπ ηξέρνπλ ζηα θηλεηά ηειέθσλα. Παξόια απηά, ην MIDP πεξηέρεη θάπνηνπο θαλόλεο γηα ην ηη πεξηκέλεη από έλα ιεηηνπξγηθό ζύζηεκα ζε κηα MIDP ζπζθεπή.

Παξαθάησ αλαθέξνληαη νη θπξηόηεξεο ινγηζκηθέο απαηηήζεηο γηα κηα MIDP ζπζθεπή :

 Έλα ειάρηζην επίπεδν νξγάλσζεο ζηνλ ππξήλα ώζηε λα κπνξεί λα ρεηξηζηεί interrupts, exceptions θαη scheduling

 Έλαλ κεραληζκό δηαβάζκαηνο θαη γξαςίκαηνο ζέλα θνκκάηη ηεο κλήκεο

 Έλαλ κεραληζκό πνπ λα κπνξεί λα ρξεζηκνπνηεζνύλ ρξνληθά (timers)

 Γπλαηόηεηα γξαςίκαηνο / δηαβάζκαηνο ζε κηα ζπλδεκέλε αζύξκαηα ζπζθεπή

 Έλαλ κεραληζκό πνπ λα κπνξεί λα «πηάζεη» ηηο εηζόδνπο ηνπ ρξήζηε από έλα πιεθηξνιόγην ή κηα touch screen

 Μία ειάρηζηε ππνζηήξημε γηα εηθόλεο (bitmaps) θαη γεληθόηεξα γξαθηθνύ πεξηβάιινληνο

 Καη έλαλ κεραληζκό ν νπνίνο λα κπνξεί λα καλαηδάξεη ηνλ θύθιν δσήο ελόο πξνγξάκκαηνο

(14)

Γεκηοσργία ειεθηροληθού παητληδηού ποιιώλ τρεζηώλ κέζφ Bluetooth γηα θηλεηά ηειέθφλα

Α.Σ.Δ.Ι. Καβάιας – Βηοκεταληθή Πιεροθορηθή ΢ειίδα 13 από 115 Κατηοσηέας Λούης e-mail : l_kahiouteas@yahoo.com

1.5 Βαζικά ζηοιτεία ζτεδιαζμού Java mobile προγραμμάηων

Παξαθάησ ζα γίλεη κηα αλάιπζε ζηα βαζηθά ζηνηρεία ηα νπνία πξέπεη λα έρνπκε γηα λα δεκηνπξγήζνπκε έλα Java mobile πξόγξακκα, θαζώο θαη ην πσο ζα ρξεζηκνπνηήζνπκε ηα εξγαιεία απηά.

1.5.1 Βαζηθά ζηοητεία ζτεδηαζκού

Πξηλ κπνύκε ζηα βαζηθά εξγαιεία θαη μεθηλήζνπκε λα αλαιύνπκε ηνλ ηξόπν κε ηνλ νπνίν δεκηνπξγνύκε έλα παηρλίδη ζε Java mobile θάιν είλαη λα αλαθέξνπκε ηα πξώηα βήκαηα πξηλ κπνύκε ζηνλ θώδηθα. Απηόο είλαη ν ζρεδηαζκόο ελόο παηρληδηνύ θαη ιέγνληαο ζρεδηαζκό ελλννύκε ηα πξώηα βήκαηα γηα ηελ δεκηνπξγία ηνπ παηρληδηνύ.

Σα πξώηα βήκαηα πνπ πξέπεη λα γίλνπλ πξηλ μεθηλήζνπκε λα θηηάρλνπκε πξνγξακκαηηζηηθά έλα παηρλίδη είλαη λα ζθεθηνύκε ηα παξαθάησ :

 Βαζηθή Ηδέα

 Ηζηνξία

 Μνξθέο παηρληδηνύ

Όπσο είλαη θπζηθό δελ κπνξνύκε λα μεθηλήζνπκε έλα παηρλίδη ρσξίο λα κελ έρνπκε ηελ παξακηθξή ηδέα γηα ην ηη ζέινπκε λα θηηάμνπκε. Οπόηε ην πξώην καο βήκα είλαη λα βξνύκε κηα βαζηθή ηδέα γηα ην παηρλίδη πνπ ζέινπκε λα θηηάμνπκε θαη πσο γίλεηαη απηό?

Μηα θαιή αξρή είλαη λα ζθεθηνύκε ηη είδνο παηρληδηνύ ζέινπκε λα θηηάμνπκε, ζέινπκε έλα παηρλίδη πξώηνπ πξνζώπνπ (shoot-em-up), έλα παηρλίδη αζιεηηθό ή δξάζεο ή αθόκα θαη θάπνην ζηξαηεγηθήο ή πεξηπέηεηαο. Όζν παξάμελν θαη λα αθνπζηεί ην είδνο ηνπ παηρληδηνύ πνπ ζα δηαιέμνπκε ζα θαζνξίζεη θαηά πνιύ κεγάιν βαζκό ηνλ θώδηθα πνπ ζα ρξεηαζηεί λα θηηάμνπκε αξγόηεξα. Οπόηε είλαη θάιν από ηελ αξρή λα έρνπκε μεθαζαξίζεη ηη ζέινπκε λα θηηάμνπκε γηαηί αξγόηεξα πηζαλόηαηα ζα είλαη αξθεηά δύζθνιν λα θάλνπκε θάπνηεο αιιαγέο.

Αθνύ βξνύκε ηελ βαζηθή ηδέα θαη έρνπκε απνθαζίζεη θαη ην είδνο ηνπ παηρληδηνύ θαιό είλαη λα βξνύκε θαη κηα ηζηνξία (storyline) θαη απηό γηαηί ε ηζηνξία βνεζάεη ζην λα βξνύκε ην πσο ζα ζρεδηάζνπκε π.ρ. ην γύξσ πεξηβάιινλ. Γηα παξάδεηγκα άιιν πεξηβάιινλ ζα έρεη έλα παηρλίδη ζην δηάζηεκα θαη άιιν ζηελ γε πάλσ από κηα δνύγθια.

Σέινο ε ηζηνξία κπνξεί λα είλαη θαη έλα από ηα βαζηθόηεξα ζηνηρεία ηνπ παηρληδηνύ ηδίσο όηαλ αλαθεξόκαζηε ζέλα παηρλίδη πεξηπέηεηαο.

(15)

Γεκηοσργία ειεθηροληθού παητληδηού ποιιώλ τρεζηώλ κέζφ Bluetooth γηα θηλεηά ηειέθφλα

Α.Σ.Δ.Ι. Καβάιας – Βηοκεταληθή Πιεροθορηθή ΢ειίδα 14 από 115 Κατηοσηέας Λούης e-mail : l_kahiouteas@yahoo.com

Σέινο πξέπεη λα ζθεθηνύκε εάλ κπνξνύκε λα ζθεθηνύκε κνξθέο ηνπ παηρληδηνύ, δειαδή εάλ ην παηρλίδη ζα ππνζηεξίδεη ζπλδεζηκόηεηα κε άιινπο παίρηεο θαη εάλ λαη κε πόζνπο ή απιά ζα είλαη γηα έλαλ παίρηε. Όζν παξάμελν θαη λα αθνπζηεί ηα παηρλίδηα πνιιώλ ρξεζηώλ αξθεηέο θόξεο είλαη πνιύ πην εύθνια από ηελ δεκηνπξγία παηρληδηνύ γηα έλαλ παίρηε θαη απηό γηαηί ζην παηρλίδη πνπ είλαη γηα έλαλ παίρηε ν πξνγξακκαηηζηήο πξέπεη λα θηηάμεη ην πξόγξακκα έηζη ώζηε λα έρεη θαη θάπνην βαζκό λόεζεο (Artificial Intelligent) ελώ έλα παηρλίδη πνιιαπιώλ ρξεζηώλ ζπλήζσο δελ ρξεηάδεηαη ιόγν ηνπ όηη ν αληίπαινο είλαη έλαο άιινο ρξήζηεο.

1.5.2 Βαζηθές γλώζεης προγρακκαηηζκού γηα J2ME

Γηα ηελ δεκηνπξγία Java mobile παηρληδηώλ εθηόο από ηελ J2ME ρξεηαδόκαζηε θαη κεξηθά αθόκα εξγαιεία ώζηε λα κπνξέζνπκε λα θάλνπκε compile θαη ηεζη ην πξόγξακκα καο. Φπζηθά ην ηεζη γηα ηα πξνγξάκκαηα καο κπνξνύκε λα ηα ηεζηάξνπκε απεπζείαο ζην θηλεηό καο ηειέθσλν αιιά είλαη πην θαιό λα ην ηεζηάξνπκε ζηνλ εμνκνησηή πνπ πξνζθέξεη ε J2ME γηαηί κπνξνύκε λα ην δνθηκάζνπκε θαη ζε δηαθνξεηηθώλ εηδώλ θηλεηά κε δηαθνξεηηθό κέγεζνο νζόλεο π.ρ.

Σα J2ME πξνγξάκκαηα πνπ αλαπηύζζνληαη κε MIDP πξνδηαγξαθέο είλαη γλσζηά σο MIDlets. Οπόηε όηη πξόγξακκα δεκηνπξγεζεί κε ην J2ME MIDP είλαη ζηελ νπζία MIDlets. Οη MIDlets classes απνζεθεύνληαη ζε Java byte code αξρεία κε a.class επέθηαζε. Παξόια απηά, νη MIDlets classes πξέπεη πξώηα λα πεξάζνπλ από έιεγρν όηη δελ εθηεινύλ θάπνηα παξάλνκε δξαζηεξηόηεηα. Ο ιόγνο πνπ γίλεηαη απηό έρεη λα θάλεη κε ηνπο πεξηνξηζκνύο ηεο virtual machine πνπ ρξεζηκνπνηείηαη από ηηο θηλεηέο ζπζθεπέο.

Απηή ε virtual machine αλαθέξεηαη ζαλ K Virtual Machine (KVM). Γηα λα θξαηεζεί ζε όζν ην δπλαηόλ κηθξόηεξν ην KVM ν πιήζνο ησλ ειέγρσλ θαηά ηελ δηάξθεηα ηεο εθηέιεζεο ηνπ πξνγξάκκαηνο ζηα MIDlets έρεη πεξηνξηζηεί ζην ειάρηζην δπλαηό βαζκό.

Ζ επαιήζεπζε ηνπ θώδηθα γίλεηαη ακέζσο κεηά ην compile ηνπ θώδηθα θαη δεκηνπξγνύληαη θαη νη λέεο classes νη νπνίεο είλαη έηνηκεο γηα λα δνθηκαζηνύλ. Σα MIDlets πξέπεη λα παθεηαξηζηνύλ ζε JAR (Java ARchive) αξρεία ηα νπνία είλαη έλα είδνο ζπκπίεζεο όπσο θαη ην γλσζηό καο ZIP. Αθόκα ηα MIDlets πξέπεη λα πεξηέρνπλ θάπνηεο πιεξνθνξίεο πξηλ παθεηαξηζηνύλ. Παξαθάησ αλαθέξνληαη νη πιεξνθνξίεο πνπ κπαίλνπλ καδί κε ηα MIDlets θαηά ην παθεηάξηζκα :

 MIDlets classes

 Κιάζεηο ππνζηήξημεο

 Πεγέο (Resources (images, sounds, θ.η.ι.))

 Αξρείν Manifest (Αξρείν .mf)

 Πεξηγξαθή πξνγξάκκαηνο (Αξρείν .jad)

(16)

Γεκηοσργία ειεθηροληθού παητληδηού ποιιώλ τρεζηώλ κέζφ Bluetooth γηα θηλεηά ηειέθφλα

Α.Σ.Δ.Ι. Καβάιας – Βηοκεταληθή Πιεροθορηθή ΢ειίδα 15 από 115 Κατηοσηέας Λούης e-mail : l_kahiouteas@yahoo.com

Σν αξρείν κε ηελ πεξηγξαθή ηνπ πξνγξάκκαηνο ή αιιηώο ην JAD αξρείν, πεξηέρεη όιεο ηηο πιεξνθνξίεο γηα ηα MIDles πνπ πεξηέρνληαη κέζα ζην JAR. Μηα κηθξή δηεπθξίλεζε, ζε έλα JAR αξρείν κπνξνύλ λα ππάξρνπλ πνιιά MIDlets δελ είλαη απαξαίηεην λα είλαη κόλν έλα. Μία ηέηνηα ζπιινγή από MIDlets αλαθέξεηαη σο MIDlets suite. ΢ηελ πεξίπησζε ησλ θηλεηώλ ηειεθώλσλ κπνξεί λα ζέιεηε λα πξνζθέξεηε κηα ζπιινγή παηρληδηώλ, πξάγκα ην νπνίν κπνξείηε λα ην πεηύρεηε κνλό κε ηελ δεκηνπξγία ελόο αξρείνπ JAR.

Ζ ηδέα πίζσ από κηα MIDlets suite είλαη όηη καο δίλεη ηελ δπλαηόηεηα λα έρνπκε κηα κεγάιε πνηθηιία από MIDlets ρσξίο λα θαηαλαιώλνπκε κεγάιε κλήκε αθνύ ζα κπνξνύλ λα κνηξαζηνύλ ηηο πεγέο ηνπο (resources) κεηαμύ ηνπο.

Ζ δεκηνπξγία ελόο MIDlet γίλεηαη αθνινπζώληαο ηελ παξαθάησ αθνινπζία :

1. ΢ύληαμε θώδηθα 2. Compile

3. Δπηβεβαίσζε 4. Δμνκνίσζε

5. Γνθηκή ζε ζπζθεπή 6. Αλάπηπμε

Σα βήκαηα 1 θαη 2 είλαη γλσζηά ιόγν ηνπ θάζε πξνγξακκαηηζηήο ηα πεξλάεη απηά ηα ζηαδία. ΢ην 3ν θαη 4ν βήκα ηα πξάγκαηα αξρίδνπλ ιηγάθη θαη δηαθνξνπνηνύληαη. Δίλαη ήδε γλσζηό όηη πξέπεη λα γίλεη πξώηα ε επηβεβαίσζε δειαδή γίλεηαη ν έιεγρνο όηη ην MIDlet δελ εθηειεί θάπνηα επηθίλδπλε ξνπηίλα γηα ηελ ζπζθεπή όπσο λα γεκίζεη ηελ κλήκε ηνπ θηλεηνύ ηειεθώλνπ θαη αθνύ γίλνπλ νη απαξαίηεηνη έιεγρνη ηόηε ρξεζηκνπνηώληαο έλα εηδηθό εξγαιείν εμνκνίσζεο πνπ νλνκάδεηαη emulator νπνύ γίλεηαη θαη ην ηεζηάξηζκα. Ο emulator είλαη έλα πξόγξακκα εμνκνίσζεο ην νπνίν ηξέρεη ζην pc θαη πξνζνκνηώλεη έλα πξαγκαηηθό θηλεηό ηειέθσλν. Απηό είλαη πνιύ ρξήζηκν γηαηί δελ ππάξρεη ν θόβνο λα ππάξμεη θάπνην πξόβιεκα ζην πξαγκαηηθό θηλεηό ηειέθσλν.

Σν 5ν βήκα είλαη θπζηθά λα εγθαηαζηήζνπκε ην πξόγξακκα καο ζην θηλεηό καο ηειέθσλν θαη λα ζηγνπξεπηνύκε όηη θαη ζε απηό ιεηηνπξγνύλ όια κηα ραξά. Μπνξεί ην βήκα απηό λα θαίλεηαη ιηγάθη πεξηηηό αιιά εθ πξνζσπηθήο πείξαο δελ είλαη πεξηηηό. Σν γηαηί ζα αλαθεξζεί ζην 3ν θεθαιαίν ζην νπνίν ζα δεκηνπξγήζνπκε ην πξώην παηρλίδη γηα θηλεηό ηειέθσλν.

Σέινο ην ηειεπηαίν βήκα ε αλάπηπμε ε νπνία ζηελ νπζία είλαη όηη κπνξνύκε πηα λα ρξεζηκνπνηήζνπκε ην πξόγξακκα καο ειεπζέξα θαη ρσξίο θάπνην θόβν. Όπσο γηα παξάδεηγκα λα ζηείινπκε κε θάπνην mail ην πξόγξακκα καο ζε θάπνηνπο θίινπο καο λα ην δνθηκάζνπλ θαη λα καο πνπλ ηδέεο ή θαη πηζαλά πξνβιήκαηα πνπ κπνξεί λα βξνπλ.

(17)

Γεκηοσργία ειεθηροληθού παητληδηού ποιιώλ τρεζηώλ κέζφ Bluetooth γηα θηλεηά ηειέθφλα

Α.Σ.Δ.Ι. Καβάιας – Βηοκεταληθή Πιεροθορηθή ΢ειίδα 16 από 115 Κατηοσηέας Λούης e-mail : l_kahiouteas@yahoo.com

1.5.3 Γλωρίδοληας ηο J2ME Wireless Toolkit

Σν J2ME Wireless Toolkit είλαη έλα από ηα εξγαιεία ην νπνίν έρεη αλαπηύμεη ε Sun ην νπνίν δίλεη ηελ δπλαηόηεηα ηελ δεκηνπξγία MIDlets ρξεζηκνπνηώληαο ην Java 2 SDK. Ζ J2ME Wireless Toolkit κπνξεί λα βξεζεί ζηελ ηζηνζειίδα http://java.sun.com/products/j2mewtoolkit/ νπνύ κπνξεί λα βξεζεί θαη ε ηειεπηαία έθδνζε ηνπ εξγαιείνπ. Σν εξγαιείν απηό πεξηέρεη ηα παξαθάησ :

 Byte code verifier (Έιεγρν Κώδηθα)

 J2ME emulator (Δμνκνησηή ηεο Java)

 KToolbar

 Provisioning server

Όπσο ήδε αλαθέξακε ην byte code verifier θάλεη ηνλ έιεγρν ηνπ θώδηθα θαη δεκηνπξγεί ηηο θιάζεηο νη νπνίεο πάλε ζην παηρλίδη πξηλ παθεηαξηζηνύλ ζην JAR. Δπίζεο είλαη ήδε γλσζηό γηα πην ιόγν ρξεζηκνπνηνύκε ηνλ εμνκνησηή ηεο Java. Απηό πνπ δελ είλαη γλσζηό είλαη ην KToolbar. Σν KToolbar είλαη έλα παξαζπξηθό ζρεδηαζηηθό πεξηβάιινλ ην νπνίν καο επηηξέπεη λα build, compile θαη λα ηεζηάξνπκε J2ME πξνγξάκκαηα κέζα από έλα γξαθηθό πεξηβάιινλ.

(18)

Γεκηοσργία ειεθηροληθού παητληδηού ποιιώλ τρεζηώλ κέζφ Bluetooth γηα θηλεηά ηειέθφλα

Α.Σ.Δ.Ι. Καβάιας – Βηοκεταληθή Πιεροθορηθή ΢ειίδα 17 από 115 Κατηοσηέας Λούης e-mail : l_kahiouteas@yahoo.com

1.5.3.1 Χρεζιμοποιώνηας ηο KToolbar

Σν KToolbar είλαη θαηά πνιύ ην πην απιό παξαζπξηθό πεξηβάιινλ πνπ ππνζηεξίδεη ζρεδηαζκό MIDlet κε J2ME. Γηα ηελ αθξίβεηα , είλαη ηόζν απιό πνπ δελ έρεη νύηε θαλ editor γηα λα γξάςεηο θώδηθα. Αληί γηα απηό, ην KToolbar δίλεη ηελ πξνζνρή ηνπ πεξηζζόηεξν ζηελ νξγάλσζε ησλ αξρείσλ ηνπ θώδηθα, ζην λα απηνκαηνπνηήζεη ηελ δηαδηθαζία ρηηζίκαηνο (build) ηνπ πξνγξάκκαηνο θαη ζηελ δηαδηθαζία ηνπ ηεζη ηνπ πξνγξάκκαηνο κε ηνλ emulator. Υξεζηκνπνηώληαο ην KToolbar δελ ρξεηάδεηαη λα γλσξίδεηε εληνιέο γηα λα θάλεηε compile ην πξόγξακκα ην κόλν πνπ ρξεηάδεηαη είλαη λα επηιέμεηε ηα θαηάιιεια θνπκπηά. Σν KToolbar θαίλεηαη ζηελ εηθόλα 1 πην θάησ

Δηθόλα 1 - KToolbar

Παξόιν πνπ ην KToolbar είλαη πνιύ θαιό εξγαιείν ζα βνεζήζεη πάξα πνιύ θπξίσο ζηελ δηαδηθαζία ηνπ λα δηνξζώζεηε θάπνηα ηπρόλ ζπληαθηηθά ιάζε λα έρεηε θαη έλαλ θάιν θεηκελνγξάθν γηα λα γξάθεηε ηνλ θώδηθα ζαο, θαηά θύξην ιόγν λα έρεη αξίζκεζε γξακκώλ. Σέινο ζα ζαο θάλεη ρξήζηκν εάλ έρεηε θάπνην πξόγξακκα παξαζπξηθό πεξηβάιινλ γηα Java θπξίσο γηα λα κπνξείηε εύθνια λα δείηε ηη πεξηέρνπλ νη δηάθνξεο θιάζεηο ηεο Java ε θάπνηα ζύληαμε ή παξάκεηξνη κηαο εληνιήο.

(19)

Γεκηοσργία ειεθηροληθού παητληδηού ποιιώλ τρεζηώλ κέζφ Bluetooth γηα θηλεηά ηειέθφλα

Α.Σ.Δ.Ι. Καβάιας – Βηοκεταληθή Πιεροθορηθή ΢ειίδα 18 από 115 Κατηοσηέας Λούης e-mail : l_kahiouteas@yahoo.com

1.5.3.2 Οργανώνονηας ηα MIDlets

Σν KToolbar παξέρεη έλαλ πνιύ ζηαζεξό θαη επζύ ηξόπν νξγάλσζεο ησλ MIDlets πξνγξακκάησλ, θαζώο θαη ηνπ «ρηηζίκαηνο» (build). Όηαλ δεκηνπξγείο έλα λέν project, ηόηε απηόκαηα δεκηνπξγεί όινπο ηνπο απαξαίηεηνπο θαθέινπο πνπ ρξεηάδνληαη ζηνλ θάθειν πνπ είλαη ην εξγαιείν εγθαηεζηεκέλν ζηνλ θάθειν apps. Γηα παξάδεηγκα εάλ ην KToolbar είλαη εγθαηεζηεκέλν ζηνλ C:\WTK23\ , ηόηε ην λέν project ην νπνίν ζα νλνκάδεηαη π.ρ. UFO ζα πάεη θαη ζα δεκηνπξγεζεί ζην C:\TWK23\apps\UFO\. Γηα λα δεκηνπξγήζεηο έλα λέν project απιά επηιέγεηο ζην KToolbar ηελ επηινγή “Create New Project” νπνύ εκθαλίδεηαη ε Δηθόλα 2 πνπ είλαη ην παξάζπξν ηνπ “New Project”

Δηθόλα 2 - New Project

Σν όλνκα ηνπ project πνπ νξίδεηαη από ην KToolbar είλαη ην όλνκα ην νπνίν ζα πάξεη ην JAR αξρείν ζην ηέινο θαη είλαη θαη ην όλνκα ηνπ πξνγξάκκαηνο πνπ ζα εγθαηαζηαζεί θαη ζην θηλεηό ηειέθσλν ζην ηέινο. Πξέπεη λα δνζεί ηδηαίηεξε ζεκαζία ζην όηη ην όλνκα ηνπ project κπνξεί λα πάξεη κέξνο ζε αξθεηά κέξε ηνπ πξνγξάκκαηνο θαη ζπλεζίδεηαη λα ππάξρεη κόλν έλα MIDlet ζε θάζε πξόγξακκα θαη ζπλεζίδεηαη επίζεο λα παίξλεη ην όλνκα ηνπ project.

(20)

Γεκηοσργία ειεθηροληθού παητληδηού ποιιώλ τρεζηώλ κέζφ Bluetooth γηα θηλεηά ηειέθφλα

Α.Σ.Δ.Ι. Καβάιας – Βηοκεταληθή Πιεροθορηθή ΢ειίδα 19 από 115 Κατηοσηέας Λούης e-mail : l_kahiouteas@yahoo.com

Δηθόλα 3 - Open Project

Γηα λα αλνίμνπκε έλα ήδε ππάξρνλ project ζην KToolbar απιά παηάκε ηελ επηινγή

“Open Project” θαη ζα εκθαληζηεί ην παξάζπξν πνπ θαίλεηαη ζηελ Δηθόλα 3. Από εθεί θαη πέξα ην κόλν πνπ πξέπεη λα θάλνπκε είλαη λα επηιέμνπκε ην project πνπ ζέινπκε.

Μηα βαζηθή ιεπηνκέξεηα είλαη όηη ηα project ηα νπνία θαίλνληαη ζηελ ιίζηα είλαη κόλν ηα project ηα νπνία είλαη κέζα ζηνλ θάθειν apps πνπ αλαθέξακε πην πάλσ.

Από ηελ ζηηγκή πνπ ην project ην έρνπκε αλνίμεη ή ην έρνπκε δεκηνπξγήζεη ζην KToolbar κπνξνύκε λα κπνύκε θαη λα θάλνπκε θάπνηεο ξπζκίζεηο γηα ην project. Απηό επηηπγράλεηαη παηώληαο ζην θνπκπί “Settings” νπνύ καο εκθαλίδεηαη ε εηθόλα 4 πνπ θαίλεηαη παξαθάησ. Πξνο ην παξόλ δελ ρξεηάδεηαη λα αλαθεξζνύκε ζηηο ξπζκίζεηο ην κεγαιύηεξν πνζνζηό ησλ πξνγξακκάησλ ιεηηνπξγεί κηα ραξά κε ηηο default επηινγέο ηνπ πξνγξάκκαηνο.

(21)

Γεκηοσργία ειεθηροληθού παητληδηού ποιιώλ τρεζηώλ κέζφ Bluetooth γηα θηλεηά ηειέθφλα

Α.Σ.Δ.Ι. Καβάιας – Βηοκεταληθή Πιεροθορηθή ΢ειίδα 20 από 115 Κατηοσηέας Λούης e-mail : l_kahiouteas@yahoo.com

Δηθόλα 4 - Settings Window

(22)

Γεκηοσργία ειεθηροληθού παητληδηού ποιιώλ τρεζηώλ κέζφ Bluetooth γηα θηλεηά ηειέθφλα

Α.Σ.Δ.Ι. Καβάιας – Βηοκεταληθή Πιεροθορηθή ΢ειίδα 21 από 115 Κατηοσηέας Λούης e-mail : l_kahiouteas@yahoo.com

1.5.3.3 Καηαζκεσάδονηας ένα MIDlet

Έλα από ηα πην εύθνια πξάγκαηα είλαη ε δεκηνπξγία ελόο MIDlet θαη απηό ιόγν ηνπ όηη ην KToolbar ηα θάλεη όια απηόκαηα. Σν κόλν πνπ πξέπεη λα θάλεηε είλαη ελώ έρεηε επηιέμεη θαη αλνίμεη ην project πνπ ζέιεηε παηάηε ην θνπκπί “Compile” ζα εκθαληζηεί έλα κηθξό παξαζπξάθη όπσο θαίλεηαη ζηελ εηθόλα 5

Δηθόλα 5 - Compile Project

Καη ην MIDlet καο δεκηνπξγήζεθε. Δάλ θαη ε δηαδηθαζία ηνπ Compile απαηηεί πνιιά βήκαηα ηηο πεξηζζόηεξεο θόξεο γίλεηαη ηόζν γξήγνξα πνπ θαίλεηαη ζαλ κία πνιύ απιή δηαδηθαζία. Σέινο ην παθεηάξηζκα κπνξεί λα γίλεη από ηελ επηινγή Project -> Package ->

Create Package θαη από απηό έρεηε θαη ην JAD αξρείν.

1.5.3.4 Τεζηάριζμα ηοσ MIDlet

Όπσο αλαθέξακε θαη πξηλ έλα από ηα εξγαιεία πνπ έρεη είλαη ν emulator ν νπνίνο παίδεη θαη έλαλ από ηνπο ζεκαληηθόηεξνπο ξόινπο, κηαο θαη ζα θαλεί θαη ζηελ πνξεία όηη είλαη πην γξήγνξν θαη πην αζθαιέο λα ρξεζηκνπνηνύκαη ηνλ emulator γηα ην ηεζη ησλ πξνγξακκάησλ από όηη λα δνθηκάδνπκε ηα πξνγξάκκαηα καο κε ηελ κία ζην θηλεηό καο ηειέθσλν. Γηα λα ρξεζηκνπνηήζνπκε ηώξα ηνλ emulator ην κόλν πνπ πξέπεη λα θάλνπκε είλαη λα επηιέμνπκε ην είδνο ηνπ θηλεηνύ πνπ ζέινπκε από ηελ ιίζηα κε ηηο ζπζθεπέο (devices). Μεξηθνί ηύπνη emulator θαίλνληαη πην θάησ ζηελ εηθόλα 6 θαη 7

(23)

Γεκηοσργία ειεθηροληθού παητληδηού ποιιώλ τρεζηώλ κέζφ Bluetooth γηα θηλεηά ηειέθφλα

Α.Σ.Δ.Ι. Καβάιας – Βηοκεταληθή Πιεροθορηθή ΢ειίδα 22 από 115 Κατηοσηέας Λούης e-mail : l_kahiouteas@yahoo.com

Δηθόλα 6 - Color Emulator

Δηθόλα 7 - Qwerty Emulator

Από εδώ θαη πέξα ηα πξάγκαηα είλαη εύθνια όπσο ζηελ εηθόλα 6, θαηά ηελ εθθίλεζε ηνπ emulator επηιεγείο αξρηθά πνην MIDlet ζεο λα ηξέμεηο, όπσο αλαθέξακε κπνξεί έλα project λα πεξηέρεη παξαπάλσ από 1 MIDlet, αθόηνπ επηιέμεηε πην ζέιεηε παηάηε

“Launch” θαη ην παηρλίδη αξρίδεη. Από εθεί θαη πέξα γηα λα βγείηε από ην παηρλίδη ή επηιέγεηε έμνδν ή παηάηε ην θόθθηλν αθνπζηηθό θαη ζαο επαλαθέξεη ζηελ αξρηθή εηθόλα.

Ζ εηθόλα 7 είλαη έλαο emulator γηα θηλεηά κε πιεθηξνιόγην 2 ρεξηώλ θαη κπνξείηε λα ηεζηάξεηε θαη ζε απηό ηα πξνγξάκκαηα ζαο θπξίσο γηα λα δείηε πσο ιεηηνπξγνύλ θάησ από δηαθνξεηηθέο νζόλεο.

(24)

Γεκηοσργία ειεθηροληθού παητληδηού ποιιώλ τρεζηώλ κέζφ Bluetooth γηα θηλεηά ηειέθφλα

Α.Σ.Δ.Ι. Καβάιας – Βηοκεταληθή Πιεροθορηθή ΢ειίδα 23 από 115 Κατηοσηέας Λούης e-mail : l_kahiouteas@yahoo.com

2 Κεθάλαιο – Bluetooth 2.1 Διζαγωγή ζηο Bluetooth

Σν Bluetooth επηηξέπεη ηελ νξηζηηθή θαηάξγεζε όισλ ησλ θαισδίσλ, πνπ κέρξη ηώξα ήηαλ απαξαίηεηα γηα ηελ «δηαζύλδεζε» ππνινγηζηώλ, θνξεηώλ ππνινγηζηώλ ρεηξόο, θηλεηώλ ηειεθώλσλ θαη άιισλ ςεθηαθώλ ζπζθεπώλ, όπσο ςεθηαθέο θάκεξεο βίληεν- θάκεξεο, scanners, εθηππσηέο, κηθξόθσλα, αθνπζηηθά θ.α.

Οη πξνδηαγξαθέο ηνπ Bluetooth θαζνξίδνπλ ηελ «αζύξκαηε» ηερλνινγία ρακεινύ θόζηνπο θαη ρακειήο ηζρύνο, πνπ εμαιείθεη ηα θαιώδηα κεηαμύ ησλ θηλεηώλ ζπζθεπώλ θαη επηηξέπεη ηε δηαζύλδεζή ηνπο. Σν Bluetooth ιεηηνπξγεί ζην «αδέζκεπην» θάζκα ζπρλνηήησλ ησλ 2,45 GHz ώζηε νη ζπζθεπέο πνπ ην ελζσκαηώλνπλ λα κπνξνύλ λα ιεηηνπξγήζνπλ ρσξίο θάπνην πξόβιεκα ζε νπνηνδήπνηε ζεκείν ηνπ πιαλήηε. Γηα λα πεξηνξηζηνύλ ζην ειάρηζην νη παξεκβνιέο από παξεκθεξείο ζπζθεπέο, ην Bluetooth εθκεηαιιεύεηαη ηελ ηαπηόρξνλα ακθίδξνκε (Full Duplex) επηθνηλσλία, θαζώο θαη ηελ αλαπήδεζε ζπρλόηεηαο (frequency hopping) (έσο θαη 1600 αλαπεδήζεηο αλά δεπηεξόιεπην).

Σν Bluetooth επηηξέπεη ζπλδέζεηο από ζπζθεπή πξνο ζπζθεπή (point to point), θαζώο θαη ηελ ηαπηόρξνλε έσο θαη επηά (slave) ζπζθεπώλ θαη κίαο αθόκε θεληξηθήο ζπζθεπήο (master) κε ηελ ρξήζε κηαο κνλαδηθήο ζπρλόηεηαο.

Σηο πξνδηαγξαθέο ηεο ζπγθεθξηκέλεο ηερλνινγίαο, αλέπηπμε θαη ππνζηεξίδεη ην Bluetooth SIG (Special Interest Group), ελώ ε ηειεπηαία «δεκόζηα» έθδνζε ηνπο είλαη ε 2.0. Ωζηόζν, ηα πεξηζζόηεξα θηλεηά ηειέθσλα πνπ δηαηίζεληαη απηή ηε ζηηγκή ζηελ αγνξά (Απξίιηνο 2006) ελζσκαηώλνπλ είηε ηελ έθδνζε 1.1, είηε ηελ έθδνζε 1.2.

Referências

Documentos relacionados

Ο θσδηθφο ‘E/XXX’ εηζάγεηαη ζην πξψην θελφ πιαίζην ζηε ζηήιε ‘Τπνινγηζκφο Ναχισλ’ πάλσ απφ ηνλ εθαξκφζηκν λαχιν θαη ηνλ θσδηθφ ‘Μ’, πξνθεηκέλνπ λα θαηαδείμεη φηη είλαη εθαξκφζηκε ε