Σπίτι Προσωπικά Οικονομικά Προγραμματισμός με την Java: Κάποιες Παρατηρήσεις σχετικά με τις Μαθήματα Android - dummy

Προγραμματισμός με την Java: Κάποιες Παρατηρήσεις σχετικά με τις Μαθήματα Android - dummy

Πίνακας περιεχομένων:

Βίντεο: Supersection Week 1 2024

Βίντεο: Supersection Week 1 2024
Anonim

Όταν ξεκινάτε ένα νέο έργο Java, το Android Studio προσφέρει να δημιουργήσετε μια δραστηριότητα για το έργο σας. Το Android Studio σας προσφέρει διάφορα είδη δραστηριοτήτων, όπως Βασική Δραστηριότητα, Κενή Δραστηριότητα, Δραστηριότητα Σύνδεσης και ούτω καθεξής. Εάν ζητήσετε μια Empty Activity, θα λάβετε αυτόν τον κωδικό:

πακέτο com. allyourcode. a10_11;

εισαγωγή του Android. υποστήριξη. v7. app. AppCompatActivity;

Εισαγωγή του. os. Δέσμη;

η δημόσια κλάση MainActivity επεκτείνει το AppCompatActivity {

@Override

προστατεύεται void onCreate (Bundle savedInstanceState) {

σούπερ. onCreate (savedInstanceState);

setContentView (διάταγμα διάταξης.activity_main);

}

}

Ο κώδικας δηλώνει μια κλάση που ονομάζεται MainActivity . Αυτό το όνομα MainActivity δεν αποτελεί μέρος της βιβλιοθήκης API του Android. Είναι ένα όνομα που δημιουργείτε όταν δημιουργείτε ένα νέο πρόγραμμα Android. (Στην πραγματικότητα, το Android Studio αναπαριστά το όνομα. Αποδέχεστε το όνομα ή αλλάξτε το σε κάποιο άλλο όνομα όταν ακολουθείτε τα βήματα για να δημιουργήσετε ένα νέο έργο.)

Η κλάση MainActivity επεκτείνει μια κλάση που ανήκει στη βιβλιοθήκη SDK του Android, δηλαδή στην κλάση AppCompatActivity . Με άλλα λόγια, το αντικείμενο MainActivity είναι ένα αντικείμενο AppCompatActivity . Το αντικείμενο MainActivity έχει όλα τα δικαιώματα και τις ευθύνες που έχει οποιαδήποτε παράμετρος AppCompatActivity . Για παράδειγμα, η MainActivity έχει μια μέθοδο onCreate , την οποία παρακάμπτει.

MainActivity κληρονόμησε περίπου 460 γραμμές κώδικα από την κατηγορία AppCompatActivity της Android, η οποία κληρονόμησε περίπου 1.000 γραμμές από το FragmentActivity , η οποία κληρονόμησε περίπου 6, 700 γραμμές από την κλάση δραστηριότητας του Android. Οι κληρονομικές μέθοδοι συμπεριλαμβάνουν getCallingActivity , getCallingPackage , getParent , getTitleColor onKeyLongPress , onLowMemory , onMenuItemSelected , setTitle onBackPressed , setTitleColor , startActivity , φινίρισμα και πολλά, πολλά άλλα. Μπορείτε κληρονομούν όλες αυτές τις λειτουργίες με δύο απλές λέξεις: επεκτείνει AppCompatActivity . Στην ορολογία των οικογενειακών σχέσεων, η τάξη σας MainActivity είναι απόγονος της κατηγορίας Δραστηριότητα του Android. Η κλάση σας MainActivity είναι ένα είδος Δραστηριότητα .

Αυτή η εικόνα, που λαμβάνεται απευθείας από την ηλεκτρονική τεκμηρίωση του Android, συνοψίζει αυτές τις πληροφορίες σχετικά με την τάξη AppCompatActivity . Ένα οικογενειακό δέντρο AppCompatActivity. Σημειώστε τη σελίδα για εύκολη πρόσβαση στην τεκμηρίωση της βιβλιοθήκης API του Android. Εκτός από την ύπαρξη υποκατηγορίας, η κλάση AppCompatActivity υλοποιεί μια δέσμη διασυνδέσεων, συμπεριλαμβανομένης της διεπαφής AppCompatCallback, της διεπαφής TaskStackBuilder και άλλων. Δεν χρειάζεται να θυμάστε κάτι τέτοιο. Αν χρειάζεται να το γνωρίζετε, μπορείτε να το αναζητήσετε στη σελίδα τεκμηρίωσης του Android.

Η σούπερ λέξη-κλειδί της Java, που επανεξετάστηκε

Η λέξη

super αντιπροσωπεύει τον κατασκευαστή της υπερκλάσης. Ο διαφορετικός κώδικας χρησιμοποίησε τη λέξη σούπερ με διαφορετικούς τρόπους. Ναι, το σούπερ έχει πάντα σχέση με την τάξη γονέων μιας τάξης. Αλλά, όχι, super

δεν αναφέρεται πάντοτε στον κατασκευαστή της γονικής κλάσης.

Σε μια μέθοδο onCreate , η κλήση σούπερ. onCreate (savedInstanceState) στέλνει savedInstanceState στη μέθοδο onCreate γονικής κλάσης. Η γονική κλάση είναι η κλάση

AppCompatActivity . Έτσι, η Java καλεί τη μέθοδο AppCompatActivit y onCreate . Η μέθοδος AppCompatActivity onCreat e της κατηγορίας περιλαμβάνει τη δική της κλήση σε σούπερ. onCreate (savedInstanceState) . Ο γονέας της κατηγορίας AppCompatActivity είναι η κλάση FragmentActivity

. Έτσι, η Java περνάει savedInstanceState στη μέθοδο FragmentActivity onCreate της κλάσης. Και ούτω καθεξής. Μόλις φτάσετε στην κλάση Δραστηριότητα - ο προ-παππούς της κατηγορίας M ainActivity , ο κώδικας κάνει άμεση χρήση της μεταβλητής savedInstanceState . Από αυτές τις πληροφορίες savedInstanceState , ο κώδικας επαναφέρει τη δραστηριότητα όπως ήταν πριν το καταστρέψει το σύστημα. Casting, και πάλι

Όταν καλείτε findViewById , η Java δεν γνωρίζει τι είδους προβολή θα βρει. Η μέθοδος findViewById πάντα επιστρέφει μια εμφάνιση Προβολή , αλλά πολλές κατηγορίες του Android επεκτείνουν την κλάση Προβολή . Για παράδειγμα, τα

πλήκτρα

, TextView , ImageView , CheckBox , όλοι επεκτείνουν την κλάση Android View . Εάν πληκτρολογήσετε τον ακόλουθο κώδικα: // ΜΗΝ ΑΚΟΜΑΣΤΕ! ! TextView textView; textView = findViewById (κωδικός αναγνώρισης κειμένου); Η Java δίνει ένα ηχηρό βόμβο: "Πώς τολμάς να υποθέσεις ότι το αντικείμενο που επιστρέφεται από μια κλήση στο findViewById αναφέρεται σε μια εμφάνιση της κλάσης TextView ! "(Στην πραγματικότητα, η Java σιωπά και μηχανικά εμφανίζει μήνυμα σφάλματος Μη συμβατό τύπο στον επεξεργαστή του Android Studio.) Περιορισμός σημαίνει προσπάθεια εκχώρησης μιας

> int

. Μια τιμή

μακρά

έχει 64 μπιτ και μια τιμή int έχει μόνο 32 bits. Επομένως, η προσπάθεια για στένωση αποτυγχάνει. Στον κώδικα που βρίσκετε εδώ, η κακή κλήση findViewById είναι μια άλλη προσπάθεια να γίνει στενότητα - η απόδοση της τιμής Προβολή που επιστρέφεται με μια κλήση μεθόδου σε μια μεταβλητή

TextView.Η κλάση TextView είναι μια υποκατηγορία της κλάσης Προβολή , οπότε η ανάθεση αποτυγχάνει άθλια. χαλαρώστε τους θεούς Java προσθέτοντας έναν χειριστή χύτευσης στον κώδικα. Μπορείτε να πείτε στο Java να μετατρέψει οτιδήποτε ξεκινά από την κλήση μεθόδου findViewById σε αντικείμενο TextView . textView = (TextView) findViewById (Αναγνωριστικό κειμένου textView1); Κατά την πληκτρολόγηση του κώδικα, το Java χτυπάει εσείς και λέει: "Ο χειριστής του casting μου δείχνει ότι γνωρίζετε τη διαφορά μεταξύ TextView και κάθε παλιά Προβολή . Θα κάνω το καλύτερό μου για να ερμηνεύσω το αντικείμενο View

που βρίσκω στο runtime ως αντικείμενο TextView . "(Στην πραγματικότητα, ενώ πληκτρολογείτε τον κώδικα, η Java δεν λέει τίποτα.) Το γεγονός ότι η Java δεν εμφανίζει μηνύματα σφάλματος όταν χρησιμοποιείτε αυτό το τέχνασμα είναι ένα καλό σημάδι.Η δυνατότητα χύτευσης της Java αποθηκεύει την ημέρα!) Casting σας εμποδίζει να βλέπετε ένα μήνυμα σφάλματος κατά την ανάπτυξη του κώδικα σας. Με αυτόν τον τρόπο, η χύτευση είναι πολύ χρήσιμο χαρακτηριστικό της Java. Αλλά η χύτευση δεν μπορεί να σας εξοικονομήσει εάν ο κώδικας σας περιέχει σφάλματα χρόνου εκτέλεσης. Όταν πληκτρολογείτε textView = (TextView) findViewById (R id id textView1);

επιβεβαιώνετε ότι το όνομα textView αντιπροσωπεύει ένα γραφικό στοιχείο

TextView . Όταν εκτελείται η εφαρμογή, η Java αρπάζει το R. ταυτότητα. textView από το activity_main. xml αρχείο, και όλα λειτουργούν καλά. Αλλά μπορείτε μερικές φορές να ξεχάσετε να ελέγξετε το R σας. java ονόματα ενάντια στα στοιχεία του αρχείου XML. Μια κλήση στο findViewById

εκπλήσσει έκπληξη ένα στοιχείο

Button

όταν το casting σας λέει στην Java να περιμένει ένα widget TextView . Όταν συμβεί αυτό, το Java πνίγει στον χειριστή της χύτευσης και η εφαρμογή σας διακόπτεται κατά τη διάρκεια της εκτέλεσης. Πίσω στο σχεδιαστήριο!

Προγραμματισμός με την Java: Κάποιες Παρατηρήσεις σχετικά με τις Μαθήματα Android - dummy

Η επιλογή των συντακτών

Πρόσβαση χωρίς σύνδεση με το SharePoint Online Workspace - ανδρείκελοι

Πρόσβαση χωρίς σύνδεση με το SharePoint Online Workspace - ανδρείκελοι

Microsoft SharePoint Workspace είναι ο καλλιτέχνης παλαιότερα γνωστός ως Microsoft Office Groove desktop εφαρμογή προσαρμοσμένη για άτομα που θέλουν να συνεργάζονται σε έγγραφα online και offline. Προσφέρεται μαζί με το Office 2010 και παρέχει μια διεπαφή χρήστη παρόμοια με την Εξερεύνηση των Windows για προβολή και επεξεργασία αρχείων και λιστών από μια τοποθεσία του SharePoint. SharePoint Workspace ...

Διατίθενται στη δημοσίευση του SharePoint 2010 - dummies

Διατίθενται στη δημοσίευση του SharePoint 2010 - dummies

Το Site δημοσίευσης του sharePoint 2010 παρέχει μια πλούσια εμπειρία επεξεργασίας καθιστά εύκολο για ένα μη τεχνικό πρόσωπο να δημιουργήσει ιστοσελίδες. Η προσθήκη του περιεχομένου σας στη σελίδα είναι γρήγορη. Το SharePoint παρέχει πολλά είδη δοχείων περιεχομένου που μπορείτε να χρησιμοποιήσετε κατά τη δημιουργία της σελίδας σας, συμπεριλαμβανομένων των πλαισίων κειμένου μιας γραμμής για την εισαγωγή μιας απλής γραμμής κειμένου ...

Για ιστότοπους SharePoint Online - dummies

Για ιστότοπους SharePoint Online - dummies

Μπορείτε να δημιουργήσετε και να αναπτύξετε τρεις κύριους τύπους σελίδων του SharePoint όχι λιγότερο!) - το καθένα με ξεχωριστή λειτουργία: περιεχόμενο, τμήματα Web και εκδόσεις σελίδων. Σελίδα περιεχομένου: Επίσης γνωστή ως σελίδα wiki, αυτό είναι το μαχαίρι ελβετικού στρατού των σελίδων του SharePoint. Μια σελίδα περιεχομένου παρέχει όχι μόνο μια θέση ...

Η επιλογή των συντακτών

Τι είναι ένας χάρτης Java; - ανδρείκελα

Τι είναι ένας χάρτης Java; - ανδρείκελα

Πίνακες και εξειδικευμένες λίστες καθιστούν δυνατή την εκτέλεση μιας εκπληκτικής σειράς εργασιών με την Java. Ωστόσο, υπάρχουν περιπτώσεις όπου μια εφαρμογή Java χρειάζεται κάτι που είναι περισσότερο παρόμοιο με μια βάση δεδομένων, χωρίς να έχει όντως όλες τις αποσκευές της βάσης δεδομένων (όπως η αγορά μιας ξεχωριστής εφαρμογής). Για παράδειγμα, μπορεί να θέλετε να είστε σε θέση ...

Λίγα περίεργα πράγματα για το Java Math - dummies

Λίγα περίεργα πράγματα για το Java Math - dummies

- να έχουν ορισμένους περιορισμούς όταν πρόκειται για υπολογισμό μαθηματικών. Αυτοί οι περιορισμοί είναι συνήθως ασήμαντοι, αλλά μερικές φορές γλιστρίζουν και σας δαγκώνουν. Εδώ είναι τα πράγματα που πρέπει να προσέξετε όταν κάνετε μαθηματικά στην Java. Η

Η επιλογή των συντακτών

Πώς να δουλεύεις με τη νέα γκάμα Blur στο Photoshop CS6 - ανδρείκελα

Πώς να δουλεύεις με τη νέα γκάμα Blur στο Photoshop CS6 - ανδρείκελα

Από τα τρία νέα φίλτρα Blur στο Photoshop CS6, θα έχετε επίσης πρόσβαση σε δύο σχετικούς πίνακες ελέγχου, Εργαλεία θόλωσης και Εφέ θόλωσης, τα οποία περιέχουν τις επιλογές σας. Και τα τρία φίλτρα σας επιτρέπουν να δημιουργήσετε ειδικά εφέ. Blur πεδίου: Δημιουργεί μια συνολική θόλωση στην εικόνα σας. Με την προσθήκη πρόσθετων σημείων ελέγχου ή καρφίτσες, ...

Τρόπος εργασίας με τον πίνακα ιδιοτήτων στο Photoshop CS6 - ανδρείκελα

Τρόπος εργασίας με τον πίνακα ιδιοτήτων στο Photoshop CS6 - ανδρείκελα

, αυτόνομο πλαίσιο Μάσκες στο Photoshop CS6 προς όφελος του πίνακα Ιδιότητες, ο οποίος περιλαμβάνει τώρα τις δυνατότητες των πλαισίων Μάσκες και Προσαρμογές. Δεν υπάρχουν όμως ανησυχίες. Κανένα από τα χαρακτηριστικά που παρείχε προηγουμένως ο πίνακας "Μάσκες" χάθηκε. Ο νέος πίνακας Ιδιότητες σάς δίνει τη δυνατότητα να προσθέσετε, να επεξεργαστείτε και να διαχειριστείτε το στρώμα σας, ...

Πώς να εργάζεστε με το σημείο εξαφάνισης στο Photoshop CS6 - ανδρείκελα

Πώς να εργάζεστε με το σημείο εξαφάνισης στο Photoshop CS6 - ανδρείκελα

Μπορείτε να κάνετε ρεαλιστικές τροποποιήσεις σε εικόνες που έχουν προοπτικά επίπεδα. Με το Σημείο Εκκίνησης, καθορίζετε τα επίπεδα στις εικόνες σας και, στη συνέχεια, χρησιμοποιώντας μια ποικιλία τεχνικών, προσθέστε ή εξαλείψτε αντικείμενα σε αυτά τα αεροπλάνα. Ανοίξτε μια εικόνα που χρειάζεται επεξεργασία. Εάν θέλετε να επικολλήσετε ...