Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Διάλεξη 8 Εισαγωγή σε Android Δομή αρχείων σε Android Projects Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ανάπτυξη Λογισμικού Χειμερινό Εξάμηνο 2014-2015 1.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Διάλεξη 8 Εισαγωγή σε Android Δομή αρχείων σε Android Projects Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ανάπτυξη Λογισμικού Χειμερινό Εξάμηνο 2014-2015 1."— Μεταγράφημα παρουσίασης:

1 Διάλεξη 8 Εισαγωγή σε Android Δομή αρχείων σε Android Projects Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ανάπτυξη Λογισμικού Χειμερινό Εξάμηνο Διάλεξη 8 1

2  Εισαγωγή σε Android  Δομή αρχείων σε Android Projects Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ανάπτυξη Λογισμικού Χειμερινό Εξάμηνο Διάλεξη 8 2

3 Τι είναι το Android  Μια στοίβα λογισμικού για κινητές συσκευές που περιλαμβάνει Λειτουργικό σύστημα Middleware Βασικές εφαρμογές  Χρησιμοποιεί Linux για να παρέχει υπηρεσίες συστήματος Ασφάλεια Διαχείριση μνήμης Διαχείριση διεργασιών Διαχείριση ενέργειας Drive r s υλικού Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ανάπτυξη Λογισμικού Χειμερινό Εξάμηνο Διάλεξη 8 3

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

5 Dalvik VM Executable files Compile time Dalvik Virtual Machine  Μεταγλώττιση κώδικα σε machine-independent εντολές (bytecodes) executed by the Dalvik VM on the mobile device.  Βελτιστοποιημένο JVM με χαμηλές απαιτήσεις μνήμης  Βασισμένο στο Linux Kernel για Threading Low-level διαχείριση μνήμης  Δυνατότητα πολλαπλών VM στιγμιοτύπων που επωφελούνται από το Linux OS για απομόνωση ασφάλειας και διεργασιών.dex files.class files.jar files.jar files Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ανάπτυξη Λογισμικού Χειμερινό Εξάμηνο Διάλεξη 8 5

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

7 Βασικά Δομικά Συστατικά Android  Activity Το στρώμα παρουσίασης της εφαρμογής Μια εφαρμογή μπορεί να έχει περισσότερα του ενός activities για διαχείριση διαφορετικών φάσεων του προγράμματος Κάθε activity είναι υπεύθυνο να αποθηκεύει την δική του κατάσταση  Intent Μηχανισμός που καθορίζει ποια συγκεκριμένη ενέργεια (action) πρέπει να εκτελεστεί Σε android σχεδόν ΟΛΕΣ οι αλληλοεπιδράσεις γίνονται μέσω intents  Service Διεργασία που τρέχει στο παρασκήνιο χωρίς τη παρέμβαση του χρήστη. Δεν παρέχει UI στο χρήστη Παρόμοιο με Unix daemon Υπάρχουν πολλά built-in services σε Android  Content Providers Επιτρέπουν σε μια εφαρμογή να έχει πρόσβαση σε δεδομένα άλλων εφαρμογών (π.χ. Contacts) Επιτρέπουν σε μια εφαρμογή να διαμοιράζει τα δεδομένα που παράγει σε άλλες εφαρμογές Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ανάπτυξη Λογισμικού Χειμερινό Εξάμηνο Διάλεξη 8 7

8 Βασικά Δομικά Συστατικά Android  Views Lists, grids, text boxes, buttons ακόμα και ένας embeddable web browser  Activity Manager Διαχειρίζεται τον κύκλο ζωής (life cycle) των εφαρμογών και παρέχει ένα κοινό τρόπο προσπέλασης  Notification Manager Επιτρέπει στις εφαρμογές να παρουσιάζουν μηνύματα συναγερμών (alerts) στην γραμμή κατάστασης (status bar)  Resource Manager Παρέχει στην εφαρμογή πρόσβαση σε αρχεία εκτός των αρχείων κώδικα, π.χ. localized strings, graphics, layout files  Data storage Παρέχει τα δεδομένα στην εφαρμογή και μπορεί να διαμοιραστεί μεταξύ διαφορετικών εφαρμογών. Βάσεις δεδομένων, αρχεία και preferences (hash map) μπορούν να προσπελαστούν από ομάδες εφαρμογών  Broadcast receivers Προκαλούν την δημιουργία intents που μπορούν προκαλέσουν την εκτέλεση κώδικα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ανάπτυξη Λογισμικού Χειμερινό Εξάμηνο Διάλεξη 8 8

9 Εγκατάσταση Android SDK  Λήψη του Android SDK.  Εγκατάσταση plugin ανάλογα με το περιβάλλον IDE ADT plugin για Eclipse NBAndroid plugin για Netbeans  Λήψη SDK tools and platforms μέσω του SDK Manager. Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ανάπτυξη Λογισμικού Χειμερινό Εξάμηνο Διάλεξη 8 9

10  Εισαγωγή σε Android  Δομή αρχείων σε Android Projects Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ανάπτυξη Λογισμικού Χειμερινό Εξάμηνο Διάλεξη 8 10

11 Δομή αρχείων σε Android Projects 11 Source code Auto-generated code Auto-generated code UI layout String constants String constants Configuration Files Images Διάλεξη 8

12 Android manifest file (1/2)  Κάθε εφαρμογή έχει ένα αρχείο AndroidManifest.xml που παρέχει σημαντικές πληροφορίες για την εφαρμογή στο OS Δίνει όνομα στο Java πακέτο για την εφαρμογή το οποίο αποτελεί μοναδικό αναγνωριστικό για την εφαρμογή Περιγράφει τα components της εφαρμογής (activities, services, content providers κλπ.) Καθορίζει τα δικαιώματα που πρέπει να έχει η εφαρμογή για να έχει πρόσβαση σε προστατευόμενα κομμάτια του API και να αλληλεπιδρά με άλλες εφαρμογές καθώς επίσης και τα δικαιώματα που πρέπει να έχουν άλλες εφαρμογές για να αλληλεπιδρούν με αυτή Κατά την ανάπτυξη και τον έλεγχο της εφαρμογής το αρχείο αυτό περιέχει τις Instrumentation κλάσεις που παρέχουν δυνατότητα monitoring των αλληλεπιδράσεων του συστήματος με την εφαρμογή. Όταν δημοσιοποιείται η εφαρμογή τότε αφαιρούνται αυτές από το αρχείο. Καθορίζει το ελάχιστο επίπεδο Android API που απαιτείται από την εφαρμογή Περιέχει λίστα με τις βιβλιοθήκες με τις οποίες πρέπει να συνδεθεί η εφαρμογή.  Περισσότερες πληροφορίες: Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ανάπτυξη Λογισμικού Χειμερινό Εξάμηνο Διάλεξη 8 12

13 Android manifest file (2) Application permissions Activities Intents SDK versions Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ανάπτυξη Λογισμικού Χειμερινό Εξάμηνο Διάλεξη 8 13

14 Κλάση Activity  Κάθε διεπαφή χρήστη αναπαρίσταται από μία κλάση Activity  Κάθε activity έχει το δικό του κύκλο ζωής  Μία εφαρμογή έχει ένα ή περισσότερα activities και μία διεργασία Linux που τα περιέχει  Διεργασία != Εφαρμογή Μία εφαρμογή μπορεί να είναι «ζωντανή» ακόμα και αν δεν ισχύει το ίδιο για τη διεργασία της  extends Activity  override onCreate Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ανάπτυξη Λογισμικού Χειμερινό Εξάμηνο Διάλεξη 8 14

15 Απλή Κλάση Activity UI Layout activity_main.xml /src/gr/uoa/di/helloandroid/MainActivity.java Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ανάπτυξη Λογισμικού Χειμερινό Εξάμηνο Διάλεξη 8 15

16 Απλό UI Layout XML TextView Component /res/layout/activity_main.xml String hello_word Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ανάπτυξη Λογισμικού Χειμερινό Εξάμηνο Διάλεξη 8 16

17 Απλό αρχείο string resources /res/values/strings.xml String hello_word Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ανάπτυξη Λογισμικού Χειμερινό Εξάμηνο Διάλεξη 8 17

18 Κλάση Activity (Παράδειγμα) UI Layout activity_main.xml References to components of activity_main.xml Μέθοδος που καλείται όταν πατηθεί το κουμπί Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ανάπτυξη Λογισμικού Χειμερινό Εξάμηνο Διάλεξη 8 18

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

20 Αρχείο string resources (Παράδειγμα) Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ανάπτυξη Λογισμικού Χειμερινό Εξάμηνο Διάλεξη 8 20

21 Εκτέλεση στον Emulator (Παράδειγμα) Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ανάπτυξη Λογισμικού Χειμερινό Εξάμηνο Διάλεξη 8 21

22 Activity Lifecycle  Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ανάπτυξη Λογισμικού Χειμερινό Εξάμηνο Διάλεξη 8 22 Καλείται όταν το activity πρωτοξεκινά. Μπορεί να χρησιμοποιηθεί για αρχικοποίηση της διεπαφής χρήστη. Παίρνει μία παράμετρο null ή πληροφορίες κατάστασης που είχαν αποθηκευτεί από την μέθοδο onSaveInstanceState() Το activity είναι έτοιμο για εμφάνιση προς το χρήστη Καλείται όταν το activity είναι έτοιμο να αλληλεπιδρά με τον χρήστη. Καλείται όταν το activity καταστρέφεται Καλείται όταν το activity δεν είναι ορατό πλέον στο χρήστη Εκτελείται όταν το activity είναι έτοιμο να πάει στο παρασκήνιο (background), συνήθως επειδή ένα άλλο activity ξεκινάει. Εδώ πρέπει να αποθηκεύονται όποιες αλλαγές έχει κάνει το πρόγραμμα.

23 Αναφορές  Android Official Training:  Android Documentation: s.html s.html  Android Permissions ty/permissions.html Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ανάπτυξη Λογισμικού Χειμερινό Εξάμηνο Διάλεξη 8 23


Κατέβασμα ppt "Διάλεξη 8 Εισαγωγή σε Android Δομή αρχείων σε Android Projects Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ανάπτυξη Λογισμικού Χειμερινό Εξάμηνο 2014-2015 1."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google