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

cadgealarmMobile - Wireless

Jul 19, 2012 (5 years and 1 month ago)

946 views


Σχολή Τεχνολογικών Εφαρογών
Τήα Εφαροσένης Πληροφορικής και Πολυέσων


Πτυχιακή Εργασία

Τίτλος:
ΑΝΑΛΥΣΗ ΚΑΙ ΧΡΗΣΗ ΕΡΓΑΛΕΙ%Ν ΓΙΑ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΦΑΡΜΟΓ%Ν ΣΕ ANDROID


ασκαλάκης Ελευθέριος (ΑΜ:1672)

Επιβλέπων Καθηγητής:
Τριανταφυλλίδης Γιώργος

Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

i

Ευχαριστίες

Με την ολοκλήρωση της πτυχιακής ου εργασίας θα ήθελα να ευχαριστήσω όλους όσους ε
υποστήριξαν. Επιπλέον οφείλω ένα εγάλο ευχαριστώ στον επόπτη καθηγητή κύριο Τριανταφυλλίδη
Γεώργιο για τις πολύτιες συβουλές και την καθοδήγησή του κατά την εκπόνηση της συγκεκριένης
εργασίας, σε όλα τα στάδια της προσπάθειας αυτής.

Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

ii

Περίληψη

Η παρούσα πτυχιακή εργασία έχει ως στόχο τη ελέτη, κατανόηση και ανάπτυξη ενός
λειτουργικού προγράατος για έξυπνα τηλέφωνα ή smartphones, όπως είναι ευρέως γνωστά στην
αγορά. Το λειτουργικό πρόγραα που έχει ελετηθεί και αναπτυχθεί στο παρόν πόνηα είναι το
ονοαζόενο Android. Για τις ανάγκες της παρουσίασης, δηιουργήθηκε ια εφαρογή που τρέχει σε
smartphone ε λειτουργικό Android.
Αρχικά, γίνεται επεξήγηση των λόγων επιλογής του συγκεκριένου λειτουργικού συστήατος
και κατόπιν ανάλυση

των ενδότερων επιέρους συστατικών στοιχείων του. Στην συνέχεια, ακολουθεί
ια ιστορική αναφορά σχετικά ε τις εκδόσεις και τα χαρακτηριστικά του Android, καθώς
παρουσιάζονται και ελετούνται το κάθε ένα ξεχωριστά. Επίσης, αναφέρονται οι συσκευές (κινητά
τηλέφωνα και ταπλέτες – Tablets) που χρησιοποιούν το Android και γίνεται ανάλυση των
λειτουργιών τους. Εν συνεχεία, γίνεται ια εκτενής παρουσίαση των εργαλείων ανάπτυξης λογισικού
και εφαρογών στην πλατφόρα Android, καθώς παρατίθενται και τα ανάλογα παραδείγατα.
Τέλος, παρουσιάζεται βήα προς βήα η ανάπτυξη ιας Android Application ε την χρήση
του λειτουργικού SDK στο εργαλείο Eclipse.


Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

iii


Abstract
The present thesis aims to study, understand and develop software for smartphones, which are
widespread in the market. The software that has been studied and developed in the thesis is the so-
called Android. For the purposes of the related presentation, an application for Android smartphones
has been developed.
Initially, the reasons of choosing this specific software are given, followed by an analysis of
its inner counterparts. Afterwards, there is a historical report of the Android versions and
characteristics, each one of them being separately presented and examined. Furthermore, Android
devices (mobile phones and tablets) are referred to and their functions are analyzed. Thereafter, an
extensive presentation of the software development tools and applications over Android platform is
been done. Then, under each tool analysis, the necessary examples are following.
Finally, the development of an Android application, using the SDK software and the Eclipse
tool, is presented step by step.

Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

iv

ΠΕΡΙΕΧΟΜΕΝΑ

Ευχαριστίες……………………………………………………………………………………………..i

Περίληψη…………………………………………………………………………………...…………..ii

Abstract……………………………………………………………………………… ………………..iii

1. Εισαγωγή……… ………..……………… …………………………………………………………...1

1.1 Επιλογή του Android……………………… ………… …………………...……… ………1

1.2 Τι είναι το Android…………… ……………..……………………………………………3

1.3 Αρχιτεκτονική του Android…… …..……… ……………………………………………..5

1.4 Η εικονική ηχανή Dalvik…… ……..………… ………………………………………….6

1.5 Πυρήνας (Linux kernel)…………….…………… …… ………………………………….7

1.6 Εγγενείς Βιβλιοθήκες (Native Libraries)… …… ………...….……………….…………..7

1.6.1 Βιβλιοθήκες Android……………… …… ……………...……………………… 7

1.6.2 Προηγένες Βιβλιοθήκες Android……………...………...…………………...8

1.7 Χρόνος Εκτέλεσης (Android Runtime)……………………………………………..… …9

1.8 Πλαίσιο Εφαρογής (Application Framework)………………………………………… 9

1.9 Βασικά Συστατικά Εφαρογών του Android ……………… ……………………...….11

2. Ιστορικά (Εκδόσεις και Χαρακτηριστικά)……………………………………...………………..14

2.1 Android 1.5 CUPCAKE…………………………………………………………………14

2.2 Android 1.6 DONUT…………………………………………………………………….15

2.3 Android 2.0 ECLAIR……………..……………………………………………………..16

2.4 Android 2.2 FROYO…………………………………………………………………….17

2.5 Android 2.3 GINGERBREAD…………………………………………………………..18

2.6 Android 3.0 HONEYCOMB…………………………………………………………….18

2.7 Android Cream Sandwich………………………………………………………………1 9

2.8 Εφαρογές και Widgets………………………………………………………………….21

Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

v
2.9 Γιατί Android…………………………………………………………………………….21

3. Κινητά Τηλέφωνα Android……………………………………………………………………….22

3.1 Η Πρώτη Συσκευή ε Android….……………………………………………………...22

3.2 Εναλλακτικά Πληκτρολόγια……… ………………………… ………..………………...22

3.3 Αυτοατοποιήσεις………………………………………………………………………..23

3.4 Προσαροσένο Γραφικό Περιβάλλον…………………………………………….…...23

3.5 Widgets………… ………………………………………………………………………...23

3.6 Αναιρούενα Μέσα Αποθήκευσης και Μπαταρία……………………… ……… ……..24

3.7 Ασύρατη Εγκατάσταση Εφαρογών…………………………………… ……… …….25

3.8 Προσαροσένες ROM………………………………………… ……………….……… 25

3.9 Έλεγχος του Τηλεφώνου από τον Υπολογιστή σου………………… ……… ………… 25

3.10 Flash Player……………………..……………………………………… ……….……...25

3.11 Πραγατική Ενσωάτωση Εφαρογών……………………………………… ……… 26

4. Ταπλέτες Android……… ………………………………………………………………………...27

4.1 Tablet PC: Με 3υο Λόγια…………………… ………………………………………….27

4.2 Ιστορική Αναδροή……………...……… ……….………… …………...………………15

4.2.1 Πώς εξελίσσεται έως σήερα…………...…………………… …… ………….28

4.3 H Adobe φέρνει τις Touch Apps στις ταπλέτες Android…...…… ………….……….29

4.4 Η Εξέλιξη των Tablets……………………… …………………………………...……… 29

4.4.1 Χρήση 4-πύρινων επεξεργαστών……..….……… ….………… …………….30

4.4.2 Υψηλότερη ανάλυση………… …...…………………………………………...30

4.5 Μια απλή εφαρογή στις ταπλέτες Android………………………………………….31

5 Εργαλεία ανάπτυξης λογισικού…………………………………………………………………..32

5.1 Android SDK……………………………………………………………… ……………..32

5.1.1 Μερικά από τα χαρακτηριστικά του SDK………… ……………...………...33

5.1.2 Ο εξοοιωτής (emulator)…...………………… ……………………………...33

5.1.3 Άλλα εργαλεία του Android SDK …… …… ………………………………..33

Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

vi
5.1.4 Μια γρήγορη εφαρογή για το SDK…………… …...……………………… 34

5.2 Android NDK (Native Development Kit)…………………………… ………………… 40

5.2.1 Τα κύρια χαρακτηριστικά του NDK……………...………………………….40

5.2.2 Τι παρέχει το Android NDK…….………………...……………………… …41

5.2.3 Πότε γίνεται ανάπτυξη σε ατόφιο κώδικα……………...…………………… 41

5.2.4 Περιεχόενα του NDK… ……………………………………...……………… 42

5.2.5 Εργαλεία Ανάπτυξης…… …..……...………………………………………… 42

5.2.6 Τεκηρίωση………...………………………………………………………… 46

5.2.7 Ανάπτυξη εφαρογής για το Android NDK………...……………………….44

5.3 App Inventor for Android…………………………………………………………… ….52

5.3.1 Η ανάπτυξη της εφαρογής………… …...…… ……………… …………......52

5.3.2 Τα αρχικά πλεονεκτήατα του App Inventor…………..……… …………...53

5.3.3 Τι είναι το App Inventor……………..……………………………………….53

5.3.4 Μια γρήγορη εφαρογή για το App Inventor…… …………………...…….56

5.4 Hyper Next Android Creator……………………………………………………… …...63

5.4.1 HyperNext…………… ……...………………………………………………...65

5.4.2 Περιβάλλον προγραατισού…………… …...……………………………..65

5.4.3 Εφαρογή για το HyperNext Android……… …...………...………………...66

6 Android Application...………….………………………………………………………… ………..71

6.1 Μια Android application ε την χρήση των SDK και Eclipse………………………..71

6.2 Προετοιασία…………………………………...……………………… ……….……….71

6.2.1 Εγκατάσταση του Eclipse IDE………………………………...……………..71

6.2.2 Εγκατάσταση του ADT plugin για το Eclipse……………… ………...……..72

6.2.3 Εγκατάσταση του Android SDK… …………………… ………...…………...73

6.3 3ηιουργία Android-εφαρογής………………………………………………………..74

6.4 Συπέρασα……………………………………………………………………………...81

ΒΙΒΛΙΟΓΡΑΦΙΑ...………….………………………………………………………………… ……..82

Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

vii

Πίνακας Εικόνων

Εικόνα 1 : Λογότυπο του Android

Εικόνα 2 : Η άχη εταξύ Android και Iphone.

Εικόνα 3 : Πωλήσεις Λειτουργικών Συστηάτων για τα Smartphones.

Εικόνα 4 : Εταιρίες λογισικού και κατασκευής υλικού παγκόσιας εβέλειας.

Εικόνα 5 : Λογότυπο πλατφόρας Android.

Εικόνα 6 : Τα βασικά περιεχόενα του λειτουργικού συστήατος Android.

Εικόνα 7 : Ο κύκλος ζωής ιας 3ραστηριότητας

Android

Εικόνα 8 : Λογότυπο Android 1.5 CUPCAKE

Εικόνα 9 : Λογότυπο Android 1.6 DONUT

Εικόνα 10 : Λογότυπο Android 2.0 ECLAIR

Εικόνα 11 : Λογότυπο Android 2.2 FROYO

Εικόνα 12 : Λογότυπο Android 2.3 GINGERBREAD

Εικόνα 13 : Λογότυπο Android 3.0 HONEYCOMB

Εικόνα 14 : Λογότυπο Android Ice Cream Sandwich

Εικόνα 15 : Ποσοστά των εγκατεστηένων εκδόσεων στις Android συσκευές

Εικόνα 16 : Τυπικές Συσκευές Android

Εικόνα 17 : Όπως παρουσιάζεται η αρχική οθόνη ιας εφαρογής Widgets

Εικόνα 18 : Φωτογραφία ιας καθηερινής κάρτας νήης

Εικόνα 19 : Όπως ακριβώς εφανίζεται το uninstall στο Android.

Εικόνα 20 : Ταπλέτες Android

Εικόνα 21 : Αριθός πωλήσεων PC και Tablet

Εικόνα 22 : To Touch Apps της Android

Εικόνα 23 : Χειρόγραφες σηειώσεις για ταπλέτες Android

Εικόνα 24 : Μια ικρή ατιά στο γραφικό περιβάλλον του Antipaper

Εικόνα 25 : Η εγκατάσταση του Android SDK
Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

viii


Εικόνα 26 : Ο αρχικός βασικός κώδικας που περιέχει το πρόγραα

Εικόνα 27 : Τροποποίηση του κώδικα για την εφαρογή

Εικόνα 28 : Επιλέγοντας RUN, γίνεται η εκτέλεση του κώδικα

Εικόνα 29 : Η εφαρογή φορτώνει κανονικά

Εικόνα 30 : Όπως έχει αναφερθεί, το γραφικό περιβάλλον είναι ίδιο ε αυτό ιας Android
συσκευής

Εικόνα 31 : Ξεκλείδωα της συσκευής για να τρέξει η εφαρογή. Ο προσοοιωτής Android
στην αρχική οθόνη

Εικόνα 32 : Το Text κείενο (που προαναφέρθηκε) “Efarmogi gia Android SDK”

Εικόνα 33 : Ο χειρισός της εφαρογής καταδεικνύει την οοιότητα του προσοοιωτή ε ένα
πραγατικό κινητό τηλέφωνο Android

Εικόνα 34 : Ο κώδικας που χρησιοποιήθηκε για την εφαρογή

Εικόνα 35 : Λογότυπο εφαρογής Android NDK

Εικόνα 36 : Εφαρογή για το Android NDK

Εικόνα 37 : Στο Help, εγκαθιστούε το New Software στο ενού. Επιλέγουε Galileo ως το χώρο
ενηέρωσης ("Work with"). Αφήνουε τα στοιχεία να τρέξουν στο Eclipse C / C + +

Εικόνα 38 : Επιλέγουε 'ΝΑΙ' σε όλα και περιένουε το Eclipse για να κάνει επανεκκίνηση.
Έχουε στο C / C + + την υποστήριξη στο Eclipse IDE τώρα

Εικόνα 39 : Cygwin: ένα σύνολο λογισικού που προσοοιώνει Unix περιβάλλον των Windows

Εικόνα 40 : Με την επιλογή του mirror, κάνουε κλικ στο Next και στην συνέχεια το Cygwin θα
κατεβάσει και θα παρουσιάσει τη λίστα των διαθέσιων πακέτων

Εικόνα 41 : Ολοκλήρωση εγκατάστασης

Εικόνα 42 : Για τον έλεγχο των εργαλείων που είναι σηαντικά για το Android NDK
πληκτρολογούε make-v στην κονσόλα

Εικόνα 43 : Εγκατάσταση του Android NDK

Εικόνα 44 : Το γραφικό περιβάλλον του Eclipse

Εικόνα 45 : 3ηιουργία νέου project

Εικόνα 46 : 3ηιουργία του φακέλου JNI στη ρίζα του νέου project

Εικόνα 47 : Ο βασικός κώδικας που χρησιοποιήθηκε για την εφαρογή

Εικόνα 48 : Screenshot τρόπου ελέγχου της εφαρογής

Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

ix

Εικόνα 49 : Πρέπει να αλλάξετε τον κώδικα της Java της τάξης NdkFooActivity για να
χρησιοποιήσετε τον κώδικα NDK

Εικόνα 50 : Σε αυτό το σηείο πορούε να διακρίνουε τον εξοοιωτή (emulator) του eclipse
ε την εφαρογή ας. Στην περίπτωση ας το (Hello from native code)

Εικόνα 51 : Λογότυπο εφαρογής App Inventor

Εικόνα 52 : Γραφικό περιβάλλον App Ιnventor

Εικόνα 53 : Κύρια οθόνη του App Inventor

Εικόνα 54 : Έχουε επιλέξει το learn σε δεύτερο παράθυρο

Εικόνα 55 : Εγκατάσταση λογισικού που χρειαζόαστε. Στην περίπτωση ας instructions for
Windows

Εικόνα 56 : Εγκατάσταση και εκτέλεση εφαρογής

Εικόνα 57 : Προσθέτουε το πρώτο Button

Εικόνα 58 : Σε αυτό το σηείο έχουε προσθέσει στο components την φωτογραφία και τον ήχο
που θα χρησιοποιήσουε

Εικόνα 59 : Εδώ διακρίνουε καθαρά τον ήχο που έχουε προσθέσει

Εικόνα 60 : Τρέχουε την εφαρογή ας και ταυτόχρονα εγκαθιστούε τον κώδικα που
χρειαζόαστε

Εικόνα 61 : Εδώ πορούε να διακρίνουε το block editor του App Inventor

Εικόνα 62 : Έχουε ανοίξει το My block, προσθέτουε το button και τον ήχο έσα σε αυτό

Εικόνα 63 : Επιλέγουε το Connect Device και στην συνέχεια τρέχουε το new emulator

Εικόνα 64 : Με τον εξοοίωτη (emulator), όπως πορούε να διακρίνουε, εκτελούε την
εφαρογή ας

Εικόνα 65 : Ο κώδικας ας στην προκειένη περίπτωση

Εικόνα 66 : Λογότυπο εφαρογής HyperNext Android

Εικόνα 67 : Μόλις έχουε ανοίξει την ηλεκτρονική σελίδα Hypernext Android και κάνουε την
εγγραφή ας

Εικόνα 68 : Εικόνα κατά την έναρξη του HyperNext Android Creator

Εικόνα 69 : Σε αυτό το σηείο πορούε να διακρίνουε το γραφικό περιβάλλον του HAC

Εικόνα 70 : 3ηιουργούε ένα Demo Project ε το όνοα Hello Word

Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

x
Εικόνα 71 : Έχουε προσθέσει ένα Button ε την επιλογή New Button και επιλέγουε την
ιδιότητα Script έτσι ώστε να γράψουε αυτό που θα εφανίζεται πατώντας το
Βutton.

Εικόνα 72 : Έχουε πατήσει το Run και στην συνέχεια πάνω στο Button της εφαρογής ας για
να εφανίσει αυτό που γράψαε

Εικόνα 73 : Στο C Mode επιλέγουε Design. Στην συνέχεια, επιλέγουε το Manager Devices από
την γραή εργαλείων Android

Εικόνα 74 : Από την γραή εργαλείων επιλέγω το Go και στην συνέχεια το Run για να τρέξει ο
emulator

Εικόνα 75 : Έχει ανοίξει ο emulator του Android. Πατώντας πάνω στο Button που έχουε
δηιουργήσει και εφανίζεται η εφαρογή ας. Στην περίπτωση ας, ένας
κειενογράφος που γραφεί “Hello world”.

Εικόνα 76 : Java Platform

Εικόνα 77 : Εγκατάσταση του Eclipse

Εικόνα 78 : Εγκατάσταση του Eclipse

Εικόνα 79 : Εγκατάσταση του SDK

Εικόνα 80: Android Virtual Device (AVD)

Εικόνα 81 : Android Virtual Device (AVD)

Εικόνα 82 : Android Virtual Device (AVD)

Εικόνα 83 : Κώδικας στο main.xml για να δηλώσουε τα 3 στοιχεία ας

Εικόνα 84 : Κώδικας στο AndroidManifest.xml

Εικόνα 85 : Συνολικός κώδικας

Εικόνα 1: Ολοκλήρωση εφαρογής

Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

1

Κίνητρο για την 3ιεξαγωγή της Εργασίας

1.Εισαγωγή

Στην παρούσα πτυχιακή εργασία, περιγράφονται και ελετούνται τα εργαλεία για Android
Development. Μελετάται επίσης, η αρχιτεκτονική του συστήατος και αναλύονται τα σηαντικότερα
τήατά της. Κύριος σκοπός της εργασίας αυτής είναι να υλοποιηθεί ια εφαρογή, η οποία θα
διέπεται από τους κανόνες του προαναφερθέντος λειτουργικού συστήατος, ε γενικότερο στόχο την
οαλή λειτουργία του σε συσκευές που υποστηρίζουν το λειτουργικό Android. Ο όρος Android έχει
ελληνική προέλευση, καθώς προέρχεται από την λέξη Andro-«ανθρώπινη» + eides-« ορφή, σχήα».
Συνεπώς, η έννοια που δίνεται στην λέξη Android είναι το «Ανδροειδές» και συβολίζεται από το
ροπότ ε την ορφή ανθρώπου, όπως εφανίζεται και στην [Εικόνα 1].


Εικόνα 2: Λογότυπο του Android


1.1 Επιλογή του Android

Ο πρωταρχικός λόγος της επιλογής για αυτήν την εργασία, ήταν η επιλογή ιας πλατφόρας,
η οποία θα πορούσε να υποστηρίξει τον σχεδιασό και την υλοποίηση ιας εφαρογής. Παράλληλα
η αναζήτηση για κάτι το καινούργιο στον χώρο που θα άξιζε την ελέτη του και θα ήταν πολλά
υποσχόενο, οδήγησε σε δύο υποψήφιες πλατφόρες, το Android και το iPhone. Οι δύο αυτές
πλατφόρες φαίνεται ότι θα πρωταγωνιστήσουν στον χώρο των έξυπνων τηλεφώνων (smart phones),
αφού διαθέτουν εξαιρετικά χαρακτηριστικά και απίστευτες δυνατότητες [Εικόνα 2].

Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

2

Εικόνα 3: Η άχη εταξύ Android και Iphone

Στις αρχές Οκτωβρίου 2009, το iPhone κατείχε τα σκήπτρα στις πωλήσεις. Παρόλα αυτά, ε
τη ραγδαία ανάπτυξη που είχε το Android, οι ερευνητές υποστήριζαν ότι τα δεδοένα θα έχουν
ανατραπεί έχρι το 2012 το αργότερο. Προς έκπληξη αρκετών, κατά την έναρξη συγγραφής της
παρούσας πτυχιακής εργασίας (Νοέβριος 2011), το Android έχει ήδη ξεπεράσει προ πολλού σε
πωλήσεις το iPhone και συνεχίζει να επεκτείνεται. .στόσο, είναι ια άχη η οποία αναένεται να
συνεχιστεί, ε τις δύο πλατφόρες να εκσυγχρονίζουν ανά τακτά χρονικά διαστήατα τα
χαρακτηριστικά τους.
Χαρακτηριστική είναι η έρευνα που ανακοίνωσε η Millennial Media[1]. Τα αποτελέσατα
είναι αναενόενα, δηλαδή το Android OS κυριαρχεί ε παρουσία στο 53% των smartphones
παγκοσίως, ε το iOS να ακολουθεί ε 28% και το BlackBerry OS ε 16% [Εικόνα 3].


Εικόνα 4: Πωλήσεις Λειτουργικών Συστηάτων για τα Smartphones

Επίσης, ο Hugo Barra (Product Management Director του Android) ανακοίνωσε στο πρόσφατο
Google I/O που έγινε στις 10 Μαΐου 2011 στο San Francisco, ορισένα εντυπωσιακά στατιστικά για
την πλατφόρα. Η Google δεν έχασε την ευκαιρία να ρίξει τα «καρφιά» της σε οποιοδήποτε
αφισβητεί την κυριαρχία του Android OS και ανακοίνωσε τα ιλιγγιώδη στατιστικά στοιχεία που
συνοδεύουν το υπέρ-επιτυχηένο λειτουργικό σύστηα, τα οποία παρατίθενται παρακάτω:
Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

3
 400.000 νέες ενεργοποιήσεις κάθε ηέρα
 4.5 δισεκατούρια downloads εφαρογών
 100 εκατ. ενεργοποιήσεις από την πρώτη ηέρα κυκλοφορίας του Android OS
 200.000 εφαρογές στο Android Market
 215 πάροχοι σε 112 χώρες
 36 κατασκευαστές συσκευών

Οι δυνατότητες και οι προοπτικές του Android ήταν το έναυσα, ώστε να γίνει ξεκάθαρη η
επιλογή της πλατφόρας ανάπτυξης της εφαρογής, έναντι του λειτουργικού iOS. Μεγάλο
πλεονέκτηα του λειτουργικού Android είναι ότι παρέχει τη δυνατότητα στον καθένα να γράψει τη
δική του εφαρογή, να άθει, να πειραατιστεί ε το κινητό του και γιατί όχι, να παίξει! Είναι ένα
πρόγραα ανοικτού κώδικα.

1.2 Τι είναι το Android;

Το Android είναι ένα λειτουργικό σύστηα για συσκευές κινητής τηλεφωνίας, το οποίο τρέχει
τον πυρήνα του λειτουργικού Linux. Αρχικά αναπτύχθηκε από την Google και αργότερα από την
Open Handset Alliance. Επιτρέπει στους κατασκευαστές λογισικού να συνθέτουν κώδικα ε την
χρήση της γλώσσας προγραατισού Java, ελέγχοντας την συσκευή έσω βιβλιοθηκών λογισικού
ανεπτυγένων από την Google.
Τον Ιούλιο του 2005, η Google εξαγόρασε την Android Inc, ια ικρή εταιρεία ε έδρα το
Palo Alto στην California των ΗΠΑ. Οι συνιδρυτές της Android πήγαν να εργαστούν στην Google
συπεριλαβανοένων των Andy Rubin (συν-ιδρυτής της Danger), Rich Miner (συν-ιδρυτής της
Wildfire Communications, Inc), Nick Sears (πρώην αντιπρόεδρος της T-Mobile), και Chris White
(επικεφαλής σχεδιασού και ανάπτυξης interface στο WebTV). Εκείνη την εποχή ελάχιστα ήταν
γνωστά για τις λειτουργίες της Android Inc, εκτός του ότι ανέπτυσσαν λογισικό για κινητά
τηλέφωνα. Αυτή ήταν η αρχή της φηολογίας περί σχεδίων της Google για να διεισδύσει στην αγορά
κινητής τηλεφωνίας.
Στην Google, η οάδα ε επικεφαλής τον Rubin ανέπτυξε ια κινητή πλατφόρα που
στηρίζεται στον πυρήνα του Linux, την οποία προώθησαν ε την παροχή ενός ευέλικτου,
αναβαθίσιου συστήατος. Έχει αναφερθεί ότι η Google έχει ήδη συγκεντρώσει ια σειρά από
εταίρους hardware και software και επισήανε στους παρόχους ότι ήταν ανοικτή σε διάφορους
βαθούς συνεργασίας εκ έρους της. Περισσότερες εικασίες ότι η Google θα εισέλθει στην αγορά
κινητής τηλεφωνίας άρχισαν τον εκέβριο του 2006. ηοσιεύσεις από το BBC και τη The Wall
Street Journal πληροφορούσαν ότι η Google ήθελε την έρευνα και τις εφαρογές σε κινητά τηλέφωνα
και εργάζονται σκληρά για να τις προωθήσουν στην αγορά. Έντυπα και ηλεκτρονικά έσα
ενηέρωσης σύντοα ανέφεραν φήες ότι η Google ανέπτυσσε ια Google-branded συσκευή.
Περισσότερες φήες ακολούθησαν, αναφέροντας ότι η Google καθόριζε τις τεχνικές προδιαγραφές
και έδειχνε πρωτότυπα στους κατασκευαστές κινητών τηλεφώνων και τους φορείς

δικτύων.
Τον Σεπτέβριο του 2007, η InformationWeek κάλυψε ια ελέτη αξιολόγησης αναφέροντας
ότι η Google έχει καταθέσει αρκετές πατέντες στον τοέα της κινητής τηλεφωνίας. Τελικά η Google
παρουσίασε το smartphone της Nexus One που χρησιοποιεί το open source λειτουργικό σύστηα
Android. Η συσκευή κατασκευάστηκε από την HTC Corporation της Ταϊβάν, και έγινε διαθέσιη
στις 5 Ιανουαρίου 2010.
Η πρώτη παρουσίαση της πλατφόρας Android έγινε στις 5 Νοεβρίου 2007, παράλληλα ε
την ανακοίνωση της ίδρυσης του οργανισού Open Handset Alliance, ιας κοινοπραξίας 48
τηλεπικοινωνιακών εταιριών, εταιριών λογισικού καθώς και κατασκευής hardware, οι οποίες είναι
αφιερωένες στην ανάπτυξη και εξέλιξη ανοιχτών προτύπων στις συσκευές κινητής
τηλεφωνίας.[2][3]. Η Google δηοσίευσε το εγαλύτερο έρος του κώδικα του Android υπό τους
όρους της Apache License, ιας ελεύθερης άδειας λογισικού. [4]
Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

4
Ενδεικτικά, αναφέρονται ερικά έλη του οργανισού αυτού [Εικόνα 4], για να γίνει ορατή η
τεράστια προοπτική που δηιουργείται:


Εικόνα 5: Εταιρίες ανάπτυξης λογισικού και κατασκευής υλικού παγκόσιας εβέλειας

Μερικές από τις εταιρίες αυτές αναγράφονται παρακάτω:
• Intel
• Vodafone
• Motorola
• Samsung
• Sony Ericsson
• ebay
• Google
• Verizon
• Texas Instruments
• Htc
Κατά τα λεγόενα τους, όπως αναφέρεται και στο επίσηο site, η OHA (Open Handset
Alliance) αντιπροσωπεύει: «Μια δέσευση για την ειλικρίνεια, ένα κοινό όραα για το έλλον και
συγκεκριένα σχέδια για να κάνει το όραα ια πραγατικότητα. Για να επιταχύνει την καινοτοία
στο κινητό και να προσφέρει στους καταναλωτές ια πλουσιότερη, λιγότερο ακριβή και καλύτερη
επειρία κινητών τηλεφώνων.»

http://www.openhandsetalliance.com/oha_faq.html


Η OHA ελπίζει να παραδώσει ια καλύτερη επειρία λογισικού κινητών στους
καταναλωτές, παρέχοντας ια πλατφόρα για την ανάπτυξη καινοτόων κινητών εφαρογών
γρηγορότερα και ε υψηλότερη ποιότητα, χωρίς τέλη αδείας για τους προγραατιστές λογισικού ή
τους κατασκευαστές κινητών τηλεφώνων. Η επιτυχία του Android ως πλατφόρα κινητών τηλεφώνων
θα εξαρτηθεί κατά ένα εγάλο έρος από την επιτυχία των συνεργατών της OHA στην κυκλοφορία
επιθυητών κινητών τηλεφώνων και κινητών υπηρεσιών που θα ενθαρρύνουν την υιοθέτηση των
Android τηλεφώνων. Οι προγραατιστές έχουν την ευκαιρία να δηιουργήσουν καινοτόες, νέες
Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

5
εφαρογές κινητών για Android ώστε να ενθαρρυνθούν περισσότερες επιχειρήσεις κινητής
τεχνολογίας να γίνουν έλη της OHA.

Στην [Εικόνα 5] φαίνεται το λογότυπο της Αndroid.


Εικόνα 6: Λογότυπο πλατφόρας Android

1.3 Αρχιτεκτονική του Android

Όπως αναφέραε πιο πριν, το Android είναι ια στοίβα λογισικού. Η λογική πίσω από αυτήν
την έκφραση και σε όλη την φιλοσοφία του Android, κρύβεται στο ακόλουθο διάγραα ε τα
βασικά συστατικά του [Εικόνα 6].
Η αρχιτεκτονική του Android ενθαρρύνει την έννοια επαναχρησιοποίησης κώδικα, που
επιτρέπει να δηοσιευτούν και να οιραστούν δραστηριότητες, υπηρεσίες και δεδοένα ε άλλες
εφαρογές ε πρόσβαση που ελέγχεται από τους περιορισούς ασφάλειας που έχουν τεθεί. Έτσι
γίνεται δυνατή η επέκταση και βελτιστοποίηση υπαρχόντων εφαρογών ή δηιουργίας καινούργιων,
χρησιοποιώντας κώδικα από αυτές.
Οι ακόλουθες υπηρεσίες εφαρογών είναι οι ακρογωνιαίοι λίθοι της αρχιτεκτονικής όλων των
εφαρογών Android, παρέχοντας το πλαίσιο που θα χρησιοποιηθεί για τη δηιουργία του
λογισικού :
 ιαχειριστής ραστηριοτήτων (Activity Manager) - Eλέγχει τον κύκλο ζωής των
δραστηριοτήτων, συπεριλαβανοένης της διαχείρισης του σωρού δραστηριoτήτων.
 Όψεις (Views) - Χρησιοποιούνται για να κατασκευάσουν διεπαφές χρήστη (user interface)
για τις δραστηριότητες (activities).
 ιαχειριστή Ειδοποιήσεων (Notification Manager) - Παρέχει ένα συνεπή και αποτελεσατικό
ηχανισό για να προειδοποιεί τον χρήστη
Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

6
 Παροχέας Περιεχοένου (Content Providers) - Επιτρέπουν στις εφαρογές να οιραστούν
δεδοένα εταξύ τους.
 ιαχειριστής Πόρων (Resource Manager) - Υποστηρίζει πόρους εκτός κώδικα όπως
συβολοσειρές και γραφικά.


Εικόνα 7: Τα βασικά περιεχόενα του λειτουργικού συστήατος Android

Στην στοίβα του Android [Εικόνα 6], παρατηρούε 4 επίπεδα. Ακολούθως θα περιγράψουε
συνοπτικά τα βασικά αυτά επίπεδα χωρίς να πούε σε λεπτοέρειες για όλα τα περιεχόενα του
κάθε επιπέδου. Αν ο αναγνώστης επιθυεί να άθει περισσότερα, πορεί να επισκεφθεί την επίσηη
ιστοσελίδα του Android για κατασκευαστές (
http://developer.android.com
). Κάθε επίπεδο στην
αρχιτεκτονική αυτή, χρησιοποιεί τις υπηρεσίες που του προσφέρονται από τα πιο πάνω επίπεδα. Ας
δούε τώρα αυτά τα επίπεδα ξεκινώντας από το πιο χαηλό.

1.4 Η εικονική ηχανή Dalvik

Ένα από τα στοιχεία κλειδιά του Android είναι η εικονική ηχανή Dalvik. Το Android
χρησιοποιεί την δικιά του εικονική ηχανή και όχι ια παραδοσιακή, ε σκοπό να εξασφαλίσει ότι
πολλαπλά στιγιότυπα τρέχουν αποτελεσατικά σε ια ενιαία συσκευή.
Η Dalvik VM (Virtual Machine) χρησιοποιεί τον πυρήνα Linux της συσκευής για να
χειριστεί τις χαηλού επιπέδου λειτουργίες που περιλαβάνουν την ασφάλεια, τον πολυνηατισό
και τη διαχείριση διαδικασιών και νήης. Είναι επίσης δυνατό να γραφτούν εφαρογές C/C++ που
τρέχουν άεσα στο εσωτερικό του λειτουργικού Linux. Αν και πορεί να γίνει αυτό, στις
περισσότερες περιπτώσεις δεν υπάρχει κανένας λόγος.
Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

7
Μέσω της Dalvik VM επιτυγχάνεται η ρύθιση της πρόσβασης στο υλικό και στις υπηρεσίες
του συστήατος. Με τη χρησιοποίηση αυτής της εικονικής ηχανής στην εκτέλεση εφαρογής, η
οποία προσφέρει ένα αφαιρετικό στρώα, οι κατασκευαστές δεν χρειάζεται να ανησυχήσουν για
κάποια υλοποίηση υλικού (hardware implementation).
H Dalvik VM εκτελεί τα Dalvik εκτελέσια αρχεία, ένα format βελτιστοποιηένο έτσι ώστε
να καταλαβάνει την ελάχιστη νήη. Τα .dex εκτελέσια αρχεία δηιουργούνται ετασχηατίζοντας
κλάσεις που έχουν εταγλωττιστεί από Java χρησιοποιώντας εργαλεία που παρέχονται έσα στο
SDK.
Μια απλή Java VM είναι ια εικονική ηχανή βασισένη σε στοίβα (stack-based). Η Dalvik
VM από την άλλη είναι ια εικονική ηχανή βασισένη σε ητρώα (registerbased). Με τον τρόπο
αυτό αυξάνεται η αποδοτικότητα του επεξεργαστή του κινητού. Επίσης, οι εικονικές ηχανές που
είναι βασισένες σε καταχωρητές (registers) επιτρέπουν ταχύτερους χρόνους εκτέλεσης των εγάλων
προγραάτων.

1.5 Πυρήνας Linux (Linux kernel)

Το Android είναι βασισένο στα γερά θεέλια του Linux. Ο πυρήνας Linux είναι
δοκιασένος, σταθερός και πετυχηένος και πορεί να βρεθεί παντού, από ρολόγια χειρός έχρι
υπερυπολογιστές. Το Linux παρέχει στο Android το αφαιρετικό επίπεδο υλικού, επιτρέποντας του να
πορεί να χρησιοποιηθεί σε εγάλη ποικιλία πλατφορών στο έλλον. Ειδικότερα, το Android
χρησιοποιεί τον πυρήνα Linux για την διαχείριση νήης, την διαχείριση διεργασιών, την δικτύωση
και άλλες υπηρεσίες του λειτουργικού συστήατος.

1.6 Εγγενείς Βιβλιοθήκες (Native Libraries)

Στο αέσως υψηλότερο επίπεδο βρίσκουε τις Native Libraries – Εγγενείς Βιβλιοθήκες. Όλες
αυτές είναι γραένες στην γλώσσα προγραατισού C και C++ και εταγλωττίστηκαν για την
συγκεκριένη αρχιτεκτονική υλικού που χρησιοποιείται από το τηλέφωνο. Οι βιβλιοθήκες αυτές δεν
είναι εφαρογές που πορούν να στηθούν από όνες τους. Υπάρχουν για να πορούν να κληθούν από
προγράατα υψηλότερου επιπέδου. Από την έκδοση Donut και ετά, οι κατασκευαστές πορούν να
γράφουν τις δικές τους τέτοιες βιβλιοθήκες ε την χρήση της Εργαλειοθήκης NDK ( Native
Development Kit ).
1.6.1 Βιβλιοθήκες Android

Το Android προσφέρει διάφορα APIs για την ανάπτυξη εφαρογών. Ο ακόλουθος κατάλογος
APIs πυρήνα δίνει ια ιδέα για το τι είναι διαθέσιο. Όλες οι συσκευές Android υποστηρίζουν το
λιγότερο αυτά τα APIs :
 android.util - Το πακέτο βοηθήατος (utility) πυρήνων περιέχει χαηλού επιπέδου κλάσεις,
όπως τα εξειδικευένα containers, ορφοποιητές (formatters) συβολοσειρών, και βοηθήατα
για parsing XML αρχείων.
 android.os - To πακέτο λειτουργικού συστήατος παρέχει την πρόσβαση στις βασικές
υπηρεσίες του λειτουργικού συστήατος όπως τη διαβίβαση ηνυάτων, την επικοινωνία
εταξύ των επικοινωνιών, τις λειτουργίες ρολογιών, και την αποσφαλάτωση (debugging).
Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

8
 android.graphics - Το API γραφικών παρέχει τις χαηλού επιπέδου κλάσεις γραφικών που
υποστηρίζουν τους καβάδες (canvases), τα χρώατα, και τα βασικά στοιχεία ζωγραφικής,
και παρέχει τη δυνατότητα να ζωγραφίσει κανείς πάνω σε καβά (canvas).
 android.text - Τα εργαλεία επεξεργασίας κειένων για αναπαράσταση και ανάλυση κειένου.
 android.database - Παρέχει τις χαηλού επιπέδου κλάσεις που απαιτούνται για το χειρισό
των δροέων (cursors) κατά τη λειτουργία τους ε τις βάσεις δεδοένων.
 android.content - Το API περιεχοένου (content) χρησιοποιείται για να διαχειριστεί την
πρόσβαση στα δεδοένα και την έκδοση τους, παρέχοντας υπηρεσίες για την διαχείριση των
πόρων, των Παρόχων Περιεχοένου (Content Provider), και των πακέτων.
 android.view – Οι Όψεις (Views) είναι οι κλάσεις πυρήνα διεπαφών χρήστη. Όλες οι διεπαφές
χρήστη κατασκευάζονται χρησιοποιώντας ια σειρά από Όψεις που παρέχουν τα συστατικά
της αλληλεπίδρασης χρηστών.
 android.widget - Τοποθετηένες στο πακέτο View, οι κλάσεις widget είναι τα στοιχεία της
διεπαφής χρήστη (user-interface) που χρησιοποιούνται στις εφαρογές. Περιλαβάνουν τις
λίστες, τα κουπιά, και τις διατάξεις (layouts).
 com.google.android.maps - Ένα υψηλού επιπέδου API που παρέχει πρόσβαση στις εγγενείς
λειτουργίες χαρτών που πορούν να χρησιοποιηθούν έσα σε εφαρογές. Περιλαβάνει τη
λειτουργία MapView, καθώς επίσης και τις κλάσεις Overlay και MapController που
χρησιοποιούνται για να διαχειριστούν και να ελέγξουν τους ενσωατωένους χάρτες.
 android.app - Ένα πακέτο υψηλού επιπέδου που παρέχει πρόσβαση στο οντέλο εφαρογών.
Το πακέτο εφαρογών περιλαβάνει τα Activity και Service APIs που αποτελούν τη βάση για
όλες τις Android εφαρογές.
 android.provider - Για να διευκολύνει την πρόσβαση των προγραατιστών σε ορισένους
τυποποιηένους Παρόχους Περιεχοένου (Content Providers) (όπως η βάση δεδοένων
επαφών), προσφέρονται κλάσεις που παρέχουν πρόσβαση σε τυποποιηένες βάσεις
δεδοένων που περιλαβάνονται σε όλες τις εκδόσεις Android.
 android.telephony - Τα APIs τηλεφωνίας επιτρέπουν την άεση αλληλεπίδραση ε το
τηλεφωνικό σωρό (phone stack) της συσκευής, δίνοντας τη δυνατότητα, να γίνει λήψη, και
έλεγχος των τηλεφωνηάτων, της κατάστασης του τηλεφώνου, και των ηνυάτων SMS.
 android.webkit - Το πακέτο WebKit περιλαβάνει APIs για την εργασία ε περιεχόενο
βασισένο στο διαδίκτυο, συπεριλαβανοένης της λειτουργίας wampee για την
ενσωάτωση ηχανών αναζήτησης και ενός διαχειριστή για cookies.
Εκτός από το Android APIs, ο σωρός του Android περιλαβάνει ένα σύνολο βιβλιοθηκών
C/C++. Αυτές οι βιβλιοθήκες περιλαβάνουν:
 OpenGL - Βιβλιοθήκη που χρησιοποιείται για να υποστηρίξει 3D γραφικά βασισένη
στο Open GL ES 1.0 API.
 FreeType - Υποστήριξη για τη bitmap και τη vector απόδοση γραατοσειράς.
 SGL - Bιβλιοθήκη πυρήνων που χρησιοποιείται για να παρέχει ια ηχανή 2D
γραφικών.
 libc - Τυποποιηένη βιβλιοθήκη C που βελτιστοποιείται για συσκευές βασισένες σε
Linux.
 SQLite - Ελαφριά ηχανή σχεσιακών βάσεων δεδοένων που χρησιοποιείται για να
αποθηκεύσει δεδοένα εφαρογών.
 SSL - Υποστήριξη για χρήση των Secure Sockets Layer του κρυπτογραφικού
πρωτοκόλλου για ασφαλείς επικοινωνίες έσω ιαδικτύου.

Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

9
1.6.2 Προηγένες Βιβλιοθήκες Android

Οι βιβλιοθήκες πυρήνα παρέχουν όλες τις λειτουργίες που είναι απαραίτητες για να ξεκινήσει
η δηιουργία ιας εφαρογής για Android, αλλά οι προηγένες βιβλιοθήκες APIs προσφέρουν
πραγατικά συναρπαστικές λειτουργίες.
Επειδή το Android στοχεύει να χρησιοποιείται από ένα ευρύ φάσα κινητών, η
καταλληλότητα και η εφαρογή των ακόλουθων APIs ποικίλουν ανάλογα ε τη συσκευή επάνω στην
οποία εφαρόζονται.
 android.location - Το τοποκεντρικό API (location-based) δίνει πρόσβαση των εφαρογών σε
πληροφορίες για τη τρέχουσα φυσική θέση της συσκευής. Οι υπηρεσίες βασισένες στη
τοποθεσία παρέχουν πρόσβαση σε πληροφορίες τοποθεσίας χρησιοποιώντας οποιοδήποτε
υλικό ή τεχνολογία είναι διαθέσιη στη συσκευή και βοηθούν στον προσδιορισό θέσης.
 android.media - Τα APIs πολυέσων παρέχουν υποστήριξη για την αναπαραγωγή και
εγγραφή αρχείων ήχου και βίντεο, συπεριλαβανοένων των πολυέσων ροής (streamed).
 android.opengl - To Android προσφέρει ια ισχυρή αποδοτική 3D ηχανή που χρησιοποιεί
το OpenGL ES API ε το οποίο δηιουργούνται 3D διεπαφές χρήστη για τις εφαρογές.
 android.hardware - Όπου είναι διαθέσιο, το API υλικού εκθέτει υλικό αισθητήρων
συπεριλαβανοένης της φωτογραφικής ηχανής, του επιταχύετρου (accelerometer) και
των αισθητήρων πυξίδας.
 android.bluetooth, android.net.wifi, και android.telephony - Το Android επίσης παρέχει
χαηλού επιπέδου πρόσβαση στην πλατφόρα υλικού, συπεριλαβανοένου του Bluetooth,
του WI-FI, και του υλικού τηλεφωνίας.

1.7 Χρόνος Εκτέλεσης (Android Runtime)

Στο ίδιο επίπεδο ε τις εγγενείς βιβλιοθήκες, βρίσκουε και τον χρόνο εκτέλεσης Android.
Εδώ υπάρχουν οι βασικές βιβλιοθήκες της Java και η εικονική ηχανή Dalvik. H Dalvik είναι ια
βελτιστοποιηένη υλοποίηση ιας εικονικής ηχανής Java για φορητές συσκευές από την Google. Η
Dalvik τρέχει .dex αρχεία, τα οποία είναι bytecodes που προέρχονται από αρχεία .class και .jar. Εν
αντιθέσει όως ε τα .class αρχεία, τα .dex είναι πολύ πιο συπαγή και αποδοτικά, γεγονός σηαντικό
για συσκευές ε περιορισένη νήη και παταρία. Το Android περιλαβάνει ένα σύνολο βασικών
βιβλιοθηκών που παρέχουν τις περισσότερες από τις διαθέσιες λειτουργίες των βασικών
βιβλιοθηκών της Java. Κάποια πακέτα και κλάσεις υπάρχουν και στο Android, κάποια άλλα δεν
υποστηρίζονται καθόλου, ενώ ταυτόχρονα το Android παρέχει και επιπρόσθετα προσαροσένα στις
δικές του ανάγκες.

1.8 Πλαίσιο Εφαρογής (Application Framework)

Πάνω από τις εγγενείς βιβλιοθήκες και το χρόνο εκτέλεσης Android, είναι το πλαίσιο
εφαρογής. Αυτό το επίπεδο παρέχει υψηλού επιπέδου δοικές ονάδες τις οποίες πορούε να
χρησιοποιούε για την κατασκευή των εφαρογών. Αυτό το πλαίσιο είναι προ-εγκατεστηένο στο
Android, αλλά είναι επεκτάσιο, αφού ο κάθε κατασκευαστής πορεί να το συπληρώσει ε δικά του
κοάτια [5]. Τα σηαντικότερα δοικά στοιχεία του πλαισίου αυτού είναι:
 ιαχειριστής ραστηριοτήτων - Activity Manager: Υπεύθυνος για τον έλεγχο του χρόνου
ζωής [Εικόνα 7] των εφαρογών και για την διατήρηση ιας στοίβας που επιτρέπει την
πλοήγηση του χρήστη σε προηγούενες οθόνες.
 Παροχέας Περιεχοένου - Content Providers: Αυτά τα αντικείενα περιέχουν δεδοένα που
πορούν να διαοιραστούν εταξύ εφαρογών.
Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

10
 ιαχειριστής Πόρων - Resource Manager: Οι πόροι είναι οτιδήποτε υπάρχει σε ένα
πρόγραα και δεν είναι κώδικας. Για παράδειγα πορεί να είναι κωδικοί χρωάτων,
αλφαριθητικοί χαρακτήρες ή ακόα και έτοια σχεδιαγράατα οθονών φτιαγένα σε XML,
τα οποία πορεί το πρόγραα να καλεί.
 ιαχειριστής Τοποθεσίας - Location Manager: Χρησιοποιείται για να πορεί να ξέρει το
τηλέφωνο που βρίσκεται ανά πάσα στιγή.
 ιαχειριστής Κοινοποιήσεων - Notification Manager: Ιδανικός τρόπος για την ενηέρωση του
χρήστη για γεγονότα που συβαίνουν, διακριτικά χωρίς να διακόπτεται η εργασία του.


Εικόνα 8: Ο κύκλος ζωής ιας 3ραστηριότητας Android

Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

11

1.9 Βασικά Συστατικά εφαρογών του Android

Οι εφαρογές Android αποτελούνται από κάποια συστατικά, που συνδέονται
χρησιοποιώντας ένα XML αρχείο, το AndroidManifest.xml του κάθε project, το οποίο περιγράφει
κάθε συστατικό και πώς αλληλεπιδρά ε τα άλλα. Υπάρχουν έξι συστατικά που παρέχουν τις δοικές
ονάδες για τις εφαρογές:
 ραστηριότητα (Activity) – Είναι το επίπεδο παρουσίασης (presentation layer) της
εφαρογής. Μια δραστηριότητα είναι ια απλή οθόνη της εφαρογής. Κάθε δραστηριότητα
υλοποιείται σαν ια κλάση που επεκτείνει (extends) την βασική κλάση ραστηριότητα
(Activity base class). Η συγκεκριένη κλάση προβάλει ια διεπαφή χρήστη (user interface)
αποτελούενη από Όψεις (Views) και ανταποκρίνεται σε Συβάντα (Events). Ένα Activity
είναι ισοδύναo ε ια Φόρα (Form) στην ανάπτυξη desktop εφαρογών.
 Υπηρεσία (Service) - Μια Υπηρεσία είναι κώδικας που τρέχει για εγάλο χρονικό διάστηα
και χωρίς διεπαφή χρήστη (UI), ενηερώνοντας τις πηγές δεδοένων και τις ορατές
ραστηριότητες (Activities), ενεργοποιώντας Ειδοποιήσεις (Notifications). Αυτές τρέχουν και
επεξεργάζονται δεδοένα ακόα και όταν οι ραστηριότητες της εφαρογής δεν είναι ενεργές
ή ορατές. Ένα καλό παράδειγα είναι ια εφαρογή που αναπαράγει ουσική από ια λίστα
ουσικών κοατιών (media player). Σε ια τέτοια εφαρογή, θα υπήρχαν κατά πάσα
πιθανότητα ία ή και παραπάνω ραστηριότητες που επιτρέπουν στον χρήστη να επιλέξει
τραγούδια και να τα αναπαράγει. .στόσο, η αναπαραγωγή από όνη της δεν θα έπρεπε να
διαχειρίζεται από την ραστηριότητα γιατί ο χρήστης θα περίενε την ουσική να συνεχίζει
να παίζει ακόη και ετά την πλοήγησή του σε ια νέα οθόνη. Σε αυτή τη περίπτωση, η
ραστηριότητα της αναπαραγωγής ουσικής θα ξεκινούσε ια Υπηρεσία (Service) για να
τρέξει στο παρασκήνιο και να συνεχίσει η ουσική να παίζει. Το σύστηα τότε θα κρατά την
Υπηρεσία αναπαραγωγής ενεργή έχρι να τελειώσει το κοάτι. Όταν πραγατοποιηθεί
σύνδεση σε ια Υπηρεσία, πορεί να υπάρξει επικοινωνία ε αυτή έσω ιας διεπαφής που
προσφέρεται από την Υπηρεσία. Για την Υπηρεσία ουσικής, αυτό θα επέτρεπε την παύση ή
την επιστροφή πίσω στο κοάτι (rewind) κλπ.
 Παροχέας Περιεχοένου (Content Provider) - Οι εφαρογές πορούν να σώζουν τα δεδοένα
τους σε αρχεία, σε ια βάση δεδοένων SLQLite ή ε οποιοδήποτε άλλο ηχανισό πορούν.
Ένας Παροχέας Περιεχοένου, ωστόσο, είναι χρήσιος ώστε τα δεδοένα ιας εφαρογής να
είναι διαθέσια και σε άλλες εφαρογές. Ένας Παροχέας Περιεχοένου είναι ια κλάση που
υλοποιεί ια συγκεκριένη οάδα εθόδων που επιτρέπουν σε άλλες εφαρογές να
αποθηκεύουν και να επανακτούν δεδοένα του τύπου που διαχειρίζεται ο Παροχέας
Περιεχοένου. Οι συσκευές Android περιλαβάνουν διάφορους εγγενείς Παροχείς
Περιεχοένου (Content Providers) που εκθέτουν τις χρήσιες βάσεις δεδοένων, όπως για
παράδειγα των στοιχείων των επαφών του χρήστη.
 Πρoθέσεις (Intents) - Το Android χρησιοποιεί ια ειδική κλάση που λέγεται Πρόθεση
(Intent) για να κινείται από οθόνη σε οθόνη. Η Πρόθεση περιγράφει τι θέλει η εφαρογή να
γίνει στη συνέχεια. Τα δυο πιο σηαντικά έρη της δοής δεδοένων της Πρόθεσης είναι η
ράση (Action) και τα δεδοένα βάσει των οποίων αυτή θα εκτελεστεί. Τυπικές τιές για ια
δράση είναι η MAIN (η κεντρική είσοδος της εφαρογής), VIEW, PICK, EDIT κλπ. Τα
δεδοένα εκφράζονται ως URI (Uniform Resource Indicator). Για παράδειγα, για να
εφανιστεί ια ιστοσελίδα στον φυλλοετρητή (browser), δηιουργείται ια Πρόθεση ε
ράση VIEW και τα δεδοένα ως ένα URL.

New Intent (android.content.Intent.VIEW_ACTION;
ContentURI.create(“http://addev.org”));

Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

12
Υπάρχει ια σχετική κλάση που λέγεται Φίλτρο Πρόθεσης (IntentFilter). Ενώ ια Πρόθεση
είναι στην ουσία ένα αίτηα για να γίνει κάτι, το Φίλτρο Πρόθεσης είναι ια περιγραφή του τι είναι
δυνατόν να διαχειριστεί ένας έκτης Πρόθεσης (Ιntent Ρeceiver). Μια ραστηριότητα που είναι σε
θέση να προβάλει πληροφορίες επικοινωνίας για ένα άτοο, θα ανακοίνωνε ε ένα Φίλτρο Πρόθεσης
(IntentFilter) ότι γνωρίζει πως να διαχειριστεί την VIEW_ACTION όταν τα δεδοένα
αντιπροσωπεύουν ένα άτοο. Οι ραστηριότητες ανακοινώνουν τα Φίλτρα Πρόθεσης (IntentFilters)
στο AndroidManifest.xml αρχείο.
Η πλοήγηση από οθόνη σε οθόνη πετυχαίνεται ε Προθέσεις. Για να πλοηγηθεί κανείς προς
τα προς, ια ραστηριότητα καλεί την startActivity(myIntent). Το σύστηα τότε κοιτά στα Φίλτρα
Προθέσεων (Intent Filters) για όλες τις εγκατεστηένες εφαρογές και διαλέγει την ραστηριότητα
που τα Φίλτρα Πρόθεσης ταιριάζουν καλύτερα ε την παράετρο ‘MyIntent’ της κλήσης. Η νέα
ραστηριότητα ενηερώνεται για την Πρόθεση και ξεκινά. Η διαδικασία της υλοποίησης των
Προθέσεων συβαίνει κατά τον χρόνο εκτέλεσης της εφαρογής, όταν δηλαδή καλείται η
startActivity, πράγα που προσφέρει 2 πλεονεκτήατα – κλειδιά:
1. Οι ραστηριότητες πορούν να επαναχρησιοποιούν κάποια λειτουργικότητα από άλλα
τήατα του κώδικα απλά κάνοντας ένα αίτηα υπό την ορφή ιας πρόθεσης.
2. Οι ραστηριότητες πορούν να αντικατασταθούν οποιαδήποτε στιγή από ια νέα
ραστηριότητα ε ένα αντίστοιχο Φίλτρο Πρόθεσης.
 έκτες Πρόθεσης (Intent Receiver) - Χρησιοποιούνται για να εκτελεστεί ια εφαρογή σε
απάντηση ενός εξωτερικού συβάντος (external event), για παράδειγα, όταν το τηλέφωνο
χτυπά, ή όταν το δίκτυο είναι διαθέσιο, ή όταν είναι εσάνυχτα. Οι έκτες Πρόθεσης δεν
προβάλουν ια διεπαφή χρήστη (UI), ωστόσο πορούν να προβάλουν Ειδοποιήσεις
(Notifications) για να ειδοποιήσουν τον χρήστη για κάτι σηαντικό που συνέβη. Οι έκτες
Πρόθεσης είναι επίσης καταχωρηένοι στο AndroidManifest.xml, αλλά πορούν επίσης
καταχωρηθούν από τον κώδικα χρησιοποιώντας την Context.registerReceiver(). Η εφαρογή
δεν χρειάζεται να τρέχει για να κληθούν οι έκτες Πρόθεσης που έχει. Το σύστηα θα κινήσει
την εφαρογή, αν χρειαστεί, όταν ένας έκτης Πρόθεσης ενεργοποιηθεί. Οι εφαρογές
πορούν επίσης να στέλνουν τις δικές τους Ανακοινώσεις Πρόθεσης (Intent Broadcasts) σε
άλλους ε την Context.broadcastIntent().
 έκτες Μετάδοσης (Broadcast Receivers) - Βασική Κλάση για τον κώδικα, που θα λαβάνει
τις Προθέσεις (Intents) που στέλνονται από το sendBroadcast (). Μπορεί είτε δυναικά να
καταχωρηθεί ια περίπτωση αυτής της κατηγορίας ε Context. registerReceiver(), είτε να
καταχωρηθεί ένα στιγιότυπο αυτής της κλάσης σε ια εφαρογή έσω της ετικέτας
<receiver> στο AndroidManifest.xml. Οι έκτες Μετάδοσης αρχίζουν αυτόατα την
εφαρογή αποκρινόενοι σε ια εισερχόενη Πρόθεση, που στην ουσία κάνει την εφαρογή,
ια εφαρογή οδηγούενη από τα γεγονότα.
Υπάρχουν δύο σηαντικές κατηγορίες Μεταδόσεων (Broadcasts) που πορούν να
παραληφθούν:
1. Οι Κανονικές Μεταδόσεις - Normal broadcasts (που στέλνονται ε
Context.sendBroadcast) είναι απολύτως ασύγχρονες. Όλοι οι έκτες της Μετάδοσης
οργανώνονται σε ια απροσδιόριστη διαταγή, συχνά συγχρόνως. Αυτό είναι
αποδοτικότερο, αλλά σηαίνει ότι οι έκτες δεν πορούν να χρησιοποιήσουν το
αποτέλεσα ή να αποβάλουν APIs που συπεριλαβάνονται εδώ.
2. Οι Μεταδόσεις ιαταγής - Ordered broadcasts (που στέλνονται ε
Context.sendOrderedBroadcast) παραδίδονται σε έναν έκτη τη φορά. εδοένου ότι
κάθε έκτης εκτελείται στη συνέχεια, πορεί να διαδώσει ένα αποτέλεσα στον
επόενο έκτη, ή πορεί να αποβάλει τη Μετάδοση έτσι ώστε να η περάσει σε
άλλους δέκτες. Ο χειρισός της εκτέλεσης των εκτών διαταγής πορεί να γίνει ε
την ιδιότητα του Φίλτρου Προθέσεων Ταιριάσατος (Matching Intent-Filter). Οι
έκτες ε την ίδια προτεραιότητα τρέχουν ε τυχαία σειρά.
 Ειδοποιήσεις( Notifications) - Είναι ένα πλαίσιο ειδοποιήσεων χρήστη. Oι Ειδοποιήσεις
δίνουν την δυνατότητα ειδοποίησης του χρήστη χωρίς να υπάρξει παρεβολή στην τρέχουσα
ραστηριότητα (Activity) και του παρέχουν τις εξής δυνατότητες :
1. Να δηιουργήσει ένα νέο εικονίδιο status bar.
Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

13
2. Να επιδείξει τις πρόσθετες πληροφορίες (και να προωθήσουν ια πρόθεση) στο
εκτεταένο παράθυρο status bar.
3. Να ενεργοποιήσει τα φώτα/LEDs.
4. Να δονηθεί το τηλέφωνο.
5. Να ενεργοποιήσει διάφορους ήχους (ringtones, ήχοι του τηλεφώνου κ.τ.λ).
Οι Ειδοποιήσεις είναι ο προτιότερος τρόπος για τα αόρατα τήατα της εφαρογής (έκτες
ετάδοσης, Υπηρεσίες, και ανενεργές ραστηριότητες) για να προειδοποιήσουν τους χρήστες ότι
κάποια γεγονότα που έχουν εφανιστεί απαιτούν την προσοχή του χρήστη. Παραδείγατος χάριν,
όταν λαβάνει ια συσκευή ένα ήνυα κειένων ή ια εισερχόενη κλήση, προειδοποιεί ε τη
λάψη των φώτων, την παραγωγή ήχων, την επίδειξη εικονιδίων ή ε την εφάνιση ηνυάτων
διαλόγου.
Ο Χειριστής Ειδοποιήσεων (Notification Manager) είναι ια Υπηρεσία συστήατος που
χρησιοποιείται για να χειριστεί τις ειδοποιήσεις. Καλείται έσω της εθόδου getSystemService,
όπως φαίνεται παρακάτω:

String svcName = Context.NOTIFICATION_SERVICE;
NotificationManager notificationManager;
NotificationManager = (NotificationManager) getSystemService (svcName);
Χρησιοποιώντας το Χειριστή Ειδοποιήσεων, πορούν να ενεργοποιηθούν νέες ειδοποιήσεις, να
τροποποιηθούν οι υπάρχουσες ή να αφαιρεθούν εκείνες που δεν είναι απαραίτητες ή επιθυητές.

Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

14

2 Ιστορικά - Εκδόσεις και χαρακτηριστικά

Η πρώτη έκδοση του 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 δεν υποστήριζε
ακόη την χρήση κουπιών αφής, παρά όνο την χρήση των κλασσικών ‘ σκληρών’ κουπιών της
συσκευής. [2]

2.1 Android 1.5 CUPCAKE
Τον Μάιο του 2009 εφανίστηκε η έκδοση Android 1.5, ονόατι ‘Cupcake’ το λογότυπο της
οποίας φαίνεται και στην [Εικόνα 8].


Εικόνα 9: Λογότυπο Android 1.5 CUPCAKE


Το ‘Cupcake’ εισάγει κάποια καινούργια χαρακτηριστικά και ανανεώσεις στην διεπιφάνεια χρήστη
(User Interface):
 Ικανότητα για καταγραφή και παρακολούθηση βίντεο έσα από την λειτουργία της
βιντεοκάερας, εταφόρτωση βίντεο στο YouTube και φωτογραφιών στο Picasa απευθείας
από το τηλέφωνο, καινούργιο αλακό πληκτρολόγιο (αφής) ε πρόβλεψη κειένου
 Υποστήριξη προτύπου Bluetooth A2DP και AVRCP
 Ικανότητα αυτόατης σύνδεσης σε ικροσυσκευή Bluetooth από ια συγκεκριένη απόσταση
 Καινούργια widgets και φάκελοι που πορούν να δηοσιευτούν στην αρχική οθόνη
 Κινούενες εταβάσεις οθόνης
Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

15

2.2 Android 1.6 DONUT
To ‘Donut’, Android 1.6, ήρθε τον Σεπτέβριο του 2009.


Εικόνα 10: Λογότυπο Android 1.6 DONUT

Η έκδοση αυτή εισάγει κάποια καινούργια χαρακτηριστικά όπως:
 Βελτιωένο Android Market
 Ενσωατωένη φωτογραφική ηχανή, βιντεοκάερα και διεπαφή (interface) γκαλερί
 Η γκαλερί επιτρέπει πλέον στους χρήστες την επιλογή πολλαπλών φωτογραφιών προς
διαγραφή
 Ανανεωένη φωνητική αναζήτηση, ε ταχύτερη απόκριση και βαθύτερη ολοκλήρωση ε
εγγενείς (native) εφαρογές, συπεριλαβανοένης της δυνατότητας κλήσης επαφών
 Ανανεωένη αναζήτηση ε την δυνατότητα αναζήτησης σελιδοδεικτών, ιστορικού, επαφών
και στο διαδίκτυο από την αρχική οθόνη
 Ανανεωένη υποστήριξη τεχνολογιών για CDMA/EVDO, 802.1x, VPNs και ε ηχανή
ετατροπής κειένου σε οιλία (text-to-speech)
 Υποστήριξη για ανάλυση οθονών WVGA
 Βελτιώσεις στην ταχύτητα αναζήτησης και των εφαρογών της φωτογραφικής ηχανής

Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

16
2.3 Android 2.0 ECLAIR
Ακολουθεί το ‘Eclair’, Android 2.0 τον Νοέβριο 2009, ε τις επανεκδόσεις του σε Android
2.0.1 τον εκέβριο 2009 (Eclair 0.1) και τον Ιανουάριο 2010 ε το Android 2.1 (Eclair MR1).


Εικόνα 11: Λογότυπο Android 2.0 ECLAIR

Ανάεσα στις άλλες αλλαγές είναι και:
 Βέλτιστη ταχύτητα υλικού
 Υποστήριξη για περισσότερες οθόνες και αναλύσεις
 Βελτιωένη διεπιφάνεια χρήστη
 Καινούργια διεπιφάνεια χρήσης για την ηχανή αναζήτησης και υποστήριξη του προτύπου
HTML5
 Καινούργιες λίστες επαφών
 Καλύτερος λόγος άσπρου – αύρου για φόντα
 Βελτιωένοι χάρτες Google (google maps) 3.1.2
 Υποστήριξη Microsoft Exchange
 Ενσωατωένη υποστήριξη flash για την Camera
 Ψηφιακή εγέθυνση (zoom)
 Κλάση MotionEvent βελτιωένη ώστε οι κατασκευαστές να πορούν να παρακολουθούν
αποτελεσατικότερα τα γεγονότα πολλαπλής αφής
 Ανανεωένο εικονικό πληκτρολόγιο
 Bluetooth 2.1

Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

17

2.4 Android 2.2 FROYO
Ακολουθεί το Android 2.2 ε το όνοα ‘Froyo’ τον Μάιο του 2010.


Εικόνα 12: Λογότυπο Android 2.2 FROYO
Η έκδοση FROYO, ανάεσα σε άλλες αλλαγές, περιλαβάνει:
 Βελτιστοποιήσεις στην ταχύτητα γενικά του λειτουργικού συστήατος, στην νήη και στην
απόδοση
 Ενσωάτωση στην ηχανή αναζήτησης, της ηχανής Javascript του Chrome V8
 Αυξηένη υποστήριξη Microsoft Exchange (σε πολιτικές ασφαλείας, συγχρονισού
ηερολογίου, auto – discovery, GAL look-up, remote wipe)
 Βελτιωένος προωθητής εφαρογής (application launcher), ε συντοεύσεις προς τις
εφαρογές τηλεφώνου και εφαρογές της Μηχανής Αναζήτησης
 Σύνδεση USB και λειτουργία δυναικής ζώνης (hotspot) WiFi
 Ανανεωένη εφαρογή Αγοράς (Market) ε αυτόατη ανανέωση
 Επιλογή για απαγόρευση πρόσβασης δεδοένων έσω ενός δικτύου κινητής τηλεφωνίας
 Γρήγορη εναλλαγή ανάεσα σε πολλαπλές γλώσσες του πληκτρολογίου και των λεξικών τους
 Φωνητική κλήση και διαοιρασός επαφών ε Bluetooth
 Υποστήριξη για αριθητικούς και αλφαριθητικούς κωδικούς
 Η ηχανή αναζήτησης πορεί να αποτυπώσει κινούενα GIFs
 Υποστήριξη για πεδία εταφόρτωσης αρχείων στην ηχανή αναζήτησης
 Υποστήριξη για εγκατάσταση εφαρογών στην επεκτάσιη νήη 14
 Υποστήριξη Adobe Flash 10.1

Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

18

2.5 Android 2.3 GINGERBREAD
Η τρέχουσα έκδοση για κινητά smartphones, από τον εκέβριο του 2010 έχρι και την
στιγή που γράφεται αυτή η εργασία, είναι η έκδοση Android 2.3 ε το όνοα “Gingerbread” ε την
επανέκδοση του σε Android 2.3.3 τον Φεβρουάριο του 2011.


Εικόνα 13: Λογότυπο Android 2.3 GINGERBREAD


Οι αλλαγές που έχουν γίνει είναι οι ακόλουθες:
 Βελτιωένο UI (User Interface) για απλότητα και ταχύτητα
 Πιο γρήγορη, πιο διαισθητική εισαγωγή κειένου
 Επιλογή λέξεων και αντιγραφή/επικόλληση ε ένα άγγιγα
 Βελτιωένη ενεργειακή διαχείριση, υποστήριξη NFC (Near Field Communication)
 Υποστήριξη video κλήσης
 Υποστήριξη του πρωτόκολλου WebM για αναπαραγωγή video

2.6 Android 3.0 HONEYCOMB
Η πιο πρόσφατη έκδοση, είναι η έκδοση Android 3.0 ε το όνοα “Honeycomb”, η οποία
είναι στην διάθεση των χρηστών και προγραατιστών από τον Φεβρουάριο του 2011, λίγες έρες
ετά την επανέκδοση του Android 2.3.3, και προορίζεται αποκλειστικά για ταπλέτες, στις οποίες
γίνεται αναλυτικότερη αναφορά στην συνέχεια.

Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

19

Εικόνα 14: Λογότυπο Android 3.0 HONEYCOMB

Μερικά από τα χαρακτηριστικά του είναι:
 Υποστηρίζει διπύρηνους και τετραπύρηνους επεξεργαστές
 Βελτιωένη υποστήριξη των ταπλετών
 Ανάπτυξη λογισικού (scripting) για 3D, σε γλώσσα η οποία καλείται "Renderscript"
 Video chat έσω Google Talk
 Google eBooks
 "Ιδιωτική περιήγηση"

2.7 Android Ice Cream Sandwich
Η επόενη έκδοση όπως ανακοινώθηκε στο Google I/O 2011 στο San Francisco, πρόκειται να
είναι το “ Ice Cream Sandwich”, το οποίο αποτελεί την προσπάθεια της εταιρίας για ενιαίο
λειτουργικό σύστηα για όλες τις συσκευές.

Εικόνα 15: Λογότυπο Android Ice Cream Sandwich
Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

20

Θα είναι διαθέσιο στο τελευταίο τρίηνο του 2011 και φιλοδοξία της Google είναι να
χρησιοποιηθεί σε smartphones, tablets, laptops, netbooks κλπ. Το Android Ice Cream Sandwich θα
φέρει αζί του “ολογραφικό” 3D UI, πλουσιότερα widgets, ενισχυένο multitasking, νέα APIs και
φυσικά θα είναι πλήρως open source. Μια καλή πρώτη γεύση του Android Ice Cream Sandwich
δόθηκε όταν η Google παρουσίασε τη λειτουργία face tracking, η οποία δεν περιορίζεται όνο στις
κινήσεις του κεφαλιού, αλλά ακολουθεί τα άτια, τη ύτη και το στόα. Στην περίπτωση που
πραγατοποιείται video κλήση, “ζουάρει” αυτόατα προς αυτόν που ιλά εκείνη τη στιγή. Ένα
ακόα ενδιαφέρον στατιστικό που πρέπει να τονιστεί είναι τα ποσοστά των Android εκδόσεων που
είναι εγκατεστηένες σε όλες τις Android συσκευές, όπως αυτά ανακοινώθηκαν για τον Απρίλιο του
2011 [Εικόνα 15]. [6][7]


Εικόνα 16: Ποσοστά των εγκατεστηένων εκδόσεων στις Android συσκευές

Όπως φαίνεται στην [Εικόνα 15] πιο πάνω, το Froyo είναι εγκατεστηένο στο εγαλύτερο
έρος των συσκευών συγκεντρώνοντας το 65.9% αυτών. Το νεότερο Gingerbread συγκεντρώνει όλις
το 3% των συσκευών λόγω του ότι δεν έχει περάσει πολύς καιρός από την επίσηη κυκλοφορία του.
Το Honeycomb, ως ια έκδοση αποκλειστικά για ταπλέτες και ουσιαστικά ε ηδαινό χρόνο
κυκλοφορίας, βρίσκεται στο 0.3%.
Τέλος οι παλαιότερες εκδόσεις του Android (Cupcake, Donut, Eclair) ε τον καιρό θα
συρρικνώνονται όπως είναι λογικό, παρόλο που το Eclair εξακολουθεί να είναι εγκατεστηένο στο
24.5% των Android συσκευών. Το Android έχει καταπληκτικά χαρακτηριστικά και πολλαπλές
δυνατότητες, ενώ συνεχίζει να εκσυγχρονίζεται. Επιπρόσθετα, παρέχει καταπληκτικά εργαλεία για
την ανάπτυξη εφαρογών που κάνουν την ζωή του κατασκευαστή πραγατικά πολύ πιο εύκολη.
Παρακάτω παρουσιάζεται η βασική αρχιτεκτονική της πλατφόρας ε τέτοιο τρόπο, ώστε να βοηθά
στην κατανόηση της πρωτοτυπίας της και γίνεται συζήτηση των λόγων για τους οποίους το Android
ευκολύνει την ζωή του προγραατιστή, ενώ ταυτόχρονα του παρέχει πάπολλες επιλογές και
δυνατότητες για την δηιουργία πρωτοποριακών εφαρογών. [5]

Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

21
2.8 Εφαρογές και Widgets

Στο υψηλότερο επίπεδο της στοίβας Android, φιγουράρουν οι εφαρογές και τα widgets.
Αυτό είναι που βλέπουν οι χρήστες χωρίς να γνωρίζουν την όλη από κάτω διαδικασία. Αυτές είναι
εφαρογές που γράφουν οι κατασκευαστές λογισικού, εφαρογές που ήδη είναι εγκατεστηένες στο
τηλέφωνο ή που ο χρήστης παίρνει από το Android Market. Οι εφαρογές είναι προγράατα που
καταλαβάνουν ολόκληρη την οθόνη και αλληλεπιδρούν ε το χρήστη. Από την άλλη τα widget
λειτουργούν σε ικρά τετράγωνα έσα στην αρχική οθόνη – εφαρογή.

2.9 Γιατί Android

Εν κατακλείδι, παρατίθενται εδώ κάποια σηεία και σκέψεις για το Android, σαν ια
τελευταία απόδειξη της πρωτοπορίας του στο χώρο και της ισχυρής δυναικής του. Γιατί Android
λοιπόν;
 Είναι ια πραγατικά ανοιχτή, ελεύθερη πλατφόρα ανάπτυξης, βασισένη στο Linux.
 ιαθέτει αρχιτεκτονική βασισένη σε δοικά στοιχεία τα οποία πορούν να τροποποιηθούν,
να ολοκληρωθούν και να προσαροστούν στις ανάγκες κάθε κατασκευαστή και κατά
συνέπεια χρήστη.
 Πάπολλες ενσωατωένες υπηρεσίες που πορούν να κάνουν την επειρία του χρήστη
οναδική, όπως υπηρεσίες βασισένες στην τοποθεσία, πανίσχυρη SQL βάση δεδοένων,
ηχανή αναζήτησης και χάρτες.
 Αυτόατη διαχείριση του κύκλου ζωής ιας εφαρογής, ε πολλαπλές δικλείδες ασφαλείας
ανάεσα στα προγράατα. Βελτιστοποιήσεις στον τοέα διαχείρισης νήης και χαηλής
κατανάλωσης σε τέτοιο βαθό που δεν έχει ξανασυναντηθεί σε άλλο smartphone.
 Υψηλής ποιότητας γραφικά και ήχος.
 Φορητότητα ανάεσα σε ένα ευρύ φάσα ήδη υπάρχοντος υλικού αλλά και ελλοντικού.
Αυτό έρχεται σαν απόρροια του γεγονότος ότι όλα τα προγράατα γράφονται σε Java και
εκτελούνται από την εικονική ηχανή Dalvik. Επιπρόσθετα οι οθόνες πορούν να
τροποποιηθούν κατάλληλα για να υποστηρίζουν οποιαδήποτε ανάλυση, έγεθος και
προσανατολισό οθόνης.
Αυτοί είναι ερικοί όνο από τους λόγους για τους οποίους έγινε η επιλογή του Android ως
πλατφόρα ανάπτυξης σε αυτή την πτυχιακή εργασία. Ο οποιοσδήποτε χρήστης θα πορούσε να
επαληθεύσει όλα τα παραπάνω, χρησιοποιώντας απλά ένα τηλέφωνο ή ια ταπλέτα που τρέχει το
λειτουργικό αυτό σύστηα.



Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

22
3. Κινητά τηλέφωνα Android

3.1 Η Πρώτη Συσκευή Android

Η πρώτη συσκευή που «έτρεχε» το λειτουργικό σύστηα Android ήταν το HTC Dream,
γνωστό και ως T-Mobile G1, που έκανε την εφάνιση του στα ράφια των καταστηάτων προς το
τέλος του 2008. Στη συνέχεια, πολλά νέα Android κινητά έκαναν την εφάνιση τους ε “ναυαρχίδα”
αυτών, το Motorola DROID (έκδοση CDMA), το οποίο από το Νοέβρη του 2009 διατίθεντο
αποκλειστικά από την Αερικανική εταιρία τηλεπικοινωνιών Verizon, ενώ η GSM έκδοση του το
Motorola Milestone, από διάφορους παρόχους κινητής τηλεφωνίας ανά τον κόσο. Στην αυγή του
2010, η Google τάραξε τα νερά στον χώρο των τηλεπικοινωνιών ε την ανακοίνωση του Google
Nexus One, ιας καινοτόου συσκευής που έτρεχε την νεότερη έκδοση του Android, 2.1 (που
θεωρείται κυρίως βελτίωση της 2.0 ή Eclair). Κατασκευασένο από την HTC, το Nexus One
ξεχωρίζει για τα Live Wallpapers (κινούενα backgrounds νέου σχεδιασού που αλληλεπιδρούν ε τις
κινήσεις δαχτύλου του χρήστη) και τη νέα αναβαθισένη Έκθεση εικόνων και βίντεο (gallery). Η
συσκευή έχει επίσης, το πλεονέκτηα της άεσης και απροβληάτιστης συνεργασίας ε όλες τις
υπηρεσίες της Google (Gmail, Google Contacts, Coogle Calendar κ.α.). Στην [Εικόνα 16] πορούε
να δούε ερικές τυπικές συσκευές Android . Παρακάτω αναφέρονται ερικά από τα πλεονεκτήατα
των Android κινητών τηλεφώνων.


Εικόνα 17: Τυπικές Συσκευές Android


3.2 Εναλλακτικά Πληκτρολόγια

Από πληκτρολόγια που προβλέπουν λέξεις όπως το SwiftKey, έχρι το καινοτόο Swype και
το 8pen, υπάρχουν πολλές διαφορετικές επιλογές πληκτρολογίου για το Android. Πληκτρολογώντας
σε ένα ικροσκοπικό πληκτρολόγιο κινητού δεν αποτελεί διασκέδαση για κανένα, οπότε είναι
Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

23
σπουδαίο που το Android προσφέρει τόσες πολλές επιλογές για να το κάνει όσο πιο ανώδυνο γίνεται
και πολύ εύκολο στην εγκατάσταση.

3.3 Αυτοατοποίηση

Μια από τις πιο ισχυρές και χρήσιες εφαρογές στο Android είναι το Tasker, το
πρόγραα αυτοατοποίησης που επιτρέπει τη ετατροπή του κινητού σε σούπερ κινητό.
Επιτρέπει την ενεργοποίηση και την απενεργοποίηση των ρυθίσεων για συγκεκριένες
εφαρογές, ανάλογα την τοποθεσία, την ώρα και σχεδόν οποιαδήποτε άλλη πιθανή
κατάσταση. Με τις σωστές εντολές, το Tasker πορεί να έχει πρόσβαση ακόα και στις πιο
βαθιές και σκοτεινές ρυθίσεις του κινητού, κάτι το οποίο δεν πορούν να το κάνουν τα άλλα
λειτουργικά.

3.4 Προσαροσένο Γραφικό Περιβάλλον

Οι χρήστες του Android έχουν την δυνατότητα ε τα Home Launchers να πορούν να
τροποποιήσουν την αρχική τούς οθόνη. Οι Home Launchers προσθέτουν όλα τα είδη επιπλέον
χαρακτηριστικών για τις αρχικές οθόνες του κινητού όπως χειρονοίες, διαφόρων ειδών
συντοεύσεις, ακόα και χαηλού επιπέδου ρυθίσεις που πορούν να βοηθήσουν στην αύξηση της
ταχύτητας ενός παλιού κινητού. Είτε χρησιοποιείται το πολύ γρήγορο LauncherPro, είτε το
απίστευτα παραετροποιήσιο ADWLauncher, είτε το GoLauncher, οι Home Launchers προσφέρουν
ένα σωρό πρόσθετες επιλογές στην συσκευή.

3.5 Widgets

Σίγουρα καταλαβάνουν κάποιο χώρο, αλλά δεν υπάρχει υποκατάστατο για την
ευκολία του να υπάρχει ένα εγάλο widget ε τον καιρό στην αρχική οθόνη ή ένα widget
ουσικής που να δείχνει το κοάτι που παίζει εκείνη την στιγή. Ακόα πιο χρήσιο είναι
τα to-do-list widgets, που βοηθούν περισσότερο στην παραγωγικότητα του χρήστη και την
κάνουν πιο αποτελεσατική. [Εικόνα 17]
Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

24

Εικόνα 18: Πώς παρουσιάζεται η αρχική οθόνη ιας εφαρογής Widgets


3.6 Αναιρούενα Μέσα Αποθήκευσης και Μπαταρία

εν είναι έρος του Android λογισικού απαραίτητα, αλλά η ανοιχτού λογισικού
φύση του δίνει αρκετά πλεονεκτήατα όπως η αφαίρεση και αναβάθιση της παταρίας και
της κάρτας νήης. Αν διαπιστωθεί ότι έχει φτάσει στο όριο του χώρου αποθήκευσης στο
iPhone, δεν υπάρχει άλλη δυνατότητα εκτός της διαγραφής, ενώ στο Android γίνεται
επέκταση του χώρου αποθήκευσης ε την εισαγωγή ιας εγαλύτερης κάρτας νήης.
Παρόοια, η αντικατάσταση της παταρίας ε ια εγαλύτερης διάρκειας, θα κάνει το κινητό
να κρατήσει ακόα περισσότερο χωρίς να χρειαστεί φόρτιση [Εικόνα 18].


Εικόνα 19: Φωτογραφία ιας καθηερινής κάρτας νήης

Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

25


3.7 Ασύρατη Εγκατάσταση Εφαρογών

Η αναζήτηση και η ανακάλυψη νέων εφαρογών πρέπει να είναι κάτι το διασκευαστικό και
όχι να αποτελεί πρόκληση λόγω ενός ικροσκοπικού App Store. Η περιήγηση στο App Store και το
Cydia App Store δεν είναι και τόσο διασκεδαστική έσω του iPhone και είτε θα πρέπει να γίνει
κατέβασα (download) των εφαρογών στο κινητό, είτε να γίνει σύνδεση ε το iTunes για τον
συγχρονισό. Με το νέο Android Market ή σελίδες τρίτων όπως το AppBrain, είναι δυνατή η
αναζήτηση ιας εφαρογής και ε το πάτηα ενός κουπιού γίνεται αυτόατα η εγκατάσταση στο
κινητό, ώστε να είναι έτοιη προς χρήση την επόενη φορά. Τι πιο βολικό από αυτό;

3.8 Προσαροσένες ROM


Αν και υπάρχουν πολλές εφαρογές τρίτων στο Android που δίνουν προηγένα
χαρακτηριστικά, ένα από τα πιο ενδιαφέροντα πράγατα σχετικά ε το λειτουργικό αυτό και το ότι
είναι ανοιχτού κώδικα, είναι το γεγονός ότι οι άνθρωποι πορούν να το πάρουν, να το «πειράξουν»
και να εγκαταστήσουν την δικιά τους έκδοση αντί για αυτή που είχε το κινητό εξαρχής. Είτε
πρόκειται για την γεάτη χαρακτηριστικά CyanogenMod, είτε για την γεάτη γραφικά MIUI ROM,
δεν υπάρχει όριο στο πόσο πορεί να «πειραχτεί» το λειτουργικό Android. Όπως και ε τους
Launchers, αυτό δίνει την δυνατότητα για πολλές έξτρα ρυθίσεις συστήατος που δεν θα πορούσαν
να γίνουν σε άλλα λειτουργικά και τα κάνει εύκολα προσβάσια σε όλους. Είτε «πειράζουν» την
ταχύτητα του κινητού, είτε χαρακτηριστικά όπως το Radio FM, οι προσαροσένες ROM είναι ένα
από τα εγαλύτερα πλεονεκτήατα του Android.

3.9 Έλεγχος του Τηλεφώνου από τον Υπολογιστή σου

Υπάρχουν αρκετές εφαρογές που επιτρέπουν τον έλεγχο ενός Android κινητού από τον
υπολογιστή, είτε απλά πρόκειται για αποστολή κάποιου ηνύατος κειένου από τον Chrome, είτε
πρόσβασης σε άλλες λειτουργίες απευθείας από έναν web browser. Μια από τις καλύτερες εφαρογές
είναι το LazyDroid. Με αυτόν τον τρόπο δίνεται η δυνατότητα χρήσης ια ξεχωριστής εφαρογής, η
οποία έχει πρόσβαση σε όλες τις βασικές λειτουργίες.

3.10 Flash Player

Για την πλοήγηση στο Internet είναι περισσότερο από απαραίτητη η χρήση του Flash.
Ουσιαστικά, αποτελεί τη βάση της πλοήγησης. Είτε πρόκειται για ια σελίδα εξ’ ολοκλήρου
φτιαγένη σε Flash, είτε για βίντεο, είτε για παιχνίδια, η εγκατάσταση του Flash στο κινητό ή το
Τablet δίνει πρόσβαση σε πολλά πράγατα που διαφορετικά θα ήταν αδύνατη.

Το Flash είναι τόσο
διαδεδοένο, που η έλλειψη του ισοδυναεί ουσιαστικά ε απουσία Internet [Εικόνα 19].


Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

26

Εικόνα 20: Πώς εφανίζεται το uninstall στο Android

3.11 Πραγατική Ενσωάτωση Εφαρογών

Το Google Voice πορεί να είναι διαθέσιο και για το iPhone, αλλά η επειρία δεν θα είναι
ποτέ ίδια ε αυτήν σε ένα κινητό Android. Άλλες εφαρογές για το iPhone, κάνουν ανακατεύθυνση
πάντα στον προεπιλεγένο dialer και εφαρογή email. Ακόα και αν ο χρήστης επιθυεί να
χρησιοποιήσει το Google Voice σαν κύριο, θα πρέπει να ανοίγει όνος του την εφαρογή κάθε
φορά. Στο Android, εφαρογές όπως το Google Voice ενσωατώνονται απευθείας ε το λειτουργικό.
Έτσι, κάθε φορά που πραγατοποιείται κλήση, περνάει από το Google Voices. Η πραγατική
ενσωάτωση, όπως αυτή, κάνει τις αρχικές εφαρογές του κινητού απολύτως απρόσκοπτες, κάτι το
οποίο δεν υπάρχει στο κλειδωένο iPhone.


Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

27
4 Ταπλέτες Android


Εικόνα 21: Ταπλέτες Android

4.1 Tablet PC: Με 3υο Λόγια

Μια ταπλέτα (Tablet PC) είναι ένας ηλεκτρονικός υπολογιστής εγέθους συνήθως 6 έως 10
ιντσών, η οποία έχει ως βασικά χαρακτηριστικά αυτά ενός κανονικού Η/Υ και συνήθως περιλαβάνει
ένα πλήρες λειτουργικό σύστηα. Ένα φορητό Tablet PC περιλαβάνει ια οθόνη αφής ως κύρια
έθοδο εισόδου δεδοένων και είναι σχεδιασένο έτσι ώστε να χρησιοποιείται για προσωπική
χρήση. Ο όρος Tablet PC έγινε γνωστός από ια παρουσίαση της Microsoft το 2001 όπου και
χρησιοποιήθηκε για πρώτη φορά.
Οι ταπλέτες χρησιοποιούν εικονικά πληκτρολόγια και αναγνώριση γραφής, έτσι ώστε να
είναι δυνατή η εισαγωγή κειένου έσω της οθόνης αφής. Όλες οι ταπλέτες έχουν δυνατότητα
ασύρατης σύνδεσης έσω Wi-Fi, αλλά και ενσύρατα στο διαδίκτυο. Το λογισικό τους
περιλαβάνει εφαρογές γραφείου, προγράατα περιήγησης στο διαδίκτυο, παιχνίδια, αλλά από την
στιγή που τρέχουν ολοκληρωένα λειτουργικά συστήατα, πορούν ουσιαστικά να
χρησιοποιήσουν οποιοδήποτε πρόγραα υποστηρίζει στο λειτουργικό τους. Συνήθως βέβαια, η
υπολογιστική δύναη αυτών των συστηάτων είναι περιορισένη, οπότε δεν είναι πάντα ικανά να
ανταπεξέλθουν στους πόρους που χρειάζονται ερικές πιο απαιτητικές εφαρογές, ε αποτέλεσα να
ην προσφέρουν την καλύτερη επειρία χρήσης. Σύφωνα ε έρευνες που πραγατοποιήθηκαν στις
αρχές του 2011, οι ταπλέτες βρίσκονται ακόα στο στάδιο εισαγωγής τους στην αγορά, αφού όνο
το 5% των Αερικάνων έχει στην κατοχή του ια, εκ των οποίων το 3% είναι οι συσκευές iPad της
Apple.

4.2 Ιστορική αναδροή.


Οι ταπλέτες υπάρχουν από το 2001, αλλά έγιναν δηοφιλέστερες ετά την έλευση του Apple
iPad, κερδίζοντας ένα σηαντικό ερίδιο του ενδιαφέροντος του κοινού. Ειδικά ε την έλευση των
Android ταπλετών που πλέον κυριαρχούν στην αγορά, αναένεται στο άεσο έλλον να
αντικαταστήσουν πλήρως τα netbooks, παίνοντας για τα καλά στην καθηερινότητα των χρηστών.
Έρευνα της εταιρίας Strategy Analytics έδειξε πως ως το 2015 η αγορά θα έχει κέρδος από τις
πωλήσεις των tablets 49 δισ. ολάρια [6]. Η αγορά ταπλετών τελευταίας τεχνολογίας θα είναι η
τρίτη σε δύναη αγορά, ετά από αυτή της τηλεόρασης και των προσωπικών ηλεκτρονικών
υπολογιστών. Η εταιρία ερευνών ανέφερε πως, σύφωνα ε τις προβλέψεις, θα έχουν πουληθεί 149
εκατούρια ονάδες ως το 2015, δηλαδή οι πωλήσεις θα αυξηθούν κατά 6,5 φορές από 2010.
Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

28
Παρακάτω φαίνεται καθαρά ο ρυθός αύξησης πωλήσεων των ταπλετών, σε σύγκριση ε όλα τα
άλλα είδη προσωπικών υπολογιστών από το 2009 [7] [Εικόνα 20].

Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

29
4.3 H Adobe φέρνει τις Touch Apps στις ταπλέτες Android


Εικόνα 23: To Touch Apps της Android

Τον Οκτώβριο 2011 η Adobe είχε παρουσιάσει την οικογένεια εφαρογών Touch Apps. Αυτή
περιλάβανε ία συλλογή 6 εργαλείων σχεδιασένων έτσι ώστε να κάνουν την χρήση αυτών
ευκολότερη και χρηστικότερη σε ταπλέτες.
Αυτές οι εφαρογές είναι διαθέσιες στο Android Market, για ταπλέτες που τρέχουν
Android 3.1 και πάνω. Το πακέτο περιλαβάνει εταξύ άλλων και τα Photoshop Touch, Collage and
Proto, καθένα από τα οποία κοστολογείται στα 9,99 δολάρια. Οι εφαρογές αυτές θα διαδραατίσουν
και κεντρικό ρόλο στην επικείενη πρωτοβουλία της Adobe, Creative Cloud, η οποία θα επιτρέπει
στους χρήστες να οιράζονται, να προβάλουν και να εταφέρουν αρχεία σε πολλαπλές συσκευές.
Αυτό είναι κάτι το οποίο δεν αναένεται να ξεκινήσει έχρι το πρώτο εξάηνο του επόενου έτους,
ενώ η πλήρης σουίτα των εφαρογών αφής για iOS χρήστες αναένεται να κυκλοφορήσει στις αρχές
του επόενου έτους.
Οι χρήστες ταπλετών Android θα πορούν πλέον να έχουν πρόσβαση σε όλες τις Apps
Touch, ε την Adobe, όως, να υποστηρίζει ότι για καλύτερα αποτελέσατα χρειάζεται τουλάχιστον
ία οθόνη 8,9 ιντσών ε ανάλυση 1280x800.

4.4 Η εξέλιξη των Tablets

Καθώς η αγορά των tablet pc (ή «ταπλέτες» όπως είναι αλλιώς γνωστές) ωριάζει, είναι
αναενόενο να υπάρχουν σηαντικές αλλαγές, τόσο στην εφάνιση όσο και στο «περιεχόενό»
τους. Παράλληλα, θα υπάρχουν και αναβαθίσεις στο λειτουργικό τους σύστηα, ε το Android 4.0
Οι νέες ταπλέτες που αναένονται ε το νέο έτος, προβλέπεται να είναι ακόα πιο λεπτές και
ελαφριές. Όσον αφορά τα οντέλα των 10 ιντσών, το βάρος θα κυαίνεται στα 540-590gr και το
πάχος τους δε θα ξεπερνάει το 1 εκατοστό. Τώρα, άλιστα, που έχει περάσει η επιτακτική ανάγκη της
Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

30
γρήγορης εφάνισης στην αγορά, οι κατασκευαστές των tablet pc αναένεται να δώσουν εγαλύτερη
έφαση στις λεπτοέρειες, τις οποίες υπόσχονταν από τα πρώτα κιόλας οντέλα τους, όπως η
ποιοτική απεικόνιση, η καθαρότητα του κειένου στην οθόνη, τα ηχεία, η θύρα υπέρυθρων (για χρήση
της ταπλέτας ως Τήλε-κοντρόλ). Η ποικιλία στα εγέθη θα συνεχίζει να υφίσταται, από 7 έως 10.1
ίντσες, καθώς δεν έχει διαορφωθεί ακόα σαφής προτίηση στους χρήστες. Επίσης αναένονται
ακόα χαηλότερες τιές, χάρη στο Amazon Kindle Fire των 199$, το οποίο πωλείται ελαφρώς
χαηλότερα του κόστους του. Σύφωνα ε το διευθύνοντα της Nvidia οι τιές των tablet pc που
χρησιοποιούν τον επεξεργαστή Tegra θα έχουν πέσει στα 299$ ως τα έσα του 2012.

4.4.1 Χρήση 4-πύρηνων επεξεργαστών

Η Nvidia έβγαλε τον περασένο Νοέβριο στην αγορά την πλατφόρα Tegra 3. Γνωστή ως
«project Kal-El», η πλατφόρα Tegra 3 περιέχει ένα 4πύρηνο επεξεργαστή ARM Cortex A9, ένα
πέπτο πυρήνα «χαηλής κατανάλωσης» για να ασχολείται ε «δευτερεύοντα» καθήκοντα, όπως η
ουσική και ένα 12πύρηνο επεξεργαστή GeForce για τα γραφικά. Αυτός ο «κινητήρας» είναι
παραπάνω από επαρκής για να φέρει τις ταπλέτες στην ίδια γραή εκκίνησης ε τα laptop. Απ’ ότι
φαίνεται το Asus Transformer Prime είναι το πρώτο tablet pc που θα τρέχει ε τον Tegra 3 της Nvidia.
Αυτή η ταπλέτα-laptop (εξ ου και η ονοασία Transformer) κυκλοφορεί στην τιή των 500
δολαρίων ε νήη 32GB. Τον Ιανουάριο του 2012 στη διεθνή έκθεση CES, αναένεται να
ανακοινωθούν και άλλες ταπλέτες που θα χρησιοποιούν τον Tegra 3.

4.4.2 Υψηλότερη ανάλυση

Απέναντι στα 1024 x 768 pixel του iPad 2, το οποίο δίνει 132 pixels ανά ίντσα, άλλα οντέλα,
όπως το Toshiba Thrive 7″ tablet προσφέρουν απεικόνιση στα 1280 x 800, που εκτοξεύει την
ανάλυση στα 255 pixel ανά ίντσα. Οργιάζουν οι φήες, ωστόσο, ότι το iPad 3 θα έχει οθόνη ε
απεικόνιση αντίστοιχη εκείνης του iPhone 4s, γεγονός το οποίο -αν επαληθευθεί- θα δώσει τη ρεβάνς
στην Apple.
Τα επιπλέον pixels είναι σηαντικά, καθώς απαλύνουν τις ακές στα γράατα ε
αποτέλεσα καθαρότερο κείενο στην οθόνη. Μέσα στο 2012 αναένεται σηαντική εξέλιξη στα
λειτουργικά συστήατα των tablet pc. Ήδη έχουν ακουστεί πολλά για το Android 4.0 -το
επονοαζόενο Icecream Sandwich- ε το οποίο η Google επιχειρεί να γεφυρώσει το κενό εταξύ των
smartphones που τρέχουν Android 2.x, και των tablets ε το Android 3.x. Η Asus έχει ανακοινώσει
ότι θα παρέχει ένα firmware upgrade για το Transformer Prime, το οποίο αυτή τη στιγή πωλείται ε
Android 3.2.
Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

31
4.5 Μια απλή εφαρογή στις ταπλέτες Android


Εικόνα 24: Χειρόγραφες σηειώσεις για ταπλέτες Android

Οι χρήστες των tablets σίγουρα θα έχουν διαβάσει κάποιο βιβλίο ή θα έχουν κρατήσει
χειρόγραφες σηειώσεις. Είναι απλά αγικό, να “κρατάς ένα βιβλίο” στα χέρια σου, να γυρίζεις τις
σελίδες και όλα αυτά ε τη βοήθεια ιας οθόνης αφής. Το ίδιο ισχύει και για τις σηειώσεις, που
σίγουρα δεν περιλαβάνουν καθηερινά θέατα, αλλά δηιουργικά θέατα, όπως επινόηση στίχων,
συγγραφή υθιστορηάτων ή ακόα και προσωρινά πρώια σχεδιαγράατα projects.

Όλα αυτά ε
ια ωραία ρετρό πινελιά, παρέχονται από το Antipaper Notes.

Μια εφαρογή για thinkers που θέλουν
να αποτυπώνουν όλες τις ιδέες τους σε χαρτί, για να ην τις ξεχνούν.

Περιέχει διάφορα χρώατα
“ολυβιών” για ζωγραφική, αλλά και ζου στο χαρτί ώστε να είναι δυνατή η συγγραφή ε πολύ
ικρούς χαρακτήρες.


Εικόνα 25: Μια ικρή ατιά στο γραφικό περιβάλλον του Antipaper


Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

32

5 Εργαλεία ανάπτυξης λογισικού

Μέσω του Android software development προκύπτουν ολοένα και νέες εφαρογές που
δηιουργούνται για το λειτουργικό σύστηα Android. Οι εφαρογές αναπτύσσονται συνήθως στη
γλώσσα προγραατισού Java που χρησιοποιεί το Android. Από τον Απρίλιο του 2011, έχουν
αναπτυχθεί για το Android πάνω από 200.000 εφαρογές , ε πάνω από 3 δισεκατούρια downloads
[8][9]. Η χρήση της πλατφόρας Android έχει επίσης αυξηθεί, γιατί προτιάται από τους
προγραατιστές των κινητών. Μια έρευνα τον Ιούνιο του 2011 έδειξε ότι πάνω από το 67% των
κινητών χρησιοποιούν εφαρογές που αναπτύχθηκαν ε χρήση της εν λόγω πλατφόρας.
Παρακάτω παρουσιάζονται τα πιο διαδεδοένα λογισικά για την ανάπτυξη εφαρογών σε
Android.
 Android SDK
 Native Development Kit
 App Inventor for Android
 Hyper Next Android Creator
Στις επόενες παραγράφους αναπτύσσεται αναλυτικά το κάθε ένα από τα παραπάνω λογισικά.

5.1 Android SDK
Το Android SDK παρέχει τα απαραίτητα εργαλεία για την ανάπτυξη προγραάτων
χρησιοποιώντας την γλώσσα προγραατισού Java. Τα χαρακτηριστικά του παρέχουν τεράστια
ευελιξία και δυνατότητα ανάπτυξης έξυπνων εφαρογών για κινητά τηλέφωνα, παρέχοντας
δυνατότητες ανάπτυξης σε επιχειρηατίες όλων των κλάδων, είτε πρόκειται για αυτοατοποίηση
πωλήσεων, ψυχαγωγία, παιχνίδια αλλά και κάθε άλλου είδους επιχειρήσεις. Ακόα, παρέχει APIs για
την χρήση web browser, εφάνιση δισδιάστατων και τρισδιάστατων γραφικών, δοηένη
αποθήκευση δεδοένων σε βάση δεδοένων, εφάνιση πολυεσικού υλικού (ήχος, βίντεο, εικόνες),
χρήση των τεχνολογιών GSM, Bluetooth, EDGE, 3G και WiFi, χρήση συσκευών όπως φωτογραφική
ηχανή, GPS, πυξίδα, επιταχυνσιόετρο.
Ένα σηαντικό γεγονός που ευνοεί την ανάπτυξη εφαρογών είναι πως το πακέτο Android
SDK συνεργάζεται ε το Eclipse και συνεπώς ο προγραατιστής πορεί εύκολα και γρήγορα να
βλέπει τις αλλαγές του κώδικα στον emulator που του παρέχει το Android SDK, χωρίς να χρειάζεται
να εξάγει κάθε φορά την εφαρογή και να την εγκαθιστά σε κινητό. Επίσης, ο emulator είναι πολύ
αξιόπιστος, καθώς έχει ακριβώς την ίδια συπεριφορά ε αυτή που θα είχε η εφαρογή εάν είχε
εγκατασταθεί σε ένα κινητό τηλέφωνο Android. Ένα άλλο σηαντικό πλεονέκτηα είναι το γεγονός
πως σε αναβαθίσεις του λογισικού, η εφαρογή εξακολουθεί να δουλεύει χωρίς την ανάγκη
επανασχεδιασού κάποιων σηαντικών κοατιών του κώδικα, που αφορούν την αλληλεπίδραση της
εφαρογής ε τα δοικά έρη-hardware- του κινητού τηλεφώνου. Παρακάτω, γίνεται ανάπτυξη του
εξοοιωτή (emulator).

Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

33
5.1.1 Μερικά από τα χαρακτηριστικά του SDK

To Android SDK είναι ένα πολύ χρήσιο εργαλείο για την εξερεύνηση των «ενδοτέρων» του
Android. Παρακάτω, φαίνονται τα βασικότερα χαρακτηριστικά του.
 Εφαρογή πλαισίου που επιτρέπει την επαναχρησιοποίηση και την αντικατάσταση
στοιχείων
 Βελτιστοποιηένη Dalvik εικονική ηχανή για κινητές συσκευές
 Ολοκληρωένο πρόγραα περιήγησης, το οποίο βασίζεται στο open source WebKit
 Βελτιστοποιηένα γραφικά, τα οποία τροφοδοτούνται από ια προσαροσένη βιβλιοθήκη
2D και 3D γραφικών ε βάση τις προδιαγραφές του OpenGL ES 1.0 (επιτάχυνση hardware
προαιρετικά)
 SQLite για δοηένη αποθήκευση δεδοένων
 Υποστήριξη πολυέσων για αρχεία ήχου, βίντεο, ακόα και εικόνων (MPEG4, H.264, MP3,
AAC, AMR, JPG, PNG, GIF)
 GSM Τηλεφωνία (εξαρτώενη από το hardware)
 Bluetooth, EDGE, 3G, WiFi (εξαρτώενα από το hardware).
 Φωτογραφική ηχανή, GPS, πυξίδα, και επιταχυνσιόετρο (εξαρτώενα από το hardware)
 Πλούσιο περιβάλλον ανάπτυξης, συπεριλαβανοένου ενός εξοοιωτή συσκευής, εργαλεία
για τον εντοπισό σφαλάτων, νήη και προφίλ απόδοσης όπως επίσης και ένα plugin για το
Eclipse IDE

5.1.2 Ο εξοοιωτής (emulator).

Προκειένου να γίνει ευκολότερη η διαδικασία της ανάπτυξης και αποσφαλάτωσης ιας
εφαρογής, το Android SDK περιλαβάνει έναν εξοοιωτή ιας εικονικής κινητής συσκευής, η οποία
τρέχει το λειτουργικό του Android. Έτσι δεν είναι η αναγκαία η ύπαρξη πραγατικής κινητής
συσκευής για την εκτέλεση και δοκιή των εφαρογών. Ο εξοοιωτής προσοοιώνει ένα εγάλο
πλήθος λειτουργιών ιας τυπικής συσκευής, η οποία τρέχει το Android:
 Παρέχει ια ποικιλία πλήκτρων πλοήγησης και ελέγχου
 Παρέχει ια οθόνη για την προβολή των εφαρογών που τρέχουν στον εξοοιωτή
 Επιτρέπει στις εφαρογές την χρήση των υπηρεσιών που προσφέρει η πλατφόρα του
Android, δηλαδή την κλήση άλλων εφαρογών, την πρόσβαση στο δίκτυο, την αναπαραγωγή
ήχου και βίντεο, την αποθήκευση και επαναφορά δεδοένων, την ειδοποίηση χρήστη, το
γραφικό περιβάλλον του Android.
Επίσης παρέχει ένα πλήθος λειτουργιών για την ευκολότερη αποσφαλάτωση:
 Κονσόλα για την καταγραφή της εξόδου του πυρήνα
 Προσοοίωση διακοπών (όπως η άφιξη SMS ηνύατος ή τηλεφωνικής κλήσης)
 Προσοοίωση καθυστέρησης και απώλειας στο κανάλι δεδοένων
 Προσοοίωση λήψης δεδοένων θέσης από την συσκευή GPS.

5.1.3 Άλλα εργαλεία του Android

Το Android SDK περιλαβάνει ερικά ακόη εργαλεία για την ανάπτυξη εφαρογών:
 Το Dalvik Debug Monitor Service (DDMS) το οποίο επιτρέπει την διαχείριση των διεργασιών
στον εξοοιωτή ή στην συσκευή. Συγκεκριένα δίνεται η δυνατότητα port-forwarding
υπηρεσιών, λήψη screenshots, εφάνιση πληροφοριών για τον σωρό και τα νήατα, logcat,
Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

34
εφάνιση πληροφοριών ράδιο και πληροφοριών διεργασιών, προσοοίωση εισερχόενων
κλήσεων και ηνυάτων, προσοοίωση δεδοένων θέσης κ.α.
 Την Android Debug Bridge (ADB) η οποία επιτρέπει την διαχείριση της κατάστασης του
εξοοιωτή ή της συσκευής. Μέσω του ADB είναι δυνατή η εκτέλεση εντολών φλοιού, η
διαχείριση της προώθησης θυρών και η αντιγραφή από και προς την συσκευή ή τον
εξοοιωτή.
 Το Android Asset Packaging Tool (AAPT) το οποίο δίνει την δυνατότητα δηιουργίας .apk
αρχείων τα οποία περιέχουν τα εκτελέσια αρχεία και τους πόρους ιας εφαρογής.
 Την Android Interface Description Language (AIDL) η οποία επιτρέπει την δηιουργία
κώδικα που επιτρέπει σε δύο διεργασίες σε ια συσκευή βασισένη στο Android να
συνοιλούν χρησιοποιώντας διαδιεργασιακή επικοινωνία.
 Το sqlite3 το οποίο επιτρέπει την πρόσβαση στα δεδοένα της SQLite που δηιουργούνται
από τις διάφορες εφαρογές.
 Το Traceview που επιτρέπει την γραφική προβολή της ανάλυσης των trace log data που
δηιουργούν οι διάφορες εφαρογές.
 Το mksdcard το οποίο βοηθά στην δηιουργία εικονικού δίσκου ο οποίος πορεί να
χρησιοποιηθεί από τον εξοοιωτή για την προσοοίωση της παρουσίας εξωτερικής
αποθηκευτικής κάρτας (όπως η SD card).
 Το dx tool το οποίο ετατρέπει τα αρχεία .class από java bytecode σε Android bytecode.
 To UI/Application Exerciser Monkey το οποίο είναι ένα πρόγραα που τρέχει στον
εξοοιωτή και παράγει ψευδό-τυχαίες σειρές από συβάντα χρήστη όπως clicks, touches,
gestures καθώς επίσης και έναν αριθό από συβάντα συστήατος.
 Το activitycreator το οποίο είναι ένα script που δηιουργεί Ant build αρχεία τα οποία
πορούν να χρησιοποιηθούν για την εταγλώττιση των εφαρογών.

5.1.4 Μια γρήγορη εφαρογή για το SDK

Το όνο που ένει για να ολοκληρωθεί το κεφάλαιο του Android SDK είναι η ανάπτυξη ιας
ιδίας εφαρογής. Για να επιτευχθεί αυτό, το πρώτο βήα που πρέπει να γίνει είναι η εγκατάσταση του
απαραίτητου λογισικού, και ακολούθως η ανάπτυξη ιας απλής εφαρογής. Τα προγράατα που θα
είναι απαραίτητα είναι το Android SDK και στην συνέχεια το περιβάλλον ανάπτυξης λογισικού
Eclipse.
Το αρχικό βήα είναι η ετάβαση στο developer.android.com/sdk [12], από το οποίο γίνεται
το κατέβασα του αρχείου Android SDK, εφόσον η εργασία πραγατοποιείται σε Windows.
Παρακάτω φαίνεται το Quick Start guide, το οποίο παρέχει συγκεκριένα βήατα για το development
ε την βοήθεια του Eclipse. Συγκεκριένα, παραπέπει το χρήστη να χρησιοποιήσει ένα δοθέν url ,
ώστε να γίνει εγκατάσταση του Android Development Tools για το Eclipse κάτι που οδηγεί στο
άνοιγα του προαναφερθέντος προγράατος.
Με την ολοκλήρωση των παραπάνω βηάτων, το σύστηα είναι έτοιο για την έναρξη της
ανάπτυξης ιας νέας παρουσίασης. .ς παράδειγα, φαίνεται ένα text Κείενο.
Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

35

Εικόνα 26: Η εγκατάσταση του Android SDK


Εικόνα 27: Ο αρχικός βασικός κώδικας που περιέχει το πρόγραα

Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

36


Εικόνα 28: Τροποποίηση του κώδικα για την εφαρογή


Εικόνα 29: Επιλέγοντας RUN, γίνεται η εκτέλεση του κώδικα
Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

37


Εικόνα 30: Η εφαρογή φορτώνει κανονικά


Εικόνα 31: Όπως έχει αναφερθεί, το γραφικό περιβάλλον είναι ίδιο ε αυτό ιας Android συσκευής
Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

38


Εικόνα 32: Ξεκλείδωα της συσκευή ας για να τρέξει η εφαρογή. Ο προσοοιωτής Android στην
αρχική οθόνη


Εικόνα 33: Το Text κείενο (που προαναφέρθηκε) “Efarmogi gia Android SDK”
Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

39

Εικόνα 34: Ο χειρισός της εφαρογής καταδεικνύει την οοιότητα του προσοοιωτή ε ένα πραγατικό
κινητό τηλέφωνο Android


Εικόνα 35: Ο κώδικας που χρησιοποιήθηκε για την εφαρογή

Τήα Εφαροσένης Πληροφορικής & Πολυέσων – Α.Τ.Ε.Ι. Κρήτης
ασκαλάκης Ελευθέριος Α.Μ. 1672

40

5.2 Android NDK (Native Development Kit)


Εικόνα 36: Λογότυπο εφαρογής Android NDK


Το Native Development Kit (NDK) είναι ένα σύνολο εργαλείων που επιτρέπει την
ενσωάτωση ερών (components) που κάνουν χρήση του ατόφιου κώδικα στις Android εφαρογές.
Οι Android εφαρογές τρέχουν στην Dalvik virtual machine (εικονική ηχανή Dalvik). Είναι ένα
συπλήρωα του SDK (Software Development Kit) παρέχει εργαλεία που επιτρέπουν την
ενσωάτωση native κώδικα στις εφαρογές του Android. To NDK επιτρέπει την εκτέλεση ερών των
εφαρογών, χρησιοποιώντας γλώσσες ατόφιου κώδικα, όπως η C και η C++. Αυτό πορεί να
παρέχει πλεονεκτήατα σε συγκεκριένες τάξεις εφαρογών ε τη ορφή της επαναχρησιοποίησης
του υπάρχοντος κώδικα και σε ερικές περιπτώσεις την αυξηένη ταχύτητα. Η ικανότητα άεσης
κλήσης της λειτουργίας στο OpenGL βελτιώνει την απόδοση γραφικών σε εγάλες οθόνες κινητών.
Ένα πολύ καλό website ε πολλές πληροφορίες σχετικά ε το Android NDK φαίνεται στην σχετική
βιβλιογραφία [11].

5.2.1 Τα κύρια χαρακτηριστικά του NDK.

 Είναι ένα εργαλείο που επιτρέπει την ενσωάτωση components που χρησιοποιούν C και
C++
 Προσφέρει παροχές σε κάποιες κλάσεις εφαρογών
 Επαναχρησιοποίηση ήδη υπάρχοντος κώδικα
 Αύξηση της ταχύτητας εκτέλεσης