Διάλεξη «Εισαγωγή στην πλατφόρμα Android» Εισηγητής: Παντελής Μπαλαούρας

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

Download "Διάλεξη «Εισαγωγή στην πλατφόρμα Android» Εισηγητής: Παντελής Μπαλαούρας"

Transcript

1 Διάλεξη «Εισαγωγή στην πλατφόρμα Android» Εισηγητής: Παντελής Μπαλαούρας 1

2 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΚΑΙ ΔΟΜΙΚΑ ΣΥΣΤΑΤΙΚΑ ANDROID 2

3 Τι είναι το Android Ένα Λειτουργικό Σύστημα, μια στοίβα λογισμικού για κινητές συσκευές με χαμηλή επεξεργαστική ισχύ περιλαμβάνει Βασικές εφαρμογές Μεσισμικό (middleware) χαμηλή μνήμη οθόνη αφής ως μέσο διεπαφής ένας χρήστης Λειτουργικό σύστημα 3

4 Αρχιτεκτονική Android Εφαρμογές που αλληλεπιδρούν με τον χρήστη APIs used for Android development Android Native Libraries written in C/C++ Android Runtime Environment hardware drivers, process and memory management, network and power management 4

5 Linux kernel (LK) Είναι η βάση του Android π.χ. το Android Runtime (ART) βασίζεται στο Linux kernel για: Διαχείριση μνήμης (low-level memory management) Διαχείριση διεργασιών και νημάτων Διαχείριση ενέργειας Επιτρέπει στο Android να εκμεταλλευτεί βασικά χαρακτηριστικά ασφάλειας του (LK) Επιτρέπει στους κατασκευαστές να αναπτύσσουν drivers σε ένα γνωστό και καλά ορισμένο kernel Διαδεδομένο και δοκιμασμένο ΛΣ ανοικτού κώδικα με κατάλληλη άδεια χρήσης για το business model των κατασκευαστών κινητών συσκευών 5

6 Hardware Abstraction Layer (HAL) Παρέχει διεπαφές (standard interfaces) για χρήση των δυνατοτήτων των συστατικών hardware από το Java API framework Πολλαπλές βιβλιοθήκες, κάθε μία υλοποιεί μία συγκεκριμένη διεπαφή για ένα τύπο συστατικού hardware Όταν ένα framework API καλεί για χρήση μία συσκευή, το Android φορτώνει τη βιβλιοθήκη για αυτή τη συσκευή Απομονώνει το LK από το API Framework 6

7 Native C/C++ Libraries Πολλά συστατικά του Android system, π.χ., ART και HAL, αναπτύσσονται με βάση κώδικα και απαιτούν βιβλιοθήκες γραμμένες σε C και C++. Το Android παρέχει Java framework APIs για να διαθέτει τη λειτουργικότητα των libraries στα apps π.χ. χρήση OpenGL ES μέσω του Android framework s Java OpenGL API για το σχεδιασμό και χειρισμό γραφικών 2D και 3D σε μία εφαρμογή. 7

8 Android Runtime Environment Τρέχει το εκτελέσιμο κώδικα των εφαρμογών Dalvik ή ART για version 5.0+ (API level 21+) Κάθε app τρέχει ως διακριτή διεργασία και σε δικό του στιγμιότυπο (instance) του ART. Το ART (και το Dalvik) τρέχει σε πολλαπλά virtual machines σε συσκευές χαμηλής μνήμης εκτελώντας DEX files (των apps) 8

9 Dalvik Virtual Machine (VM) Βελτιστοποιημένο Java VM με χαμηλές απαιτήσεις μνήμης Μεταγλώττιση κώδικα σε machineindependent εντολές (bytecodes) οι οποίες εκτελούνται από το Dalvik VM στη κινητή συσκευή Just-in-time (JIT) compilation Dalvik VM Compile time.class files.jar files Executable bytecode files.dex files A JIT compiler μεταγλωττίζει τα Java bytecode σε native machine language κατά την εκτέλεση του κώδικα (run time) και όχι πρωτύτερα Βασίζεται στο Linux Kernel για Threading Low-level διαχείριση μνήμης Δυνατότητα πολλαπλών VM στιγμιοτύπων που επωφελούνται από το Linux OS για απομόνωση ασφάλειας και διεργασιών 9

10 Αρχιτεκτονική Android Κάθε εφαρμογή τρέχει στη δική της διαδικασία Linux Κάθε διαδικασία έχει τη δική της Dalvik VM Σε κάθε εφαρμογή δίνεται ένα μοναδικό Linux ID Τα Permissions καθορίζονται ώστε μια εφαρμογή να έχει πρόσβαση σε συγκεκριμένα αρχεία 10

11 Android RunTime (ART) αντί Dalvik Default από Android Lolipop (5.0) Ahead Of Time (AOT) compilation AOT μετατρέπει το bytecode ενός VM σε machine code πριν την εκτέλεση (κατά την εγκατάσταση της εφαρμογής) Καλύτερο garbage collection Καλύτερη απόδοση Μικρότερη κατανάλωση ενέργειας Καλύτερο περιβάλλον ανάπτυξης και debugging ART και το Dalvik είναι συμβατά, έτσι apps που αναπτύθηκαν για το Dalvik θα πρέπει να τρέχουν και με ART 11

12 ART vs Dalvik package install 12

13 Java API Framework Όλο το set των δυνατοτήτων & χαρακτηριστικών του Android OS είναι διαθέσιμο στον προγραμματιστή μέσω APIs γραμμένα σε Java Τα APIs είναι τα βασικά building blocks που χρειάζεται ένας προγραμματιστής για να δημιουργήσει Android εφαρμογές (apps) επαναχρησιμοποιώντας βασικά και δομικά συστατικά υπηρεσίες Οι προγραμματιστές έχουν πλήρη πρόσβαση στο ίδιο Developers framework APIs που χρησιμοποιούν οι Android system apps 13

14 Java API Framework Κυριότερα δομικά συστατικά & υπηρεσίες: View System για την ανάπτυξη της διεπαφής χρήσης της εφαρμογής (app s UI) π.χ., lists, grids, text boxes, buttons embeddable web browser Content Providers: επιτρέπει στις εφαρμογές να έχουν πρόσβαση σε δεδομένα από άλλες εφαρμογές (π.χ. εφαρμογή επαφών) ή να μοιράζουν τα δικά τους δεδομένα Ο Resource Manager παρέχει πρόσβαση σε πόρους, αρχεία πλην των αρχείων κώδικα, π.χ. τοπικές συμβολοσειρές (localized strings), γραφικά (graphics), και αρχεία που ορίζουν τη διάταξη (layout files) Ο Notification Manager επιτρέπει σε όλες τις εφαρμογές να εμφανίζουν μηνύματα στη γραμμή κατάστασης (custom alerts in the status bar) Ο Activity Manager που διαχειρίζεται το κύκλο ζωής των εφαρμογών και παρέχει την κοινή στοίβα πλοήγησης από εφαρμογή σε εφαρμογή με το back (navigation back stack) 14

15 Εφαρμογές συστήματος (System Apps) Το Android συνοδεύεται από ένα σύνολο από βασικές εφαρμογές: , SMS messaging, calendars, internet browsing, contacts, κ.α. Αυτές δεν έχουν κάποια διάκριση σε σχέση με αυτές που επιλέγει να εγκαταστήσει ο χρήστης. Έτσι, εφαρμογές τρίτων (third-party app) μπορούν να επιλεγούν ως οι προκαθορισμένες (default) από το χρήστη για web browser, SMS messenger, πληκτρολόγιο. Εξαιρούνται οι ρυθμίσεις. Επιπλέον, παρέχουν βασικές δυνατότητες που μπορούν να χρησιμοποιήσει ένας προγραμματιστής σε μια νέα εφαρμογή. Π.χ. εάν η εφαρμογή σας θέλετε να στείλει ένα SMS, δεν απαιτείται να αναπτύξετε εξ αρχής τη λειτουργικότητα αλλά να καλέσετε την SMS app που είναι ήδη εγκατεστημένη. 15

16 ΔΟΜΙΚΑ ΣΥΣΤΑΤΙΚΑ ΕΦΑΡΜΟΓΩΝ (APPS) 16

17 Βασικά δομικά συστατικά εφαρμογών (App components) Τι είναι τα App components είναι βασικά δομικά συστατικά μιας εφαρμογής σημείο εισόδου προς την εφαρμογή σας από το σύστημα Android ένα χρήστη Τέσσερις (4) διαφορετικοί τύποι συστατικών: Activities Services Broadcast receivers Content providers 17

18 Βασικά δομικά συστατικά εφαρμογών (App components) Κάθε τύπος εξυπηρετεί ένα διακριτό σκοπό έχει ένα διακριτό κύκλο ζωής που ορίζει το πώς κάθε συστατικό δημιουργείται (created) καταστρέφεται (destroyed) Μία εφαρμογή αποτελείται από ένα σύνολο συστατικών Μία ή περισσότερες activities Καμία, μία ή περισσότερες Services Broadcast receivers Content providers 18

19 Activity ένα συστατικό εφαρμογής Αφορά το στρώμα παρουσίασης (presentation layer) της εφαρμογής. Aντιστοιχεί σε μία οθόνη (screen) της εφαρμογής Είναι το σημείο εισόδου για διάδραση με το χρήστη Μια εφαρμογή μπορεί να έχει περισσότερα του ενός activities για διαχείριση διαφορετικών οθονών της εφαρμογής π.χ. μία εφαρμογή μπορεί να έχει μία activity που δείχνει τη λίστα με νέα s, μία άλλη για τη σύνθεση , μία τρίτη για την ανάγνωση των s κ.α. Παρόλου που παρέχουν μία ενιαία εμπειρία χρήσης, κάθε activity είναι ανεξάρτητη από την άλλη Μια άλλη εφαρμογή μπορεί να καλέσει και ξεκινήσει μία από αυτές τις activities Επαναχρησιμοποιήσιμο δομικό συστατικό Κάθε activity είναι υπεύθυνο να αποθηκεύει την δική του κατάσταση κατά το κύκλο ζωής του 19

20 Activity Lifecycle 20

21 Activity Lifecycle Εκτελείται όταν το activity είναι έτοιμο να πάει στο παρασκήνιο (background), συνήθως επειδή ένα άλλο activity ξεκινάει. Εδώ πρέπει να αποθηκεύονται όποιες αλλαγές έχει κάνει το πρόγραμμα. Καλείται όταν το activity δεν είναι ορατό πλέον στο χρήστη Καλείται όταν το activity είναι έτοιμο να αλληλεπιδρά με τον χρήστη.` Το activity είναι έτοιμο για εμφάνιση προς το χρήστη Καλείται όταν το activity καταστρέφεται Καλείται όταν το activity πρωτοξεκινά. Μπορεί να χρησιμοποιηθεί για αρχικοποίηση της διεπαφής χρήστη. Παίρνει μία παράμετρο null ή πληροφορίες κατάστασης που είχαν αποθηκευτεί από την μέθοδο onsaveinstancestate() 21

22 Κλάση Activity Κάθε διεπαφή χρήστη (οθόνη) αναπαρίσταται από μία κλάση Activity Κάθε activity έχει το δικό του κύκλο ζωής Μία εφαρμογή έχει ένα ή περισσότερα activities και μία διεργασία Linux που τα περιέχει extends Activity (π.χ. MainActivity extends Activity) override oncreate() callback Πυροδοτείται όταν το Android σύστημα δημιουργεί την activity Eδώ αρχικοποιεί κανείς τα βασικά συστατικά της activity π.χ. ορίζει το layout της 22

23 Service ένα συστατικό εφαρμογής Διεργασία που τρέχει στο παρασκήνιο χωρίς τη παρέμβαση του χρήστη για να εκτελέσει λειτουργίες μακράς διάρκειας για άλλες διεργασίες Δεν παρέχει UI στο χρήστη Αναπαραγωγή μουσικής ενώ ο χρήστης είναι σε άλλη app Να κατεβάσει ή συγχρονίσει δεδομένα χωρίς να μπλοκάρει το διάδραση του χρήστη με άλλη app Παρόμοιο με Unix daemon Υπάρχουν πολλά built-in services σε Android 23

24 Η κλάση Service Η βασική κλάση για διαδικασίες που εκτελούνται στο παρασκήνιο extends Service override oncreate Δεν έχει γραφική διεπαφή Από default δεν είναι μια ξεχωριστή διεργασία ούτε ένα ξεχωριστό thread. Αποτελεί τμήμα του main thread. Αν επιθυμούμε μπορούμε να καθορίσουμε ότι θα τρέχει σε ξεχωριστή διεργασία Παραδείγματα χρήσης network downloading Αναπαραγωγή μουσικής στο παρασκήνιο TCP/UDP Server 24

25 Σύγκριση life cycle 25

26 Broadcast receivers ένα συστατικό εφαρμογής Οι ανακοινώσεις broadcast μπορεί να Παράγονται από το λειτουργικό (OS-generated) π.χ. χαμηλή στάθμη μπαταρίας, αποκατάσταση σύνδεσης Wifi, πάτημα του πλήκτρου της φωτογραφικής Παράγονται από το χρήστη (User-generated) π.χ. έναρξη ή τερματισμός μια διαδικασίας, ενεργοποίηση ενός χαρακτηριστικού H εφαρμογή λαμβάνει ανακοινώσεις broadcast και αντιδρά κατάλληλα Προκαλούν την δημιουργία intents που μπορούν προκαλέσουν την εκτέλεση κώδικα εκτός της κανονικής (ροής regular user flow) Το σύστημα μπορεί να στείλει broadcasts ακόμη και σε εφαρμογές που δεν τρέχουν Παραδείγματα χρήσης Ενημέρωση άλλων εφαρμογών ότι δεδομένα έχουν κατεβεί Δεν διαθέτουν διεπαφή χρήστη αλλά μπορούν να δημιουργήσουν ένα status bar notification για να ειδοποιήσουν το χρήστη εάν ένα broadcast event συμβαίνει Ως gateway με άλλα συστατικά με σκοπό να κάνει ελάχιστη δουλειά 26

27 Content Providers ένα συστατικό εφαρμογής Επιτρέπουν σε μια εφαρμογή να έχει πρόσβαση σε δεδομένα άλλων εφαρμογών (π.χ. Contacts) Επιτρέπουν σε μια εφαρμογή να διαμοιράζει τα δεδομένα που παράγει σε άλλες εφαρμογές 27

28 Eκτέλεση συστατικών: ο μηχανισμός Intent Σε android σχεδόν ΟΛΕΣ οι αλληλοεπιδράσεις γίνονται μέσω intents Μηχανισμός που καθορίζει ποια συγκεκριμένη ενέργεια (action) πρέπει να εκτελεστεί στέλνοντας ασύγχρονα μηνύματα Ο ρόλος ενός intent είναι να αιτηθεί στέλνοντας μήνυμα προς τον ActivityManagerService για μια ενέργεια που ο χρήστης επιθυμεί να γίνει Μέσω των intents μπορούμε να ξεκινήσουμε την εκτέλεση των Activities, των Services και των Broadcast Receivers (όχι Content Providers) 28

29 Ιntent, έναρξη εφαρμογής Πάτημα κουμπιού εφαρμογής Ειδοποίηση του ActivityManager σχετικά με την ενέργεια που επιθυμεί ο χρήστης 29

30 ΤΑ ΠΡΩΤΑ ΣΑΣ ΒΗΜΑΤΑ ΣΤΟ ANDROID SDK 30

31 Εγκατάσταση Android SDK Λήψη του Android SDK Εγκατάσταση plugin ανάλογα με το περιβάλλον IDE Android Studio Διάθεση Android SDK ADT plugin για Eclipse NBAndroid plugin για Netbeans User Guides Android SDK Λήψη SDK tools and platforms μέσω του SDK Manager 31

32 Διάθεση Android SDK Σύνδεσμος: 32

33 Οδηγίες για την πρώτη σας εφαρμογή Σύνδεσμος: 33

34 Εκτέλεση εφαρμογής Emulator Στην Android συσκευή σας 34

35 Δομή αρχείων σε Android Projects Source code Auto-generated code Files Images UI layout String constants Configuration 35

36 Android manifest file Κάθε εφαρμογή έχει ένα αρχείο AndroidManifest.xml που παρέχει σημαντικές πληροφορίες για την εφαρμογή στο OS Δίνει όνομα στο Java πακέτο για την εφαρμογή το οποίο αποτελεί μοναδικό αναγνωριστικό για την εφαρμογή. Καθορίζει το ελάχιστο επίπεδο Android API που απαιτείται από την εφαρμογή. Περιέχει λίστα με τις βιβλιοθήκες με τις οποίες πρέπει να συνδεθεί η εφαρμογή. Καθορίζει τα δικαιώματα που πρέπει να έχει η εφαρμογή για να έχει πρόσβαση σε προστατευόμενα κομμάτια του API για να αλληλεπιδρά με άλλες εφαρμογές τα δικαιώματα που πρέπει να έχουν άλλες εφαρμογές για να αλληλεπιδρούν με αυτή Δηλώνει τα χαρακτηριστικά (h/w & s/w), π.χ. κάμερα, Bluetooth κ.α., που χρησιμοποιεί η εφαρμογή. Περιγράφει τα components της εφαρμογής (activities, services, content providers κλπ.). 36

37 Android manifest file (2/2) Παράδειγμα από την HelloWorld app SDK versions Application permissions Activities Intents 37

38 Κλάση Activity Κάθε διεπαφή χρήστη (οθόνη) αναπαρίσταται από μία κλάση Activity Κάθε activity έχει το δικό του κύκλο ζωής Μία εφαρμογή έχει ένα ή περισσότερα activities και μία διεργασία Linux που τα περιέχει extends Activity (π.χ. MainActivity extends Activity) override oncreate() callback Πυροδοτείται όταν το Android σύστημα δημιουργεί την activity Eδώ αρχικοποιεί κανείς τα βασικά συστατικά της activity π.χ. ορίζει το layout της 38

39 Παράδειγμα εφαρμογής με ένα Activity Hello World! TextView Component 39

40 Απλή Κλάση Activity /src/gr/uoa/di/helloandroid/mainactivity.java Τρέχει ότι ορίζεται στην oncreate() της γονικής Activity Κώδικας για επιπλέον λειτουργικότητα από της γονικής oncreate() UI Layout activity_main.xml 40

41 MainActivity 41

42 Απλό UI Layout XML /res/layout/activity_main.xml TextView Component String hello_word 42

43 Layout xml file 43

44 Απλό αρχείο string resources /res/values/strings.xml String Hello word! 44

45 strings.xml 45

46 Emulator TextView Component 46

47 User Interface Layout Ιεραρχία από ViewGroup και View αντικείμενα Κάθε view group είναι ένα αόρατο container που οργανώνει views Ένα views μπορεί να είναι ένα input control ή widgets που συνθέτει κάποιο τμήμα του UI. 47

48 Input controls Control Type Description Button A push-button that can be pressed, or clicked, by the user to perform an action. Text field An editable text field. You can use the AutoCompleteTextViewwidget to create a text entry widget that provides auto-complete suggestions Related Classes Button EditText, AutoCompleteTextView Checkbox An on/off switch that can be toggled by the user. You should use checkboxes when presenting users with a group of selectable options that are not mutually exclusive. Radio button Similar to checkboxes, except that only one option can be selected in the group. Toggle An on/off button with a light indicator. button Spinner A drop-down list that allows users to select one value from a set. Pickers A dialog for users to select a single value for a set by using up/down buttons or via a swipe gesture. Use a DatePickercode> widget to enter the values for the date (month, day, year) or a TimePicker widget to enter the values for a time (hour, minute, AM/PM), which will be formatted automatically for the user's locale. CheckBox RadioGroup RadioButton ToggleButton Spinner DatePicker, TimePicker 48

49 Inputs layout xml file <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal"> <EditText android:id="@+id/edit_message" android:layout_weight="1" android:layout_width="0dp" android:layout_height="wrap_content" android:hint="@string/edit_message" /> <Button android:id="@+id/button_send" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button_send" android:onclick="sendmessage" /> </LinearLayout> 49

50 Layouts: View Groups () Linear Layout: Οργανώνει τα views σε μονές οριζόντιες ή κάθετες γραμμές Relative Layout: Οργανώνει τα child-views σε σημεία που σχετίζονται με άλλα στοιχεία και σχετικά με άλλα child-views (child A αριστερά από το child B) ή στη πάνω περιοχή του γονέα (parent) Web View: Απεικονίζει web σελίδες 50

51 Layouts: View Groups (2) List View : Απεικονίζει μία κυλιόμενη λίστα μονών γραμμών Grid View: Απεικονίζει ένα δισδιάστατο κυλιόμενο πλέγμα 51

52 Άλλες αναφορές για το σχεδιασμό UI /index.html g/basics/firstapp/building-ui.html 52

53 Παράδειγμα με 3 Control Inputs Press Button Back Button 53

54 UI Layout XML (Παράδειγμα) TextView Component EditText Component Κουμπί button_hello String button_hello Όνομα μεθόδου που θα κληθεί όταν πατηθεί το κουμπί 54

55 Kώδικας UI Layout activity_main.xml + + References to components of activity_main.xml + Μέθοδος που καλείται όταν πατηθεί το κουμπί 55

56 Εκτέλεση στον Emulator (Παράδειγμα) 56

57 Παράδειγμα με 2 Activities Πως χρησιμοποιούμε το μηχανισμό Intent 57

58 Activity Lifecycle 58

59 Activity Lifecycle Εκτελείται όταν το activity είναι έτοιμο να πάει στο παρασκήνιο (background), συνήθως επειδή ένα άλλο activity ξεκινάει. Εδώ πρέπει να αποθηκεύονται όποιες αλλαγές έχει κάνει το πρόγραμμα. Καλείται όταν το activity δεν είναι ορατό πλέον στο χρήστη Καλείται όταν το activity είναι έτοιμο να αλληλεπιδρά με τον χρήστη.` Το activity είναι έτοιμο για εμφάνιση προς το χρήστη Καλείται όταν το activity καταστρέφεται Καλείται όταν το activity πρωτοξεκινά. Μπορεί να χρησιμοποιηθεί για αρχικοποίηση της διεπαφής χρήστη. Παίρνει μία παράμετρο null ή πληροφορίες κατάστασης που είχαν αποθηκευτεί από την μέθοδο onsaveinstancestate() 59

60 Η κλάση Intent Ο ρόλος ενός intent είναι να ειδοποιηθεί το ActivityManagerService ότι ο χρήστης επιθυμεί να γίνει κάποια ενέργεια. Ένα intent είναι ένα αντικείμενο της κλάσης Intent το οποίο περιέχει κάποιο περιεχόμενο (το μήνυμα του intent) Μέσω των intents μπορούμε να ξεκινήσουμε την εκτέλεση των Activities, των Services και των Broadcast Receivers Ένα activity μπορεί να εκτελεστεί με χρήση των Context.startActivity(Intent intent) Activity.startActivityForResult(Intent intent, int RequestCode) Ένα service μπορεί να εκτελεστεί με χρήση της Context.startService(Intent service) Μια εφαρμογή μπορεί να δημιουργήσει ένα broadcast μήνυμα με χρήση του Intent Context.sendBroadcast(Intent intent), Context. sendorderedbroadcast(intent intent, String receiverpermission) Context. sendstickybroadcast(intent intent) 60

61 Παράδειγμα με 2 Activities Χρήση Intent για έναρξη νέας activity 1 η Activity: MainActivity Δημιουργία μηνύματος Intent με την νέα activity Προσθήκη δεδομένων στο Intent 2 η Αctivity: HelloActivity Activity Manager Προσπέλαση μηνύματος Intent Προσπέλαση δεδομένων από το Intent 61

62 1. Η MainActivity δημιουργεί ένα Intent μήνυμα με την περιγραφή της ενέργειας και την στέλνει στο Android σύστημα με τη startactivity() 2. Το Android σύστημα καλεί την oncreate() της HelloActivity και περνά το Intent μήνυμα 3. Η HelloActivity έρχεται στο προσκήνιο κ.τ.λ. 62

63 Εκτέλεση στον Emulator (Intent) Press Button Back Button 63

64 Παράδειγμα Intent Εκκίνηση Εφαρμογής 1 Πάτημα κουμπιού εφαρμογής Ειδοποίηση του ActivityManager σχετικά με την ενέργεια που επιθυμεί ο χρήστης Έλεγχος και δημιουργία Διεργασίας για την εφαρμογή που εκκίνησε ο χρήστης Δημιουργία του Activity που έχει δηλωθεί ως αρχικό στο Android Manifest xml αρχείο της εφαρμογής

65 Η κλάση Pending Intent Η κλάση Pending Intent δίνει τη δυνατότητα εκτέλεσης επιτρέπει, παρέχει τη δικαιοδοσία - μίας λειτουργίας από άλλη εφαρμογή όπως NotificationManager AlarmManager HomeScreen AppWidgetManager Παρέχοντας ένα PendingIntent σε μια άλλη εφαρμογή Β, της παρέχεις το δικαίωμα να εκτελέσει τη λειτουργία που προδιαγράφεις ως η άλλη εφαρμογή Β να ήταν δική σου (ίδια δικαιώματα και ταυτότητα) Αντιθέτως με το Intent όπου η λειτουργία διαδικασία θα εκτελεστεί με τα δικαιώματα της άλλης εφαρμογής Β 65

66 ΆΛΛΕΣ ΣΗΜΑΝΤΙΚΕΣ ΚΛΑΣΕΙΣ 66

67 Η κλάση Service Η βασική κλάση για διαδικασίες που εκτελούνται στο παρασκήνιο extends Service override oncreate Δεν έχει γραφική διεπαφή Από default δεν είναι μια ξεχωριστή διεργασία ούτε ένα ξεχωριστό thread. Αποτελεί τμήμα του main thread. Αν επιθυμούμε μπορούμε να καθορίσουμε ότι θα τρέχει σε ξεχωριστή διεργασία Παραδείγματα χρήσης network downloading Αναπαραγωγή μουσικής στο παρασκήνιο TCP/UDP Server 67

68 Σύγκριση life cycle 68

69 Η κλάση BroadcastReceiver Λαμβάνει ανακοινώσεις broadcast και αντιδρά κατάλληλα extends BroadcastReceiver implements onreceive() Οι ανακοινώσεις broadcast μπορεί να Παράγονται από το λειτουργικό (OSgenerated) π.χ. χαμηλή στάθμη μπαταρίας, αποκατάσταση σύνδεσης Wifi, πάτημα του πλήκτρου της φωτογραφικής Παράγονται από το χρήστη (User-generated) π.χ. έναρξη ή τερματισμός μια διαδικασίας, ενεργοποίηση ενός χαρακτηριστικού 69

70 System Events Event Description Intent.ACTION_BOOT_COMPLETED Το boot έγινε με επιτυχία.απαιτείται η άδεια, android.permission.receive_boot_completed. Intent.ACTION_POWER_CONNECTED Έγινε σύνδεση του φορτιστή στην συσκευή. Intent.ACTION_POWER_DISCONNECTED Έγινε αποσύνδεση του φορτιστή από την συσκευή. Intent.ACTION_BATTERY_LOW Η στάθμη της μπαταρίας είναι χαμηλή. Χρησιμοποιείται για την εξοικονόμηση ενέργειας από εφαρμογές που καταναλώνουν πολύ. Intent.ACTION_BATTERY_OKAY Η στάθμη της μπαταρίας είναι σε καλό επίπεδο. 70

71 BroadcastReceiver Παράδειγμα Παράδειγμα χρήσης BroadcastReceiver για ανάκτηση πληροφοριών σχετικά με το Wifi Manifest File 71

72 BroadcastReceiver Παράδειγμα WifiReceiver 72

73 BroadcastReceiver Παράδειγμα Receiver WifiReceiver extends BroadcastReceiver You can either dynamically register an instance of this class with Context.registerReceiver() or statically declare an implementation with the<receiver> tag in your AndroidManifest.xml. 73

74 Η κλάση Log Η εκτύπωση στη standard έξοδο (System.out.println) ΔΕΝ δουλεύει Χρήση της κλάσης Log για debugging Ενεργοποίηση του LogCat: Window-> Show View -> Other -> Android-> Logcat H κλάση Log παρέχει αρκετές static μεθόδους για εκτύπωση μηνυμάτων διαφορετικής σημασίας για το λειτουργικό σύστημα: Log.e( ): Errors Log.w( ): Warnings Log.i( ): Information Log.d( ): Debugging Log.v( ): Verbose

75 Η κλάση Log HelloActivity + + LogCat Monitor 75

76 Ειδοποιήσεις (Notifications) (1) Δημιουργία ειδοποιήσεων στο Android Τριών ειδών ειδοποιήσεις Toast AlertDialog Notification 76

77 Ειδοποιήσεις (Notifications) (2) Toast Toast toast = Toast.makeText(this, Notification",Toast.LENGTH_SHORT); toast.show(); 77

78 Ειδοποιήσεις (Notifications) (3) Notification NotificationCompat.Builder mbuilder = new NotificationCompat.Builder(this).setSmallIcon(R.drawable.notification_icon).setContentTitle( Attention Please!").setContentText( - Notification is coming -"); 78

79 Ειδοποιήσεις (Notifications) (4) AlertDialog AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setmessage("do you want to self-destruct?").setpositivebutton( Agree", new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialog, int id) { // Exit code } }).setnegativebutton( Disagree", new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialog, int id) { // Return code } }); AlertDialog dialog = builder.create(); 79

80 Fragments 80

81 Fragments Ανεξάρτητο component το οποίο χρησιμοποιείται από activities. Για τα fragments ορίζεται κύκλος ζωής αντίστοιχος του κύκλου ζωής ενός activity Δυναμικός και στατικός ορισμός (on application running) Θεωρείται ως ένα είδος sub-activity Μια κλάση ορίζεται ως Fragment extend Fragment, ListFragment, DialogFragment, PreferenceFragment Override oncreateview() Γενικά μας δίνει την δυνατότητα να επαναχρησιμοποιούμε components σε διαφορετικά layouts 81

82 Fragments Method onattach() oncreate() oncreateview() onactivitycreated() onresume() onpause() onstop() Description Το instance του fragment συσχετίζεται με το instance του activity. Δημιουργία το fragment Το instance του fragment δημιουργεί την ιεραρχία παρουσίασης (view hierarchy) του. Η ιεραρχία αυτή γίνεται μέλος της ιεραρχίας του activity στο όποιο έχει οριστεί το fragment. Το activity και το fragment έχουν δημιουργήσει τα instances τους με βάση τα view hierarchy τους. Πλέον υπάρχει πρόσβαση σε αυτά με την μέθοδο findviewbyid(). Το fragment είναι πλέον ενεργό και ορατό στον χρήστη. Το fragment είναι ορατό αλλά όχι ενεργό, πχ κάποιο άλλο activity χρησιμοποιεί το συγκεκριμένο fragment. Το fragment πλέον δεν είναι ορατό στον χρήστη. 82

83 ΠΕΡΑΙΤΕΡΩ ΜΕΛΕΤΗ 83

84 Android API Guides 84

85 Οδηγίες για την πρώτη σας εφαρμογή Σύνδεσμος: 85

86 Ερωτήσεις ; 86

Εισαγωγή σε Android οµή αρχείων σε Android Projects Activity Intent Άλλες σηµαντικές κλάσεις Sensors. ιάλεξη 4 Τµήµα Πληροφορικής και Τηλεπικοινωνιών

Εισαγωγή σε Android οµή αρχείων σε Android Projects Activity Intent Άλλες σηµαντικές κλάσεις Sensors. ιάλεξη 4 Τµήµα Πληροφορικής και Τηλεπικοινωνιών ιάλεξη 4 Εισαγωγή σε Android οµή αρχείων σε Android Projects Activity Intent Άλλες σηµαντικές κλάσεις Sensors ιάλεξη 4 Τµήµα Πληροφορικής και Τηλεπικοινωνιών 1 Ανάπτυξη Λογισµικού Χειµερινό Εξάµηνο 2016-2017

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

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

ANDROID Προγραμματισμός Εφαρμογών ANDROID Προγραμματισμός Εφαρμογών Παναγιώτης Κρητιώτης ΑΜ 1607 Περιεχόμενα Εισαγωγή Βασικά Στοιχεία Χαρακτηριστικά Αρχιτεκτονική Εργαλεία Προγραμματισμού Eclipse IDE Android SDK - ADT Plugin Προσομοιωτής

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

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

Ανάπτυξη Διεπαφών Χρήστη σε Λειτουργικά Συστήματα Κινητών Συσκευών Βιβλιογραφία: Ανάπτυξη Διεπαφών Χρήστη σε Λειτουργικά Συστήματα Κινητών Συσκευών Προγραμματισμός Android Ian Clifton. AndroidTM User Interface Design, Addison-Wesley, 2013 P. Deitel. H. Deitel, A. Deitel.

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

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

Εισαγωγή στην Ανάπτυξη Εφαρμογών Android Εισαγωγή στην Ανάπτυξη Εφαρμογών Android Σημειώσεις σεμιναρίου Επιμέλεια: Βασίλης Κόλιας Ενότητα 2 Εισαγωγή στις εφαρμογές Graphical User Interfaces Πίνακας Περιεχομένων 4 Εισαγωγή στις εφαρμογές... 2

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

Greek Android Community

Greek Android Community FossComm Λάρισα 9-10/5/2009 Greek Android Community Πολυχρόνης Κωνσταντίνος AndroidDev.gr Android is an Open platform Το Android έχει τα εξής χαρακτηριστικά: Συγκεκριμένο Η/W design Linux OpenSource libraries

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

TaxiCounter Android App. Περδίκης Ανδρέας ME10069

TaxiCounter Android App. Περδίκης Ανδρέας ME10069 TaxiCounter Android App Περδίκης Ανδρέας ME10069 Content Android Operating System Development Tools Taxi Counter Algorithm Design Development Process Android Operating System Android is a Linux-based operating

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

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

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

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

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών Εισαγωγή στη γλώσσα προγραμματισμού JAVA Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών Το πρώτο φλιτζάνι Java Λίστα με τα απαραίτητα Το πρώτο μου πρόγραμμα(hello World) Συνεχίζοντας

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

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

Αντικειμενοστρεφής Προγραμματισμός ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 1: Εισαγωγή Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

1. Ξεκινώντας. 1.1 Τι είναι η Java. PDF created with FinePrint pdffactory Pro trial version

1. Ξεκινώντας. 1.1 Τι είναι η Java. PDF created with FinePrint pdffactory Pro trial version 1. Ξεκινώντας Τελειώνοντας αυτό το κεφάλαιο θα μπορείτε: Να περιγράψετε τα κύρια χαρακτηριστικά της γλώσσας Java Να περιγράψετε τη Java Virtual Machine Να περιγράψετε πώς λειτουργεί ο μηχανισμός «συλλογής

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

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE) Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE) NetBeans, Πρώτα παραδείγματα ανάπτυξης Java εφαρμογών Γαβαλάς Δαμιανός dgavalas@aegean.gr Στόχοι

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

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE)

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE) Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #1 ο : Εισαγωγή στο Περιβάλλον Ανάπτυξης (IDE) NetBeans, Πρώτα παραδείγματα ανάπτυξης Java εφαρμογών Στόχοι εργαστηρίου Εξοικείωση με τις βασικές

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

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

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

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

Λειτουργικά Συστήματα (Λ/Σ)

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Βασικές Έννοιες Λειτουργικών Συστημάτων Βασίλης Σακκάς 13/11/2013 1 ΒασικέςΈννοιεςΛ/Σ Η επικοινωνία μεταξύ Λ/Σ και των προγραμμάτων του χρήστη γίνεται μέσω του συνόλου των «εκτεταμένων

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

Λειτουργικά Συστήματα. Εισαγωγή

Λειτουργικά Συστήματα. Εισαγωγή Λειτουργικά Συστήματα Εισαγωγή Λειτουργικά Συστήματα Ι 4/10/2016 Περιληπτικά Στο σημερινό μάθημα θα δούμε ποια είναι η θέση του Λειτουργικού Συστήματος στην οργάνωση ενός ηλεκτρονικού υπολογιστή. Σπύρος

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

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

Εισαγωγή στην Πληροφορική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 8: Λειτουργικά Συστήματα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

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

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

Αντικειμενοστρεφής Προγραμματισμός Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr 1 Δομημένος προγραμματισμός έναντι αντικειμενοστρεφούς

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

Εργαστήριο 1-1 η Άσκηση - Ανάλυση

Εργαστήριο 1-1 η Άσκηση - Ανάλυση Εργαστήριο 1-1 η Άσκηση - Ανάλυση Εκφώνηση: Δημιουργείστε εφαρμογή σε Java Swing με χρήση του IDE NetBeans όπου θα παρουσιάζεται ποιο κουμπί πατήθηκε. Η εφαρμογή θα μοιάζει ως εξής: Πρώτο Βήμα: Αρχική

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 Αλγόριθμος: Βήμα προς βήμα διαδικασία για την επίλυση κάποιου προβλήματος. Το πλήθος των βημάτων πρέπει να είναι πεπερασμένο. Αλλιώς: Πεπερασμένη

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

Python και Android. Νίκος Νοδαράκης. 17 Μαΐου 2010

Python και Android. Νίκος Νοδαράκης. 17 Μαΐου 2010 Python και Python και Νίκος Νοδαράκης 17 Μαΐου 2010 Python και Τι είναι το ; Περιγραφή του Ορισµός Το είναι µια στοίβα λογισµικού για ϕορητές συσκευές που περιλαµβάνει ένα λειτουργικό σύστηµα, middleware

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

Βρίγκας Μιχαήλ Α.Μ.744 Μπράχος Χ. Ευάγγελος Α.Μ.795

Βρίγκας Μιχαήλ Α.Μ.744 Μπράχος Χ. Ευάγγελος Α.Μ.795 Βρίγκας Μιχαήλ Α.Μ.744 Μπράχος Χ. Ευάγγελος Α.Μ.795 Περιεχόμενα Εισαγωγή Εγκατάσταση Δημιουργία νέου project Java Editor Perspectives Δημιουργία source folders Προσθήκη νέου αρχείου στο project Εισάγωντας

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

Πτυχιακή Εργασία Τίτλος: Ανάπτυξη mobile εφαρμογών και services στην πλατφόρμα Android

Πτυχιακή Εργασία Τίτλος: Ανάπτυξη mobile εφαρμογών και services στην πλατφόρμα Android Πτυχιακή Εργασία Τίτλος: Ανάπτυξη mobile εφαρμογών και services στην πλατφόρμα Android Μουτζουρίδης Γεώργιος (ΑΜ: 001462) Επιβλέπων καθηγητής: Σφέτσος Παναγιώτης Περίληψη Στόχος της παρούσας πτυχιακής

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

[Κατασκευή δικτυακής εφαρμογής στην αρχιτεκτονική. android που υλοποιεί ένα παιχνίδι ερωτoαπαντήσεων] Επιβλέπων καθηγητής : Μηνάς ασυγένης.

[Κατασκευή δικτυακής εφαρμογής στην αρχιτεκτονική. android που υλοποιεί ένα παιχνίδι ερωτoαπαντήσεων] Επιβλέπων καθηγητής : Μηνάς ασυγένης. 2012 Πανεπιστήμιο υτικής Μακεδονίας Πραμαγκιούλης Ευστάθιος Επιβλέπων καθηγητής : Μηνάς ασυγένης [Κατασκευή δικτυακής εφαρμογής στην αρχιτεκτονική android που υλοποιεί ένα παιχνίδι ερωτoαπαντήσεων] Κοζάνη,

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

HelloApplet. Παύλος Εφραιμίδης Java Applets 1

HelloApplet. Παύλος Εφραιμίδης Java Applets 1 HelloApplet Παύλος Εφραιμίδης pefraimi@ee.duth.gr Java Applets 1 Applets Τα Applets είναι προγράμματα Java που μπορούν να εκτελεστούν μέσα στο περιβάλλον ενός Browser (Firefox, Internet Explorer, Netscape,

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

«Έξυπνη» εφαρμογή ηλεκτρονικού εμπορίου για Ταμπλέτες με λειτουργικό σύστημα Android ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

«Έξυπνη» εφαρμογή ηλεκτρονικού εμπορίου για Ταμπλέτες με λειτουργικό σύστημα Android ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ «Έξυπνη» εφαρμογή ηλεκτρονικού εμπορίου για Ταμπλέτες με λειτουργικό σύστημα

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

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

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

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

05β Η ιδεατή μηχανή της Java

05β Η ιδεατή μηχανή της Java 05β Η ιδεατή μηχανή της Java Τεχνολογία Λογισμικού Σχολή Hλεκτρολόγων Mηχανικών & Mηχανικών Yπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Χειμερινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Περιεχόμενα

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

άσκηση Hide UI Elements 7.2 Try and Catch

άσκηση Hide UI Elements 7.2 Try and Catch 7.1 Hide UI Elements Στο Android Studio όταν θέλουμε να κρύψουμε οτιδήποτε (κάποιο Button, ένα TextView, ένα ImageView κλπ) μπορούμε να χρησιμοποιήσουμε την παρακάτω εντολή: setvisibility(view.invisible)

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

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java Δρ. Απόστολος Γκάμας Λέκτορας (407/80) gkamas@uop.gr Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 1 Εισαγωγή

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

Ανάπτυξη διαδικτυακής εφαρμογής σε περιβάλλον κινητών συσκευών με λειτουργικό σύστημα Android

Ανάπτυξη διαδικτυακής εφαρμογής σε περιβάλλον κινητών συσκευών με λειτουργικό σύστημα Android Ανάπτυξη διαδικτυακής εφαρμογής σε περιβάλλον κινητών συσκευών με λειτουργικό σύστημα Android Ιωάννης Γιαννόπουλος, ΑΜ: 0430 Γεώργιος Δούρος, ΑΜ: 0686 Επιβλέπων: Γεώργιος Ασημακόπουλος Σεπτέμβριος 2014

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

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή η εφαρμογή είναι γνωστή εκ των προτέρων περιορισμένοι υπολογιστικοί

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

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις Γαβαλάς Δαμιανός

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

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις 2 Ανατομία ενός προγράμματος

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

Εγκατάσταση IIS (Internet Information Server) 7.0 / 7.5 / 8.0

Εγκατάσταση IIS (Internet Information Server) 7.0 / 7.5 / 8.0 Εγκατάσταση IIS (Internet Information Server) 7.0 / 7.5 / 8.0 Ο IIS (Internet Information Server) είναι το λογισμικό εξυπηρετητή παγκόσμιου ιστού (web server) της Microsoft για την πλατφόρμα των Windows.

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

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth.

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth. Το πρόγραμμα HelloWorld.java Σχόλια στη Java HelloWorld Παύλος Εφραιμίδης pefraimi ee.duth.gr Java Το πρόγραμμα HelloWorld 1 Java Το πρόγραμμα HelloWorld 2 Σχόλια στη Java ΗγλώσσαJava υποστηρίζει

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

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade Για να ελέγξετε το λογισμικό που έχει τώρα η συσκευή κάντε κλικ Menu > Options > Device > About Device Versions. Στο πιο κάτω παράδειγμα η συσκευή έχει έκδοση λογισμικού 6.0.0.546 με πλατφόρμα 6.6.0.207.

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

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή περιορισμένοι υπολογιστικοί / αποθηκευτικοί πόροι δεν τίθεται θέμα

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

ΑΛΛΗΛΕΠΙΔΡΑΣΗ ΑΝΘΡΩΠΟΥ - ΥΠΟΛΟΓΙΣΤΗ

ΑΛΛΗΛΕΠΙΔΡΑΣΗ ΑΝΘΡΩΠΟΥ - ΥΠΟΛΟΓΙΣΤΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΜΑΘΗΜΑ ΕΠΙΛΟΓΗΣ ΗΥ-464 ΑΛΛΗΛΕΠΙΔΡΑΣΗ ΑΝΘΡΩΠΟΥ - ΥΠΟΛΟΓΙΣΤΗ Διδάσκων: Κωνσταντίνος Στεφανίδης Championed by Google and owned by Open

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

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή η εφαρμογή είναι γνωστή εκ των προτέρων περιορισμένοι υπολογιστικοί

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

Android Studio για Windows

Android Studio για Windows Android Studio για Windows 1. Οδηγίες Εγκατάστασης: 1. Κατεβάστε το Android Studio από εδώ (τελευταία έκδοση 0.4.6, 496 MB): http://developer.android.com/sdk/installing/studio.html 2. Εγκαταστήστε το αρχείο

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

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες: Εργαστήριο Java Διδάσκουσα: Πρέντζα Ανδριάνα aprentza@unipi.gr Εργαστηριακοί Συνεργάτες: Γεωργιοπούλου Ρούλα Λύβας Χρήστος roulageorio@ssl-unipi.gr clyvas@unipi.gr Εργαστήρια Δευτέρα 18:00-20:00,Τρίτη

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

2.1 Αντικειµενοστρεφής προγραµµατισµός

2.1 Αντικειµενοστρεφής προγραµµατισµός 2.1 Αντικειµενοστρεφής προγραµµατισµός Στον αντικειµενοστρεφή προγραµµατισµό (object oriented programming, OOP) ένα πρόγραµµα υπολογιστή είναι ένα σύνολο αλληλεπιδρώντων αντικειµένων. Μπορεί να ειπωθεί

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

Κεφάλαιο 1. Νήματα (Threads). Time Sharing

Κεφάλαιο 1. Νήματα (Threads). Time Sharing Κεφάλαιο 1. Νήματα (Threads). Time Sharing Η επεξεργαστική ισχύς είναι ένας πόρος περιορισμένος (ιδιαίτερα στις προηγούμενες δεκαετίες) ο οποίος θέλουμε να εξυπηρετεί ταυτόχρονα πολλές εργασίες. Στους

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

Βιοϊατρική τεχνολογία

Βιοϊατρική τεχνολογία Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Βιοϊατρική τεχνολογία Ενότητα 5: Οξύμετρο (OxyPro Project) Αν. καθηγητής Αγγελίδης Παντελής e-mail: paggelidis@uowm.gr ΕΕΔΙΠ Μπέλλου Σοφία e-mail: sbellou@uowm.gr

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Υπόδειγμα εξωφύλλου του αντιτύπου που υποβάλλεται στις βιβλιοθήκες (διπλωματική εργασία) ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

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

Γλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά

Γλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά Γλώσσα Προγραμματισμού C++ Εισαγωγή - Μια πρώτη ματιά Βασικά χαρακτηριστικά αναπτύχθηκε ως επέκταση της C το 1979 υπερσύνολο της C γλώσσα γενικού σκοπού, γρήγορη, Αντικειμενοστραφής προγραμματισμός (Object

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

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

ΛΟΓΙΣΜΙΚΟ (software) ΛΟΓΙΣΜΙΚΟ (software) Το Λογισµικό του Ηλεκτρονικού Υπολογιστή Περιεχόµενα Ορισµός Λογισµικού Κατηγορίες Λογισµικό Συστήµατος Λογισµικό Εφαρµογών Το λογισµικό είναι: Το λογισµικό Το σύνολο των προγραµµάτων

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

Οπτικός Προγραμματισμός σε NetBeans με Java Swing

Οπτικός Προγραμματισμός σε NetBeans με Java Swing Οπτικός Προγραμματισμός σε NetBeans με Java Swing 1 NetBeans Το NetBeans είναι το επίσημο ολοκληρωμένο περιβάλλον ανάπτυξης (IDE - Integrated Development Environment) για υλοποίηση εφαρμογών σε Java 8.

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

Αναπτύσσοντας developer tools στην Αpple. Αργύριος Κυρτζίδης Προπτυχιακός φοιτητής ΗΜΜΥ

Αναπτύσσοντας developer tools στην Αpple. Αργύριος Κυρτζίδης Προπτυχιακός φοιτητής ΗΜΜΥ Αναπτύσσοντας developer tools στην Αpple Αργύριος Κυρτζίδης Προπτυχιακός φοιτητής ΗΜΜΥ Apple Inc. Apple Inc. Από τις μεγαλύτερες τεχνολογικές εταιρίες Apple Inc. Από τις μεγαλύτερες τεχνολογικές εταιρίες

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

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

Λιόλιου Γεωργία. ιατµηµατικό Πρόγραµµα Μεταπτυχιακών Σπουδών στα Πληροφοριακά Συστήµατα ιατµηµατικό Πρόγραµµα Μεταπτυχιακών Σπουδών στα Πληροφοριακά Συστήµατα Λιόλιου Γεωργία ΕπιβλέπουσαΚαθηγήτρια: ΣατρατζέµηΜάγια, καθηγήτρια, τµ. ΕφαρµοσµένηςΠληροφορικής, ΠΑΜΑΚ Εισαγωγή Γενικά στοιχεία εφαρµογή

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

ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Τηλεπληροφορικής & Διοίκησης

ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Τηλεπληροφορικής & Διοίκησης ΤΕΙ ΗΠΕΙΡΟΥ Τμήμα Τηλεπληροφορικής & Διοίκησης ΕΓΚΑΤΑΣΤΑΣΗ & ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗ INTERNET INFORMATION SERVER (IIS) ΓΙΑ ΥΛΟΠΟΙΗΣΗ ΥΠΗΡΕΣΙΩΝ ΔΙΑΔΙΚΤΥΟΥ (WEB SERVICES) ΣΠΟΥΔΑΣΤΡΙΑ:Μπάρδα Μαρία ΕΙΣΗΓΗΤΗΣ: Τσιαντής

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

CYTA Cloud Server Set Up Instructions

CYTA Cloud Server Set Up Instructions CYTA Cloud Server Set Up Instructions ΕΛΛΗΝΙΚΑ ENGLISH Initial Set-up Cloud Server To proceed with the initial setup of your Cloud Server first login to the Cyta CloudMarketPlace on https://cloudmarketplace.cyta.com.cy

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

ΚΕΦΑΛΑΙΟ 6. Περιβάλλοντα Ανάπτυξης Εφαρμογών. ΚΕΦΑΛΑΙΟ 6 Περιβάλλοντα Ανάπτυξης Εφαρμογών. Α Γενικού Λυκείου

ΚΕΦΑΛΑΙΟ 6. Περιβάλλοντα Ανάπτυξης Εφαρμογών. ΚΕΦΑΛΑΙΟ 6 Περιβάλλοντα Ανάπτυξης Εφαρμογών. Α Γενικού Λυκείου 49 Διδακτικές ενότητες 6.1 Γλώσσες και εργαλεία προγραμματισμού 6.2 Σύγχρονα προγραμματιστικά περιβάλλοντα Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν την ανάγκη ύπαρξης τόσο

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

Εισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #13

Εισαγωγή στον Αντικειμενοστρέφή Προγραμματισμό Διάλεξη #13 Wrapper Classes, Abstract Classes and Interfaces Διάλεξη #13: Μεταβλητές/μέθοδοι κλάσης, αφηρημένες κλάσεις και διαπροσωπείες Μεταβλητές /πεδία κλάσης [class variables] Τα αντικείμενα ανήκουν σε κλάσεις

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

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

ΠΡΟΛΟΓΟΣ. Σε ποιους απευθύνεται αυτό το βιβλίο... vi Διάρθρωση του βιβλίου... vi Πίνακας Περιεχομένων ΠΡΟΛΟΓΟΣ V Σε ποιους απευθύνεται αυτό το βιβλίο... vi Διάρθρωση του βιβλίου... vi 1η Ενότητα: Κινητός ιστός... vii 2η Ενότητα: Κινητές εφαρμογές στην πλατφόρμα Android... vii 3η Ενότητα:

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

JOOMLA CMS ΒΑΣΙΚΗ ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗ (PART I)

JOOMLA CMS ΒΑΣΙΚΗ ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗ (PART I) JOOMLA CMS ΒΑΣΙΚΗ ΠΑΡΑΜΕΤΡΟΠΟΙΗΣΗ (PART I) Δημήτρης Μακρής Advanced Topics in Telecoms 1 Ο ΒΗΜΑ: ΞΕΚΙΝΩΝΤΑΣ ΤΟ JOOMLA 1 Ο ΒΗΜΑ: ΞΕΚΙΝΩΝΤΑΣ ΤΟ JOOMLA 1 Ο ΒΗΜΑ: ΞΕΚΙΝΩΝΤΑΣ ΤΟ JOOMLA 2 Ο ΒΗΜΑ: ΔΙΑΧΕΙΡΙΖΟΝΤΑΣ

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

03 Η ιδεατή μηχανή της Java

03 Η ιδεατή μηχανή της Java 03 Η ιδεατή μηχανή της Java Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών, ΕΚΠΑ Εαρινό εξάμηνο 2016 17 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Περιεχόμενα Η πλατφόρμα της Java γενικά Εισαγωγή στο

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

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

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; Εισαγωγή Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; 1. Σελίδα μαθήματος Εγγραφή Ο κάθε φοιτητής πρέπει να κάνει εγγραφή στη σελίδα του μαθήματος στην πλατφόρμα e-class

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

APP INVENTOR ΜΕΡΟΣ A - 1 Η ΕΒΔΟΜΑΔΑ. Σοφία Τζελέπη,

APP INVENTOR ΜΕΡΟΣ A - 1 Η ΕΒΔΟΜΑΔΑ. Σοφία Τζελέπη, APP INVENTOR ΜΕΡΟΣ A - 1 Η ΕΒΔΟΜΑΔΑ Σοφία Τζελέπη, stzelepi@sch.gr App Inventor 2 Google, 15 Dec 2010 MIT, 1 Jan 2012 Cloud-based software Gmail account Android Phone Τι μπορώ να κάνω; 3 animations games

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

Δημιουργία Λογαριασμού Διαχείρισης Business Telephony Create a Management Account for Business Telephony

Δημιουργία Λογαριασμού Διαχείρισης Business Telephony Create a Management Account for Business Telephony Δημιουργία Λογαριασμού Διαχείρισης Business Telephony Create a Management Account for Business Telephony Ελληνικά Ι English 1/7 Δημιουργία Λογαριασμού Διαχείρισης Επιχειρηματικής Τηλεφωνίας μέσω της ιστοσελίδας

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

Παράρτημα A: PHP, HTML φόρμες και το πρωτόκολλο HTTP.

Παράρτημα A: PHP, HTML φόρμες και το πρωτόκολλο HTTP. Εργαστήριο #5 Τι πρέπει να έχετε ολοκληρώσει από το προηγούμενο εργαστήριο. Θα πρέπει να ξέρετε να εισάγετε ένα βασικό πρόγραμμα PHP μέσα σε μια ιστοσελίδα, τη χρήση της echo και τον χειρισμό απλών μεταβλητών

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

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

Αντικειµενοστρεφής Προγραµµατισµός 16 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη

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

Η γλώσσα προγραμματισμού C

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

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

B. Ενσωμάτωση Ιθαγενών Μεθόδων

B. Ενσωμάτωση Ιθαγενών Μεθόδων B. Ενσωμάτωση Ιθαγενών Μεθόδων Στο τέλος αυτού του κεφαλαίου θα μπορείτε: Να δημιουργείτε κώδικα Java που θα φορτώνει βιβλιοθήκες και θα καλεί ιθαγενείς μεθόδους (native methods). Να χρησιμοποιείτε τη

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

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

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

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

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

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

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

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol HTTP Protocol Web and HTTP Βασικά Συστατικά: Web Server Web Browser HTTP Protocol Web Servers (1/2) Ένα πρόγραμμα (λογισμικό) που έχει εγκατασταθεί σε ένα υπολογιστικό σύστημα (έναν ή περισσότερους υπολογιστές)

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ Ανάπτυξη Εφαρμογής Διαχείρισης Εσόδων Εξόδων σε Android Application Development of a Money Manager in Android ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ του ΜΛΑΔΕΝΗ ΑΝΤΩΝΙΟΥ Υπεύθυνος

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥ ΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥ ΩΝ ΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ Υλοποίηση εφαρµογής κινητού τηλεφώνου µε χρήση της πλατφόρµας Google Android Εµµανουήλ Α. Γιακουµέλης Επιβλέπων:

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

Η ιδεατή μηχανή της Java

Η ιδεατή μηχανή της Java Η ιδεατή μηχανή της Java Τεχνολογία Λογισμικού Τμήμα Πληροφορικής & Τηλεπικοινωνιών Εθνικό και Καποδιστριακό Πανεπιστήμιο Αθηνών Εαρινό εξάμηνο 2017 18 Δρ. Κώστας Σαΐδης saiko@di.uoa.gr Περιεχόμενα Η πλατφόρμα

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

Εργαστηριακές Σημειώσεις

Εργαστηριακές Σημειώσεις Πολυμεσικές Υπηρεσίες στην Υγεία [κωδ. μαθήματος ΛΟΓ51] Εργαστηριακές Σημειώσεις ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΕΡΙΒΑΛΛΟΝ ANDROID Μανώλης Τσικνάκης, Αλέξανδρος Ρονιώτης, Ευαγγελία Μανιαδή Ηράκλειο 2016 κεφαλαιο

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

Android Studio για Linux

Android Studio για Linux Android Studio για Linux 1. Οδηγίες Εγκατάστασης: 1. Κατεβάστε το Android Studio από εδώ (τελευταία έκδοση 0.4.6, 496 MB): http://developer.android.com/sdk/installing/studio.html 2. Επιλέξτε το πακέτο

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

Cloud Computing with Google and Microsoft. Despoina Trikomitou Andreas Diavastos Class: EPL425

Cloud Computing with Google and Microsoft. Despoina Trikomitou Andreas Diavastos Class: EPL425 Cloud Computing with Google and Microsoft Despoina Trikomitou Andreas Diavastos Class: EPL425 Σχεδιάγραμμα Εισαγωγή Τεχνολογίες Cloud Computing Περιγραφή Εργασίας Επιτεύγματα Εργασίας Συμπεράσματα Cloud

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors, equals, tostring Constructors (Δημιουργοί) O Constructor είναι μια «μέθοδος» η οποία καλείται όταν δημιουργούμε το αντικείμενο

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

ΚΕΦΑΛΑΙΟ Web Services

ΚΕΦΑΛΑΙΟ Web Services ΚΕΦΑΛΑΙΟ Web Services Προϋποθέσεις εγκατάστασης Web Services για το Κεφάλαιο 4.50 1. Κεφάλαιο έκδοση 4.51e build 458 ή νεότερο 2. Internet Information Server (IIS) version 6 ή νεότερος 3. Σε κάποιον υπολογιστή

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

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions)

Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions) Αποθηκευμένες Διαδικασίες Stored Routines (Procedures & Functions) Αυγερινός Αραμπατζής avi@ee.duth.gr www.aviarampatzis.com Βάσεις Δεδομένων Stored Procedures 1 Stored Routines (1/2) Τμήματα κώδικα τα

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

MIPS Interactive Learning Environment. MILE Simulator. Version 1.0. User's Manual

MIPS Interactive Learning Environment. MILE Simulator. Version 1.0. User's Manual MILE Simulator Version 1.0 User's Manual Νοέμβριος, 2011 Περιεχόμενα 1. Εισαγωγή στον προσομοιωτή...2 1.1 Εγκατάσταση...2 1.2 Βοήθεια Διευκρινήσεις...2 2. Ξεκινώντας με τον προσομοιωτή...3 2.1 Το memory

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

Ανάπτυξη Εφαρμογής Ταξίμετρου σε Android

Ανάπτυξη Εφαρμογής Ταξίμετρου σε Android 2014 Ανάπτυξη Εφαρμογής Ταξίμετρου σε Android Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων Μεταπτυχιακό Πρόγραμμα Σπουδών: «Ψηφιακές Επικοινωνίες και Δίκτυα» Ανάπτυξη Εφαρμογής Ταξίμετρου σε πλατφόρμα

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

ΔΗΜΙΟΥΡΓΙΑMOBILE ΕΦΑΡΜΟΓΩΝ ΓΙΑ ANDROID ΣΥΣΚΕΥΕΣ ΜΕ APPINVENTOR

ΔΗΜΙΟΥΡΓΙΑMOBILE ΕΦΑΡΜΟΓΩΝ ΓΙΑ ANDROID ΣΥΣΚΕΥΕΣ ΜΕ APPINVENTOR ΔΗΜΙΟΥΡΓΙΑMOBILE ΕΦΑΡΜΟΓΩΝ ΓΙΑ ANDROID ΣΥΣΚΕΥΕΣ ΜΕ APPINVENTOR Σοφία Τζελέπη Σύμβουλος Πληροφορικής Δυτ. Θεσ/νικης Απρίλιος 2013 http://users.sch.gr/stzelepi/portal stzelepi@sch.gr ΑΠΡΙΛΙΟΣ 2013 App Inventor

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

Κατανεμημένα Συστήματα

Κατανεμημένα Συστήματα Κατανεμημένα Συστήματα Σημειώσεις εργαστηρίου Lab#7 - Διεργασίες, Nήματα, Πολυνημάτωση στη Python Νεβράντζας Βάιος-Γερμανός Λάρισα, Φεβρουάριος 2013 Lab#7 - Διεργασιές, Νη ματα, Πολυνημα τωση στη Python,

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

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

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα για τη γλώσσα C: τον gcc μεταγλωττιστή της C σε περιβάλλον

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

Αντικείμενα στη Java. Παύλος Εφραιμίδης. Java Αντικείμενα στη Java 1

Αντικείμενα στη Java. Παύλος Εφραιμίδης. Java Αντικείμενα στη Java 1 Αντικείμενα στη Java Παύλος Εφραιμίδης Java Αντικείμενα στη Java 1 Αντικείμενα (Objects) στην Java Ένα πρόγραμμα Java κατά την εκτέλεσή του δημιουργεί αντικείμενα τα αντικείμενα αλληλεπιδρούν, στέλνοντας

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

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

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Δυναμική προσωποποιημένη ενημέρωση προσφορών Super Markets στη Θεσσαλονίκη ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Δυναμική προσωποποιημένη ενημέρωση προσφορών Super Markets στη Θεσσαλονίκη Παπαδόπουλου Κυριάκου Αρ. Μητρώου: 093507 Επιβλέπων καθηγητής: Ηλιούδης Χρήστος Εισαγωγή - Σκοπός Εργασίας Καινοτόμες

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

Παράλληλη Επεξεργασία

Παράλληλη Επεξεργασία Παράλληλη Επεξεργασία Φροντιστήριο: Εισαγωγή στο OpenMP Εργαστήριο Πληροφοριακών Συστημάτων Υψηλής Επίδοσης Parallel and Distributed Systems Group Τι είναι το OpenMP Πρότυπο Επέκταση στη C/C++ και τη Fortran

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

ΕΠΛ 233: Αντικειμενοστρεφής Προγραμματισμός (Object-oriented programming)

ΕΠΛ 233: Αντικειμενοστρεφής Προγραμματισμός (Object-oriented programming) ΕΠΛ 233: Αντικειμενοστρεφής Προγραμματισμός (Object-oriented programming) Πληροφορίες Μαθήματος Διαλέξεις Δευτέρα, Πέμπτη 10:30-12:00 Κτήριο ΘΕΕ01, Αίθουσα 202 Εργαστήριο Τετάρτη 10:30-12:00, Κτήριο ΘΕΕ01,

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

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

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 Ηλεκτρονικός Υπολογιστής αποτελείται: 1. Από Υλικό Hardware (CPUs, RAM, Δίσκοι), & 2. Λογισμικό - Software Και μπορεί να εκτελέσει διάφορες

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

Εισαγωγικές έννοιες. Ιωάννης Γ. Τσούλος 2014

Εισαγωγικές έννοιες. Ιωάννης Γ. Τσούλος 2014 Εισαγωγικές έννοιες Ιωάννης Γ. Τσούλος 2014 Διάγραμμα παρουσιάσεως 1. Κατηγορίες κινητών τηλεφώνων 2. Κατηγορίες έξυπνων κινητών τηλεφώνων 3. Προγραμματισμός κινητών συσκευών 4. Ξεκίνημα με το Eclipse

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

Σύστημα διαχείρισης μετακινήσεων στα ΜΜΜ (Μέσα Μαζικής Μετακίνησης) με ειδοποίηση

Σύστημα διαχείρισης μετακινήσεων στα ΜΜΜ (Μέσα Μαζικής Μετακίνησης) με ειδοποίηση ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ Σύστημα διαχείρισης μετακινήσεων στα ΜΜΜ (Μέσα Μαζικής Μετακίνησης) με ειδοποίηση Του φοιτητή Λαμπρόπουλος Αλέξανδρος Επιβλέπων καθηγητής Ιγνάτιος Δεληγιάννης Αρ. Μητρώου: 08/3319 Θεσσαλονίκη

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

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Αρχές Τεχνολογίας Λογισμικού Εργαστήριο Κωδικός Μαθήματος: TP323 Ώρες Εργαστηρίου: 2/εβδομάδα (Διαφάνειες Νίκου Βιδάκη) 1 JAVA Inheritance Εβδομάδα Νο. 3 2 Προηγούμενο μάθημα (1/2) Τι είναι αντικείμενο?

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΕΙΣΑΓΩΓΗ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διάλεξη 1 ΕΙΣΑΓΩΓΗ Οι διαφάνειες έχουν καθαρά επικουρικό χαρακτήρα στην παρουσίαση των διαλέξεων του μαθήματος. Δεν αντικαθιστούν σε καμία περίπτωση την παρακάτω βιβλιογραφία που

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

Τεχνολογία Λογισμικού για κινητές εφαρμογές

Τεχνολογία Λογισμικού για κινητές εφαρμογές ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ «ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΔΙΟΙΚΗΣΗ» ΤΜΗΜΑΤΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΚΩΝ ΕΠΙΣΤΗΜΩΝ Τεχνολογία Λογισμικού για κινητές εφαρμογές

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

8 Maps. 8.1 Δημουργία Activity με χάρτη

8 Maps. 8.1 Δημουργία Activity με χάρτη 8 Maps Ένα πολύ σημαντικό κομμάτι πολλών εφαρμογών για κινητά, χρησιμοποιούν χάρτες και τη θέση του χρήστη για να πραγματοποιήσουν κάποιες λειτουργίες που δεν είναι δυνατόν να συμβούν με έναν απλό υπολογιστή.

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

Οδηγίες Αγοράς Ηλεκτρονικού Βιβλίου Instructions for Buying an ebook

Οδηγίες Αγοράς Ηλεκτρονικού Βιβλίου Instructions for Buying an ebook Οδηγίες Αγοράς Ηλεκτρονικού Βιβλίου Instructions for Buying an ebook Βήμα 1: Step 1: Βρείτε το βιβλίο που θα θέλατε να αγοράσετε και πατήστε Add to Cart, για να το προσθέσετε στο καλάθι σας. Αυτόματα θα

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

Γενικά (για τις γραπτές εξετάσεις)

Γενικά (για τις γραπτές εξετάσεις) Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Διάλεξη #12 η : Επανάληψη Γαβαλάς Δαμιανός dgavalas@aegean.gr Γενικά (για τις γραπτές εξετάσεις) Δεν υπάρχει αυστηρά ορισμένη «ύλη εξετάσεων» (καθώς δεν έχετε

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

HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο

HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο 2016-2017 Δέυτερη Προγραμματιστική Εργασία Προθεσμία παράδοσης: 19/6/2017 1. Γενική Περιγραφή Στην δεύτερη προγραμματιστική εργασία καλείστε να υλοποιήσετε

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

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #17

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #17 Week 10: Graphical User Interfaces Έννοιες του προγραμματισμού ΓΠΕ [GUI] Διάλεξη #17: Εισαγωγή στα Γραφικά Περιβάλλοντα Επικοινωνίας [Graphical User Interfaces] Συστατικά [components] Διάταξη [layout]

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

Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα

Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα ΝΗΜΑΤΑ ΣΤΗ JAVA (1) Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα πρόγραµµα. Αιτία Η δυνατότητα αποµόνωσης (ή αυτονόµησης) κάποιων

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

Λειτουργικά Συστήματα Η/Υ

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 4 «Αρχιτεκτονικές ΛΣ» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 1. Μονολιθικά συστήματα Αρχιτεκτονικές ΛΣ 2. Στρωματοποιημένη αρχιτεκτονική 3. Αρχιτεκτονική

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

Αντικείμενα (Objects) στην Java. Αντικείμενα στη Java. Δημιουργία Αντικειμένων. Δηλώσεις Μεταβλητών (2) Ο τελεστής new (1)

Αντικείμενα (Objects) στην Java. Αντικείμενα στη Java. Δημιουργία Αντικειμένων. Δηλώσεις Μεταβλητών (2) Ο τελεστής new (1) Αντικείμενα (Objects) στην Java Αντικείμενα στη Java Παύλος Εφραιμίδης Ένα πρόγραμμα Java κατά την εκτέλεσή του δημιουργεί αντικείμενα τα αντικείμενα αλληλεπιδρούν, στέλνοντας μηνύματα το ένα στο άλλο

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

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές τύπων, δημιουργία τυχαίων αριθμών, λήψη εισόδου από χρήστη Λογικά λάθη public class ShowLogicErrors

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