Σήμερα θα δούμε: Οι αληθινοί γνώστες της μουσικής γνωρίζουν ότι για την ποιότητα...
Ηλεκτρονική
- 6 Ιανουαρίου 2013 στις 07:36 μ.μ
- Προγραμματισμός android για αρχάριους. Μέρος 1
- Ανάπτυξη εφαρμογών για κινητά,
Γειά σου. Σήμερα βρήκα ένα μάθημα προγραμματισμού για Android στον ιστότοπο του Linux Foundation και μαζί του πολλά σχόλια που θα ήθελα να δω μια μετάφραση αυτών των μαθημάτων. Από τώρα, μετά από τέσσερα χρόνια ανάπτυξης για μικροελεγκτές, άρχισα να σπουδάζω προγραμματισμό για φορητές συσκευές, ταυτόχρονα αποφάσισα να μεταφράσω το πρώτο μέρος του μαθήματος.
Προγραμματισμός android για αρχάριους. Μέρος 1
Τα smartphone και τα tablet Android βρίσκονται όλο και περισσότερο στις τσάντες και τις τσέπες μας, ενώ ο προγραμματισμός Android γίνεται επίσης πιο δημοφιλής. Είναι μια εξαιρετική πλατφόρμα ανάπτυξης - το API είναι καλά τεκμηριωμένο και εύκολο στη χρήση, και είναι απλώς διασκεδαστικό να δημιουργείτε κάτι που μπορείτε να εκτελέσετε στο smartphone σας. Αρχικά, μπορείτε να το κάνετε χωρίς αυτό δημιουργώντας και δοκιμάζοντας τον κώδικα χρησιμοποιώντας έναν εξομοιωτή στον υπολογιστή σας Linux. Το πρώτο από τα δύο μέρη αυτής της εισαγωγής εξηγεί πώς να δημιουργήσετε μια απλή εφαρμογή χρονοδιακόπτη και παρέχει μια εισαγωγή στο API Android. Το μάθημα προϋποθέτει μια βασική κατανόηση της Java, της XML και των τεχνολογιών προγραμματισμού, αλλά εξακολουθείτε να μην διστάσετε να δοκιμάσετε ακόμα κι αν έχετε μια πολύ αόριστη κατανόηση γι' αυτό.Ξεκινώντας και περιβάλλον ανάπτυξης
Λίγα λόγια για τις εκδόσεις: η τελευταία έκδοση του Android είναι η 4.2 (Jelly Bean), αλλά, όπως μπορείτε να δείτε από αυτό το γράφημα, δεν είναι ακόμη ευρέως διαδεδομένη. Είναι καλύτερο να ξεκινήσετε την ανάπτυξη σε μία από τις εκδόσεις: 4.0 (Ice Cream Sandwich) ή 2.3 (Gingerbeard), ειδικά επειδή οι εκδόσεις Android είναι συμβατές προς τα πίσω (δηλ. ο κώδικάς σας για την έκδοση 2.3 θα λειτουργεί στην 4.2) και Εφαρμογές που αναπτύχθηκαν για νεότερη έκδοση δεν θα λειτουργεί πάντα σε ένα παλαιότερο. Ο κώδικας που εμφανίζεται εδώ θα πρέπει να λειτουργεί στις εκδόσεις 4.0 και 2.3.Ο ευκολότερος τρόπος για να αποκτήσετε ένα περιβάλλον ανάπτυξης είναι να εγκαταστήσετε το Android Bundle, το οποίο μπορείτε να κατεβάσετε. Επίσης θα χρειαστείτε JDK 6 (όχι μόνο JRE). Μην ξεχνάτε ότι το Android δεν είναι συμβατό με το gcj. Εάν χρησιμοποιείτε ήδη το Eclipse ή άλλο IDE, τότε μπορείτε να δοκιμάσετε να το ρυθμίσετε για Android. Περιγράφεται πώς να το κάνετε αυτό. Τώρα δημιουργήστε ένα έργο που ονομάζεται Countdown χρησιμοποιώντας το Eclipse ή από τη γραμμή εντολών. Έβαλα τις ρυθμίσεις σε BuildSDK 4.0.3 και ελάχιστο SDK 2.2 και (στο Eclipse) χρησιμοποίησα το πρότυπο BlankActivity.
Το πρώτο μου έργο για Android: διεπαφή
Το πρώτο μας πρόγραμμα για Android θα είναι ένα χρονόμετρο που δείχνει αντίστροφη μέτρηση από 10 δευτερόλεπτα μετά το πάτημα ενός κουμπιού. Πριν γράψουμε κώδικα, πρέπει να δημιουργήσουμε μια διεπαφή - τι θα δει ο χρήστης όταν εκκινήσει την εφαρμογή μας. Πρέπει να ανοίξετε το res/layout/activity_countdown.xml και να δημιουργήσετε ένα πρότυπο XML - χρησιμοποιώντας το πρόγραμμα επεξεργασίας Eclipse ή ένα πρόγραμμα επεξεργασίας κειμένου/XML, εισαγάγετε τα εξής:Δώστε προσοχή στα /start και /__00_30. Οι τιμές τους θα βρίσκονται στο res/values/strings.xml:
Αυτός είναι ένας συνηθισμένος τρόπος πρόσβασης σε πόρους στο Android: είναι προτιμότερο να χρησιμοποιείτε αναφορές μεταβλητής συμβολοσειράς παρά σκληρά κωδικοποιημένες συμβολοσειρές.
Το πρώτο μου έργο Android: κώδικας
Τώρα ας ανοίξουμε το αρχείο CountdownActivity.java στο πρόγραμμα επεξεργασίας - και είμαστε έτοιμοι να γράψουμε τον κώδικα για την εφαρμογή μας. Θα πρέπει να δείτε ένα "stub" που δημιουργείται αυτόματα για τη μέθοδο onCreate(). Καλείται πάντα μόλις δημιουργηθεί το αντικείμενο Δραστηριότητα και μπορείτε να τοποθετήσετε σε αυτό όλες τις συναρτήσεις που θα πρέπει να εκτελεστούν κατά την εκκίνηση της εφαρμογής. (Το Eclipse μπορεί επίσης να δημιουργήσει μια κενή μέθοδο onCreateOptionsMenu(), αλλά θα το αγνοήσουμε προς το παρόν.) Εισαγάγετε τον ακόλουθο κωδικό:Η δημόσια κλάση CountdownActivity επεκτείνει τη Δραστηριότητα ( ιδιωτικό στατικό τελικό int MILLIS_PER_SECOND = 1000; ιδιωτικό στατικό τελικό int SECONDS_TO_COUNTDOWN = 30; ιδιωτικό TextView countdownDisplay; ιδιωτικό χρονόμετρο CountDownTimer; @Override public void onCreate.Savedtance setContentView(R .layout.activity_countdown; Προβολή προβολής) ( δοκιμάστε ( showTimer(SECONDS_TO_COUNTDOWN * MILLIS_PER_SECOND); ) catch (NumberFormatException e) ( // η μέθοδος αγνοεί τη μη έγκυρη (μη ακέραια) είσοδο και περιμένει // για κάτι που μπορεί να χρησιμοποιήσει ) ) )
Μπορείτε να δείτε πόσο εύκολο ήταν να δημιουργήσουμε το πρώτο μας έργο: το Android API περιλαμβάνει ένα CountDownTimer που μπορούμε να χρησιμοποιήσουμε. Το δηλώσαμε και το πεδίο εμφάνισης αντίστροφης μέτρησης ως ιδιωτικές ιδιότητες της κλάσης Δραστηριότητα. Στη μέθοδο onCreate(), χρησιμοποιήσαμε τη μέθοδο setContentView για να συμπεριλάβουμε το πρότυπό μας XML. Αυτή η σύνταξη R.foo.bar είναι ο τυπικός τρόπος πρόσβασης σε πόρους XML στο Android και θα το δούμε πολλές φορές.
Το findViewById είναι μια άλλη μέθοδος που θα χρησιμοποιείτε συχνά. Εδώ επιστρέφει αναφορές στο πεδίο εξόδου του χρονοδιακόπτη και στο κουμπί Έναρξη που περιγράφονται στο πρότυπο XML. Για ένα κουμπί, ώστε να μπορούμε να επεξεργαστούμε το κλικ του, πρέπει να καθοριστεί ένας OnClickListener "interceptor" και η μέθοδος onClick() του. Εδώ απλώς καλεί τη μέθοδο showTimer() με τον δεδομένο αριθμό χιλιοστών του δευτερολέπτου (τώρα κωδικοποιημένη στον κώδικα).
Τι κάνει λοιπόν το showTimer():
ιδιωτικό κενό showTimer(int countdownMillis) ( if(timer != null) ( timer.cancel(); ) timer = new CountDownTimer(countdownMillis, MILLIS_PER_SECOND) ( @Override public void onTick(long millisUntilFinished) (countdownplay.countdownTimer(countdownTimer) : " + millisUntilFinished / MILLIS_PER_SECOND); ) @Override public void onFinish() (countdownDisplay.setText("KABOOM!"); ) ).start(); )
Η τάξη CountDownTimer κάνει σχεδόν όλη τη δουλειά για εμάς, κάτι που είναι πολύ ωραίο. Στην αρχή ελέγχουμε αν το χρονόμετρο υπάρχει ήδη και, αν υπάρχει, το επαναφέρουμε. Στη συνέχεια, δημιουργούμε ένα νέο χρονόμετρο με τον καθορισμένο αριθμό χιλιοστών του δευτερολέπτου προς αντίστροφη μέτρηση (από την παράμετρο της μεθόδου showTimer()) και με τον καθορισμένο αριθμό χιλιοστών του δευτερολέπτου μεταξύ των διαστημάτων αντίστροφης μέτρησης. Όταν παρέλθει ο χρόνος μεταξύ των διαστημάτων, καλείται η μέθοδος onTick().
Το CountDownTimer είναι μια αφηρημένη κλάση και οι μέθοδοι __onTick() και __onFinish() πρέπει να υλοποιηθούν στην υποκλάση της. Παρακάμπτουμε τη μέθοδο onTick(), η οποία μειώνει τον αριθμό εξόδου κατά ένα μετά από κάθε διάστημα, και τη μέθοδο onFinish(), η οποία εμφανίζει ένα μήνυμα όταν τελειώσει η αντίστροφη μέτρηση. Στη συνέχεια, η start() ξεκινά το χρονόμετρο.
Χρησιμοποιώντας την εντολή "Run" στο Eclipse, μπορείτε να εκτελέσετε την εφαρμογή που δημιουργήσατε, η οποία θα εκκινήσει αυτόματα τον εξομοιωτή Android. Ρίξτε μια ματιά στην τεκμηρίωση του Android εάν θέλετε να μάθετε περισσότερα
Ο προγραμματισμός είναι ένας από εκείνους τους τομείς όπου ο καθένας μπορεί να αισθάνεται σαν δημιουργός. Συνήθως αναφέρεται στην ανάπτυξη εφαρμογών για προσωπικούς υπολογιστές, μονάδες εξοπλισμού παραγωγής ή απλά για ηλεκτρονικά σπιτικά προϊόντα. Αλλά με την εξάπλωση των κινητών συσκευών με οθόνη αφής, ο προγραμματισμός για Android, iOS ή άλλο κέλυφος συστήματος παρόμοιου τύπου γίνεται όλο και πιο δημοφιλής. Λοιπόν, πρέπει να ομολογήσω, αυτό είναι ένα πολλά υποσχόμενο επάγγελμα. Επομένως, στο πλαίσιο του άρθρου, θα εξετάσουμε το ενδεχόμενο εκτέλεσης Android από την αρχή. Τι χαρακτηριστικά υπάρχουν; Ποια γλώσσα χρησιμοποιείται;
Δημιουργία προγραμμάτων
Πριν γράψετε μόνοι σας προγράμματα, πρέπει να μελετήσετε όλα τα απαραίτητα στοιχεία για αυτό:
- Γλώσσα.
- Επιλέξτε το περιβάλλον ανάπτυξής σας. Επίσης, θα σταθούμε αναλυτικά στη γλώσσα, καθώς και στα προϊόντα λογισμικού όπου θα δημιουργηθούν οι εφαρμογές. Αλλά πρώτα, ας μιλήσουμε λίγο για τα περιβάλλοντα ανάπτυξης. Συμβατικά, μπορούν να χωριστούν σε τρία μέρη:
- γραφικός;
- συνήθης;
- online.
Σχετικά με τη δημιουργία προγραμμάτων, πρέπει να σημειωθεί ότι τώρα είναι δύσκολο να προβληθεί μια ιδέα που δεν έχει ήδη επεξεργαστεί στο παρελθόν. Επομένως, εάν προκύψει πρόβλημα ή απλώς σε περίπτωση έλλειψης γνώσεων, είναι απαραίτητο να διατυπωθεί σωστά η παρεξήγηση που έχει προκύψει και να απευθυνθείτε σε πιο έμπειρους προγραμματιστές. Θα μπορούν να σας βοηθήσουν να δημιουργήσετε προγράμματα με εποικοδομητικές συμβουλές.
Σε ποια γλώσσα είναι γραμμένα τα προγράμματα;
Η Java χρησιμοποιείται για αυτούς τους σκοπούς. Πρέπει να σημειωθεί ότι πρόκειται για μια αρκετά περίπλοκη γλώσσα προγραμματισμού. Αλλά για να δημιουργήσετε τις δικές σας εφαρμογές, δεν χρειάζεται να το γνωρίζετε πλήρως. Οι βασικές γνώσεις και δεξιότητες στην εργασία με πληροφορίες αναφοράς θα είναι αρκετές για να λάβετε απαντήσεις στις ερωτήσεις σας. Επιπλέον, υπάρχουν ορισμένες προεπιλογές, χρησιμοποιώντας τις οποίες μπορείτε να κάνετε κάποια βήματα για να δημιουργήσετε μια εφαρμογή χωρίς σημαντικά προβλήματα. Τότε ο προγραμματισμός για Android γίνεται απόλαυση.
Επιλέγοντας ένα τακτικό περιβάλλον ανάπτυξης
Το Eclipse και το Android SDK θεωρούνται οι μεγαλύτεροι παίκτες. Είναι και οι δύο ελεύθεροι. Συνολικά, πρέπει να σημειωθεί ότι αυτά τα περιβάλλοντα ανάπτυξης είναι σοβαροί ανταγωνιστές και καθένα από αυτά έχει μια σειρά από δυνατά και αδύνατα σημεία. Κάθε ένα από αυτά αξίζει να μελετηθεί. Ξεχωριστά, ας σταθούμε λίγο σε μια πτυχή του Android SDK - τον εξομοιωτή. Είναι ένα πρόγραμμα που προσποιείται ότι είναι τηλέφωνο ή tablet που τρέχει σε Android. Ο εξομοιωτής λειτουργεί ομαλά σε έναν κανονικό υπολογιστή και μοιάζει με μια τυπική κινητή συσκευή στον επιτραπέζιο υπολογιστή. Υπάρχει μόνο μία ιδιαιτερότητα - ελέγχεται χρησιμοποιώντας το ποντίκι και το πληκτρολόγιο, και όχι με το δάχτυλό σας. Στον εξομοιωτή, μπορείτε να ελέγξετε την απόδοση της εφαρμογής για διάφορες επεκτάσεις οθόνης, καθώς και σε διαφορετικές εκδόσεις του λειτουργικού συστήματος Android για κινητά. Επομένως, όσο περίεργο κι αν σας ακούγεται, όταν αναπτύσσετε εφαρμογές που απευθύνονται στο Android, δεν είναι καθόλου απαραίτητο να έχετε τηλέφωνο.
Τι χρειάζεστε για να αναπτύξετε την εφαρμογή σας;
Γραφικά περιβάλλοντα ανάπτυξης
Αυτή η επιλογή είναι κατάλληλη για όσους δεν έχουν ιδέα από τον προγραμματισμό γενικά, αλλά θέλουν να λάβουν την εφαρμογή τους εδώ και τώρα. Αρχικά, θα πρέπει να εξοικειωθείτε με την περιγραφή και τις δυνατότητες των περιβαλλόντων ανάπτυξης γραφικών. Έτσι, μερικοί μπορούν να τοποθετήσουν μόνο τα πιο απλά στοιχεία και να προσδώσουν ελάχιστη λειτουργικότητα σε αυτά. Είναι καλύτερα να μην χρησιμοποιείτε τέτοιους πόρους, καθώς με τη βοήθειά τους θα είναι δύσκολο να κατανοήσετε τη λογική της εργασίας και να δημιουργήσετε ένα ανεπτυγμένο τελικό προϊόν. Συνιστάται να κάνετε μια επιλογή σύμφωνα με τις ακόλουθες παραμέτρους:
- Διαθεσιμότητα μιας διαισθητικής διεπαφής.
- Χρησιμοποιώντας ξεκάθαρη λογική λειτουργίας.
- Δυνατότητα δημιουργίας στοιχείων σε λειτουργίες γραφικών και κωδικών.
- Διαθεσιμότητα τεκμηρίωσης για εργασία με το περιβάλλον ανάπτυξης και φόρουμ υποστήριξης.
Online περιβάλλον ανάπτυξης
Μπορούν να παρέχουν ένα αρκετά ευρύ φάσμα λειτουργιών σε ένα απλό σημείο πρόσβασης - το Διαδίκτυο. Το "διαδικτυακό περιβάλλον ανάπτυξης" μάλλον τα λέει όλα. Αν και θα πρέπει να διευκρινιστεί ότι στο Android δεν είναι ακόμα εύκολη υπόθεση. Έτσι, το πιο δύσκολο θα είναι να εφαρμόσετε σκοπευτές και εφαρμογές παρόμοιας πολυπλοκότητας. Αλλά τα προγράμματα με μορφοποίηση κειμένου και μεταφορά δεδομένων είναι εύκολα.
Σύναψη
Ελπίζουμε να μην υπάρχουν άλλες ερωτήσεις σχετικά με τα πρώτα βήματα προετοιμασίας για τη δημιουργία των δικών σας προγραμμάτων. Εάν αποφασίσετε να ασχοληθείτε σοβαρά με τον προγραμματισμό, τότε μπορείτε να χρησιμοποιήσετε ειδική βιβλιογραφία. Για παράδειγμα, το βιβλίο «Προγραμματισμός για Android» του Χάρντι Μπράιαν. Φυσικά, αυτή δεν είναι η μόνη καλή δουλειά, αλλά από κάπου πρέπει να ξεκινήσεις. Διαβάζοντας αυτό το εγχειρίδιο, μπορείτε να ξεκινήσετε την πορεία προς την επιτυχία.
Σε κάθε επιχείρηση, το πιο δύσκολο πράγμα είναι η αρχή. Συχνά είναι δύσκολο να μπω στο πλαίσιο, κάτι που συνάντησα όταν αποφάσισα να αναπτύξω την πρώτη μου εφαρμογή Android. Αυτό το άρθρο είναι για όσους θέλουν να ξεκινήσουν, αλλά δεν ξέρουν από πού.
Το άρθρο θα καλύπτει ολόκληρο τον κύκλο ανάπτυξης εφαρμογών. Μαζί θα γράψουμε ένα απλό παιχνίδι Tic-Tac-Toe με μία οθόνη (στο Android OS αυτό ονομάζεται Activity).
Η έλλειψη εμπειρίας ανάπτυξης Java δεν θα πρέπει να αποτελεί εμπόδιο για την εκμάθηση του Android. Έτσι, τα παραδείγματα δεν θα χρησιμοποιούν δομές ειδικά για Java (ή θα ελαχιστοποιηθούν όσο το δυνατόν περισσότερο). Εάν γράφετε, για παράδειγμα, PHP και είστε εξοικειωμένοι με τις θεμελιώδεις αρχές της ανάπτυξης λογισμικού, αυτό το άρθρο θα σας είναι πιο χρήσιμο. Με τη σειρά μου, καθώς δεν είμαι ειδικός στην ανάπτυξη Java, μπορεί να υποτεθεί ότι ο πηγαίος κώδικας δεν πληροί τις προϋποθέσεις για την ετικέτα "βέλτιστες πρακτικές για ανάπτυξη Java".
Εγκατάσταση των απαραίτητων προγραμμάτων και βοηθητικών προγραμμάτων
Θα απαριθμήσω τα απαραίτητα εργαλεία. Υπάρχουν 3 από αυτά:
- IDE με υποστήριξη για ανάπτυξη Android:
- Πρόσθετο Eclipse + ADT.
- IntelliJ IDEA Community Edition;
- Πρόσθετο Netbeans + nbandroid.
Τα βοηθητικά προγράμματα εγκαθίστανται με τη σειρά που καθορίζεται παραπάνω. Δεν έχει νόημα να εγκαταστήσετε όλα τα IDE που αναφέρονται (εκτός αν δυσκολεύεστε να επιλέξετε το σωστό). Χρησιμοποιώ το IntelliJ IDEA Community Edition, ένα από τα πιο προηγμένα IDE για Java που είναι διαθέσιμα σήμερα.
Εκκίνηση εικονικής συσκευής
Έχοντας ξεκινήσει το AVD Manager και εγκαταστήσετε πρόσθετα πακέτα (SDK διαφόρων εκδόσεων), μπορείτε να ξεκινήσετε τη δημιουργία μιας εικονικής συσκευής με τις απαραίτητες παραμέτρους. Η κατανόηση της διεπαφής δεν πρέπει να είναι δύσκολη.Λίστα συσκευών
Δημιουργία Έργου
Είμαι πάντα πρόθυμος να πάω στη δουλειά, ελαχιστοποιώντας τις προπαρασκευαστικές δραστηριότητες, οι οποίες περιλαμβάνουν τη δημιουργία ενός έργου στο IDE, ειδικά όταν το έργο είναι εκπαιδευτικό και δεν σκοπεύει να παραχθεί.Λοιπόν, Αρχείο->Νέο έργο:
Πατώντας το κουμπί F6, το έργο θα συναρμολογηθεί, θα μεταγλωττιστεί και θα ξεκινήσει στην εικονική συσκευή.
Δομή έργου
Το προηγούμενο στιγμιότυπο οθόνης δείχνει τη δομή του έργου. Δεδομένου ότι σε αυτό το άρθρο επιδιώκουμε καθαρά πρακτικούς στόχους, θα επικεντρωθούμε μόνο σε αυτούς τους φακέλους που θα χρησιμοποιήσουμε στη διαδικασία της εργασίας. Αυτοί είναι οι ακόλουθοι κατάλογοι: γεν, resΚαι src.Σε ένα φάκελο γενυπάρχουν αρχεία που δημιουργούνται αυτόματα κατά την κατασκευή του έργου. Δεν μπορείτε να τα αλλάξετε χειροκίνητα.
Ο φάκελος res προορίζεται για την αποθήκευση πόρων όπως εικόνες, κείμενα (συμπεριλαμβανομένων μεταφράσεων), προεπιλεγμένες τιμές, διατάξεις.
src- αυτός είναι ο φάκελος στον οποίο θα λάβει χώρα το κύριο μέρος της εργασίας, γιατί εδώ αποθηκεύονται αρχεία με τον πηγαίο κώδικα του προγράμματός μας.
Πρώτες γραμμές
Μόλις δημιουργηθεί η Δραστηριότητα (οθόνη εφαρμογής), καλείται η μέθοδος onCreate(). Το IDE το γέμισε με 2 γραμμές:
super.onCreate(savedInstanceState); setContentView(R.layout.main);
Η μέθοδος setContentView (ισοδύναμη με this.setContentView) ορίζει τη διάταξη xml για την τρέχουσα οθόνη. Στη συνέχεια, θα ονομάσουμε τις διατάξεις xml "διάταξη" και τις οθόνες "Δραστηριότητα". Η διάταξη στην εφαρμογή θα είναι η εξής:
Το TableLayout είναι ιδανικό για αυτήν την εφαρμογή. Το αναγνωριστικό μπορεί να εκχωρηθεί σε οποιονδήποτε πόρο. Σε αυτήν την περίπτωση, στο TableLayout εκχωρείται id = main_l. Χρησιμοποιώντας τη μέθοδο findViewById() μπορείτε να αποκτήσετε πρόσβαση στην προβολή:
ιδιωτική διάταξη TableLayout. // αυτή είναι μια ιδιότητα της δημόσιας κλάσης KrestikinolikiActivity void onCreate(Bundle savedInstanceState) ( super.onCreate(savedInstanceState); setContentView(R.layout.main); layout = (TableLayout) findViewById(R.id.buildGamel); )
Τώρα πρέπει να εφαρμόσουμε τη μέθοδο buildGameField(). Για να γίνει αυτό, πρέπει να δημιουργήσετε ένα πεδίο με τη μορφή πίνακα. Αυτό θα γίνει από την τάξη Παιχνιδιού. Πρώτα πρέπει να δημιουργήσετε μια κλάση Square για τα κελιά και μια κλάση Player της οποίας τα αντικείμενα θα γεμίσουν αυτά τα κελιά.
Τετράγωνο.java
πακέτο com.example; δημόσια κλάση Τετράγωνο ( ιδιωτικός παίκτης παίκτης = μηδενικός; δημόσιος παίκτης κενού γεμίσματος (Παίχτης παίκτης) ( this.player = παίκτης; ) δημόσιος δυαδικός ορισμός isFilled() (αν (ο παίκτης != μηδενικός) (επιστροφή αληθής; ) επιστροφή ψευδής; ) δημόσιος παίκτης getPlayer () (παίκτης επιστροφής; ) )Παίκτης.java
πακέτο com.example; δημόσια κλάση Player ( ιδιωτικό όνομα συμβολοσειράς; δημόσιο πρόγραμμα αναπαραγωγής (όνομα συμβολοσειράς) ( this.name = όνομα; ) δημόσιο CharSequence getName() (επιστροφή (όνομα ακολουθίας χαρακτήρων); ) )Όλες οι κατηγορίες της εφαρμογής μας βρίσκονται στο φάκελο src.
Παιχνίδι.java
πακέτο com.example; δημόσια κλάση Παιχνίδι ( /** * πεδίο */ ιδιωτικό Τετράγωνο πεδίο; /** * Κατασκευαστής * */ δημόσιο Παιχνίδι() ( πεδίο = νέο Τετράγωνο; SquareCount = 0; // συμπληρώνοντας το πεδίο για (int i = 0, l = πεδίο.μήκος;Αρχικοποίηση του παιχνιδιού στον κατασκευαστή KrestikinolikiActivity.
public KrestikinolikiActivity() ( game = new Game(); game.start(); // θα εφαρμοστεί αργότερα)
Η μέθοδος buildGameField() της κλάσης KrestikinolikiActivity. Προσθέτει δυναμικά γραμμές και στήλες στον πίνακα (πεδίο παιχνιδιού):
private Button buttons = new Button;
//(....) private void buildGameField() ( Τετράγωνο πεδίο = game.getField(); για (int i = 0, lenI = field.length; i
Η γραμμή 8 δημιουργεί ένα αντικείμενο που υλοποιεί τη διεπαφή View.OnClickListener. Ας δημιουργήσουμε μια ένθετη κλάση ακρόασης. Θα είναι ορατό μόνο από το KrestikinolikiActivity.
Το πρόγραμμα ακρόασης δημόσιας κλάσης υλοποιεί το View.OnClickListener ( private int x = 0; private int y = 0; public Listener(int x, int y) ( this.x = x; this.y = y; ) public void onClick (Προβολή προβολής) ( Κουμπί κουμπιού = (Κουμπί) προβολή; ) )
Μένει να εφαρμόσουμε τη λογική του παιχνιδιού.
δημόσια κλάση Παιχνίδι ( /** * παίκτες */ ιδιωτικοί παίκτες παίκτες; /** * πεδίο */ ιδιωτικό τετράγωνο πεδίο; /** * ξεκίνησε το παιχνίδι; */ ιδιωτικός δυαδικός παίκτης ξεκίνησε; /** * τρέχων παίκτης */ ιδιωτικός Παίκτης activePlayer = 0, // συμπληρώνοντας το πεδίο για (int i = 0, l = field.length; i
Ο K.O προτείνει ότι ο νικητής στο tic-tac-toe είναι αυτός που παρατάσσει το X ή το O σε μια γραμμή ίση με το μήκος του γηπέδου κάθετα, οριζόντια ή διαγώνια. Η πρώτη σκέψη που έρχεται στο μυαλό είναι να γράψουμε μεθόδους για κάθε περίπτωση. Νομίζω ότι το μοτίβο Chain of Responsobility θα λειτουργούσε καλά σε αυτή την περίπτωση. Ας ορίσουμε τη διεπαφήπακέτο com.example; δημόσια διεπαφή WinnerCheckerInterface ( δημόσιος έλεγχος προγράμματος αναπαραγωγήςWinner(); )
Εφόσον το Game έχει την ευθύνη να καθορίσει τον νικητή, εφαρμόζει αυτήν τη διεπαφή. Ήρθε η ώρα να δημιουργήσετε εικονικούς «γραμμικούς υπαλλήλους», ο καθένας από τους οποίους θα ελέγξει την πλευρά του. Όλα αυτά εφαρμόζουν τη διεπαφή WinnerCheckerInterface.
WinnerCheckerHorizontal.java
πακέτο com.example; δημόσια κλάση WinnerCheckerHorizontal υλοποιεί WinnerCheckerInterface ( ιδιωτικό παιχνίδι παιχνιδιού; δημόσιο WinnerCheckerHorizontal(παιχνίδι παιχνιδιού) ( this.game = παιχνίδι; ) δημόσιο έλεγχο παίκτηWinner() (Τετράγωνο πεδίο = game.getField(); Παίκτης currPlayer; Παίκτης lastPlayer = null; για (int i = 0, len = πεδίο.μήκος;WinnerCheckerVertical.java
πακέτο com.example; δημόσια κλάση WinnerCheckerVertical υλοποιεί WinnerCheckerInterface ( ιδιωτικό παιχνίδι παιχνιδιών; δημόσιο WinnerCheckerVertical (παιχνίδι παιχνιδιού) ( this.game = παιχνίδι; ) δημόσιος έλεγχος παίκτηWinner() (Τετράγωνο πεδίο = game.getField(); Παίκτης currPlayer; Παίκτης lastPlayer = null; για (int i = 0, len = πεδίο.μήκος;WinnerCheckerDiagonalLeft.java
πακέτο com.example; δημόσια κλάση WinnerCheckerDiagonalLeft υλοποιεί WinnerCheckerInterface ( ιδιωτικό παιχνίδι παιχνιδιού; δημόσιο WinnerCheckerDiagonalLeft(παιχνίδι παιχνιδιού) ( this.game = παιχνίδι; ) δημόσιο έλεγχο παίκτηWinner() ( Τετράγωνο πεδίο = game.getField(); CurrPlayer παίκτη; Παίκτης lastPlayer = null; int επιτυχίαCo 1 για (int i = 0, len = πεδίο.μήκος; iWinnerCheckerDiagonalRight.java
πακέτο com.example; δημόσια κλάση WinnerCheckerDiagonalRight υλοποιεί WinnerCheckerInterface ( ιδιωτικό παιχνίδι παιχνιδιού; δημόσιο WinnerCheckerDiagonalRight(παιχνίδι παιχνιδιού) ( this.game = παιχνίδι; ) δημόσιο έλεγχο παίκτηWinner() (Τετράγωνο πεδίο = game.getField(); CurrPlayer παίκτη; Παίκτης lastPlayer = null; int επιτυχίαCo 1 για (int i = 0, len = πεδίο.μήκος; iΑς τα αρχικοποιήσουμε στον κατασκευαστή του παιχνιδιού:
//(....) /** * "Κριτές" =). Μετά από κάθε κίνηση θα ελέγχουν * για να δουν αν υπάρχει νικητής */ ιδιωτικό WinnerCheckerInterface winnerCheckers.
//(....) δημόσιο Παιχνίδι() ( //(....) winnerCheckers = νέο WinnerCheckerInterface; winnerCheckers = νέο WinnerCheckerHorizontal(this); winnerCheckers = new WinnerCheckerVertical(this); winnerCheckers = new WinnerCheckerDiagonalLeft(this); winnerCheckers = νέο WinnerCheckerDiagonalRight(αυτό)
Εφαρμογή του checkWinner():
δημόσιος έλεγχος παίκτηWinner() ( για (WinnerCheckerInterface winChecker: winnerCheckers) ( Νικητής παίκτη = winChecker.checkWinner(); if (winner != null) (επιστροφή νικητής; ) ) επιστροφή μηδενικός; )
Ελέγχουμε τον νικητή μετά από κάθε κίνηση. Ας προσθέσουμε κώδικα στη μέθοδο onClick() της κλάσης Listener
δημόσιο κενό onClick(Προβολή προβολής) ( Κουμπί = (Κουμπί) προβολή; Παιχνίδι g = παιχνίδι; Παίκτης παίκτη = g.getCurrentActivePlayer(); if (makeTurn(x, y)) ( button.setText(player.getName()) ?
Η μέθοδος gameOver() υλοποιείται σε 2 παραλλαγές:
private void gameOver(Player player) ( CharSequence text = "Player \"" + player.getName() + "\" κέρδισε!"; Toast.makeText(this, text, Toast.LENGTH_SHORT).show(); game.reset (); refresh();
Για την Java, το gameOver(Player player) και το gameOver() είναι διαφορετικές μέθοδοι. Χρησιμοποιώντας το Builder Toast.makeText, μπορείτε να δημιουργήσετε και να εμφανίσετε γρήγορα μια ειδοποίηση που ενημερώνει την κατάσταση του πεδίου:
private void refresh() ( Square field = game.getField(); for (int i = 0, len = field.length; i
Ετοιμος! Ελπίζω ότι αυτό το άρθρο σας βοήθησε να νιώσετε άνετα στον κόσμο της ανάπτυξης Android. Σας ευχαριστώ για την προσοχή σας!
Βίντεο από την ολοκληρωμένη εφαρμογή
Πολλοί προγραμματιστές θέλουν να ξεκινήσουν την ανάπτυξη εφαρμογών για Android. Αλλά λίγοι άνθρωποι συνειδητοποιούν ποια βήματα πρέπει να γίνουν εδώ. Αυτή η συλλογή έχει σχεδιαστεί για να βοηθήσει τους αρχάριους να κατανοήσουν την ανάπτυξη Android.
ΞεκινώνταςΓια όσους είναι νέοι στον προγραμματισμό
οι δικοί μας θα βοηθήσουν. ΓιαΑρχάριοι Android
Η Google έκανε μια καλή εισαγωγή στο Android στον ιστότοπό της. Υπάρχει επίσης ένας υπέροχος οδηγός Android με crowdsource. Υπάρχει επίσης ένα μάθημα από την Google για το Udacity. Εάν αντιμετωπίζετεπροβλήματα με το Android
Μπορείτε πάντα να το βρείτε στην ιστοσελίδα μας.
FAQ
Θέλω να ξεκινήσω την ανάπτυξη για Android. Από πού να ξεκινήσω;
Το πρώτο και πιο σημαντικό βήμα στην ανάπτυξη Android είναι η εκμάθηση Java και XML. Μόλις εξοικειωθείτε λίγο πολύ και με τα δύο, ρίξτε μια ματιά στην επίσημη Τεκμηρίωση Android και ακολουθήστε μερικά μαθήματα μέχρι να νιώσετε αρκετά σίγουροι για να δημιουργήσετε τα δικά σας έργα. Καλή τύχη!
Χρειάζομαι μια συσκευή Android για ανάπτυξη;
Μπορείτε να γράψετε εφαρμογές χωρίς καμία συσκευή Android χρησιμοποιώντας τον εξομοιωτή που περιλαμβάνεται (ή το προηγμένο Genymotion). Ωστόσο, για να ληφθούν υπόψη οι απαιτήσεις υλικού, δεν υπάρχει υποκατάστατο της δοκιμής σε μια πραγματική συσκευή.
Ποιο IDE να χρησιμοποιήσω;
- Android Studio- Ένα επίσημα υποστηριζόμενο IDE για ανάπτυξη Android. Αυτό χρησιμοποιείται σε σύγχρονους οδηγούς και βίντεο, συμπεριλαμβανομένων αυτών της Google.
- Εκλειψηείναι το κύριο IDE για την ανάπτυξη Android για πολλά χρόνια, γι' αυτό και τα περισσότερα από τα παλαιού τύπου σεμινάρια, πόροι, βίντεο και στιγμιότυπα οθόνης γίνονται με αυτό.
- IntelliJ IDEAήταν μια εναλλακτική του Eclipse, αλλά στις μέρες μας είναι πιο λογικό να ξεκινήσετε με το Android Studio. Το Android Studio είναι μια διχάλα του IntelliJ IDEA, ώστε να έχετε όλα τα πλεονεκτήματά του και τα μπόνους Android.
Ίσως πρέπει να ξεχάσω την Java και να αρχίσω να μαθαίνω Kotlin;
Η Google υποστηρίζει πλέον επίσημα την Kotlin ως γλώσσα ανάπτυξης Android, αλλά αυτό δεν σημαίνει ότι μπορείτε να ξεχάσετε την υποστήριξη Java. Στο εγγύς άμεσο μέλλον, η τεκμηρίωση, τα εργαλεία και οι νέες δυνατότητες πλατφόρμας θα υποστηρίζουν τόσο το Kotlin όσο και την Java. Αν και η Kotlin είναι μια νεότερη γλώσσα με μερικές ωραίες δυνατότητες, μπορείτε ακόμα να δημιουργήσετε εξαιρετικές εφαρμογές στην Java. Η επιλογή εξαρτάται από εσάς, αλλά αν δεν σας ενδιαφέρει ή είστε αρχάριοι, τότε ίσως είναι καλύτερο να επιλέξετε το Kotlin.
Πόροι
Εδώ είναι οι κύριοι πόροι για την εκμάθηση της ανάπτυξης Android στα Αγγλικά. Αυτή δεν είναι μια πλήρης λίστα, αλλά αρκεί για να ξεκινήσετε.
Επίσημοι πόροι Android
Σχέδιο
- Beauties για Android - έμπνευση για τη δημιουργία γραφικών διεπαφών για Android.
Ενημερωτικά δελτία
- Το Android Weekly είναι ένα εξαιρετικό ενημερωτικό δελτίο που σας βοηθά να παραμένετε ενημερωμένοι για τις πιο πρόσφατες εξελίξεις στο Android.
Συλλογές βιβλιοθήκης
Εργαλεία
- Το Genymotion είναι ένας εξαιρετικά χρήσιμος και λειτουργικός εξομοιωτής.
- Το Android Asset Studio είναι μια εξαιρετική συλλογή εργαλείων για τη δημιουργία/επεξεργασία εικονιδίων, εικόνων κ.λπ.
- Codota Plug-in για Android Studio - εξαιρετικά παραδείγματα κώδικα απευθείας στο Android Studio.
Παραδείγματα εφαρμογών ανοιχτού κώδικα
Ιδέες Εφαρμογών
Έχετε λοιπόν μια ιδέα για μια εφαρμογή... Οι άνθρωποι γράφουν γι' αυτό κάθε μέρα. Αλλά προτού ζητήσετε βοήθεια για την υλοποίηση ενός έργου, πρέπει να απαντήσετε στις ακόλουθες βασικές ερωτήσεις:
Ποιος είναι ο προϋπολογισμός μου;
Εάν είστε σοβαροί και θέλετε να κυκλοφορήσετε το προϊόν σας, θα πρέπει να σκεφτείτε τον προϋπολογισμό σας. Ακόμη και για μια απλή εφαρμογή, πρέπει να σκεφτείτε αρκετές χιλιάδες δολάρια. Τουλάχιστον.
Ποια είναι η στρατηγική μάρκετινγκ που έχω;
Θα χρησιμοποιήσετε τακτικά από στόμα σε στόμα ή είστε διατεθειμένοι να πληρώσετε για τη φήμη;
Ποια είναι η λίστα εργασιών για αυτό το έργο;
Επίσης, ποιοι είναι οι περιορισμοί; Πόσους προγραμματιστές χρειάζομαι;
Από πού θα προέρχονται τα δεδομένα/πού θα αποθηκευτούν;
Και επίσης, πώς θα χρησιμοποιηθούν; Έχω κατάλληλη πολιτική απορρήτου;
Υπάρχει στόχος να βγάλεις χρήματα;
Εάν ναι, πώς θα το πετύχετε; Μέσω διαφήμισης, IAP, συνδρομών, πληρωμένων εφαρμογών; Όλα τα παραπάνω;
Πώς θα πληρώσετε τους προγραμματιστές σας;
Έχετε κεφάλαια ή πρόκειται να τα πληρώσετε αφού ξεκινήσει η εφαρμογή να παράγει έσοδα; Συχνά οι ανεξάρτητοι εργολάβοι απαιτούν ένα μέρος του συνολικού κόστους εκ των προτέρων. Οι περισσότεροι προγραμματιστές δεν ενδιαφέρονται για την κατανομή εσόδων εκτός και αν επενδύουν οι ίδιοι στην εφαρμογή.
Ποια θα είναι η μέθοδος δοκιμής;
Σε τι τύπο συσκευής θα την εγκαταστήσετε; Πόσες επαναλήψεις χρειάζεστε; Τι είδους άτομα θέλετε να ασχοληθείτε;
Πόσο σύντομα θέλετε να δημοσιεύσετε την εφαρμογή σας στο κατάστημα;
Αυτό σίγουρα θα επηρεάσει το τελικό εισόδημα.
Θα απαιτήσετε ή θα προσφέρετε εγγραφή/ενσωμάτωση στα μέσα κοινωνικής δικτύωσης;
Εξετάστε το ενδεχόμενο εφαρμογής αυτής της λειτουργικότητας.
Ποιο είναι το κοινό-στόχος σας;
Είναι μια εξειδικευμένη εφαρμογή ή μπορεί να διανεμηθεί παντού;
Έχει ήδη υλοποιηθεί η ιδέα μου;
Αν ναι, πώς μπορώ να το βελτιώσω ή τι λείπει από αυτό;
Τι να κάνετε με τις ιδέες εφαρμογών εάν δεν είστε προγραμματιστής;
Μπορεί να αναζητάτε προγραμματιστές που θα ενταχθούν στην ομάδα σας για την υλοποίηση μιας εφαρμογής. Εάν έχετε χρήματα και μπορείτε να πληρώσετε έναν προγραμματιστή ή εταιρεία, τότε όλα είναι απλά και ξεκάθαρα. Στη συνέχεια θα μιλήσουμε για το τι πρέπει να κάνετε εάν δεν έχετε αρκετά χρήματα για να πληρώσετε κάποιον.
Συνειδητοποιήστε ότι η ιδέα σας μπορεί να μην είναι μοναδική και ότι η ανάπτυξη απαιτεί σημαντική προσπάθεια.
- Σχεδιάστε το σχέδιοτην εφαρμογή σας (εμφάνιση και λειτουργικότητα). Μπορεί να είναι τραχύ και σχεδιασμένο σε χαρτί. Αλλά θα πρέπει να είναι αρκετά συγκεκριμένο και όχι ασαφές.
- Κάντε μια λίστα με τις δεξιότητές σαςσχετίζονται με την ιδέα.
- Κάντε μια λίστα με αυτά που θα επενδύσετεστην ιδέα σου.
Κατανοήστε ότι η ανάπτυξη απαιτεί σημαντική προσπάθεια. Φανταστείτε έναν προγραμματιστή να εργάζεται με πλήρη απασχόληση (8 ώρες) για 2 μήνες για να δημιουργήσει την αίτησή σας. Και δουλεύεις και με πλήρη απασχόληση. Τι κάνεις αυτή την περίοδο;Εάν η δουλειά σας, κατά τη γνώμη σας, τελειώνει νωρίτερα, τότε πρέπει να αναθεωρήσετε την ιδέα. Σε αυτό το σενάριο, ο προγραμματιστής κάνει το μεγαλύτερο μέρος της δουλειάς και είστε, ειλικρινά, άχρηστοι. Το τι μπορείτε να δώσετε μετά την ολοκλήρωση της εφαρμογής δεν έχει ιδιαίτερη σημασία και δεν θα παρακινήσει τον προγραμματιστή να ολοκληρώσει το προϊόν.
Επανεξέταση της ιδέας σας
Εάν ο προγραμματιστής κάνει περισσότερη δουλειά από εσάς, η ιδέα πρέπει να επανεξεταστεί για να κατανεμηθεί η εργασία πιο δίκαια. Αυτό θα σας δώσει τα οφέλη της συνεργασίας. Κοιτάξτε τη λίστα με τις δεξιότητές σας και σκεφτείτε πώς μπορούν να εφαρμοστούν. Είναι εντάξει αν η εφαρμογή διαφέρει από την αρχική ιδέα. Αναθεωρήστε το έως ότου η εργασία σας και η εργασία του προγραμματιστή εξισωθούν τουλάχιστον.
- Κατανείμετε την εργασία όσο το δυνατόν πιο δίκαια.
- Εστιάστε πρώτα στις δεξιότητές σας.
- Ο φόρτος εργασίας σας πρέπει να είναι περίπου ίσος με 2 μήνες πλήρους απασχόλησης. Για απλές εφαρμογές η λήψη μπορεί φυσικά να είναι μικρότερη. Μπορείτε να ρωτήσετε την κοινότητα (π.χ.
Κάθε χρόνο το λειτουργικό σύστημα Android γίνεται όχι μόνο ένα κατάλληλο λειτουργικό σύστημα για απλούς χρήστες, αλλά και μια ισχυρή πλατφόρμα για προγραμματιστές. Λοιπόν, τι μπορείτε να κάνετε: Η Google συναντά πάντα τους προγραμματιστές στα μισά του δρόμου, παρέχοντας άφθονες ευκαιρίες και ισχυρά εργαλεία, καρυκευμένα με ενημερωτική τεκμηρίωση.
Επιπλέον, δεν πρέπει να ξεχνάμε το γεγονός ότι το "πράσινο ρομπότ" είναι ο ηγέτης σε δημοτικότητα μεταξύ των λειτουργικών συστημάτων για κινητά. Αυτό υποδηλώνει ότι με τον προγραμματισμό για Android, θα έχετε ένα ευρύ κοινό, το οποίο αργότερα μπορεί να αποφέρει κέρδος. Γενικά, το Android είναι ένα είδος «όασης» για προγραμματιστές. Επομένως, έχουμε ετοιμάσει για εσάς μια ειδική επιλογή γλωσσών προγραμματισμού, καθώς και περιβάλλοντα ανάπτυξης για αυτό το λειτουργικό σύστημα.
Προσοχή, μια μικρή συμβουλή για αρχάριους: Ο προγραμματισμός Android μπορεί να φαίνεται δύσκολος ή πολύ μονότονος στην αρχή. Συμβουλή: Ελέγξτε τους συνδέσμους προς χρήσιμη τεκμηρίωση προτού ξεκινήσετε και, στη συνέχεια, ο προγραμματισμός στο Android δεν θα σας δημιουργήσει πρόβλημα.
Η Java είναι το κύριο εργαλείο για προγραμματιστές Android
Αναπτυξιακά περιβάλλοντα: Android Studio (IntelliJ IDEA), πρόσθετο Eclipse + ADT Κατάλληλο γιαευρύ φάσμα εργασιών
Η Java είναι η κύρια γλώσσα για τους προγραμματιστές Android, κάτι που πρέπει να έχουν για αρχάριους. Ο κύριος πηγαίος κώδικας Android είναι γραμμένος σε αυτήν τη γλώσσα, επομένως είναι εύκολο να καταλάβουμε γιατί οι περισσότεροι άνθρωποι επιλέγουν αυτήν τη γλώσσα. Οι εφαρμογές που είναι γραμμένες σε Java τρέχουν σε Android χρησιμοποιώντας την εικονική μηχανή ART (ή Dalvik στο Jelly Bean και παλαιότερες εκδόσεις του Android), ένα ανάλογο της εικονικής μηχανής Java, για την οποία η Google έχει μια σοβαρή νομική μάχη με την Oracle.
Επί του παρόντος, η Google υποστηρίζει επίσημα το αρκετά ισχυρό περιβάλλον ανάπτυξης Android Studio, το οποίο βασίζεται στο Intellij IDEA από την JetBrains. Επίσης, μην ξεχνάτε την πολύ λεπτομερή τεκμηρίωση από την Google, η οποία καλύπτει τα πάντα, από match_parent και wrap_content έως κατασκευαστές, σταθερές και κύριες μεθόδους της κλάσης JavaHttpConnection - σίγουρα αξίζει να το διαβάσετε.
Επίσης, μην ξεχνάτε το Eclipse, ένα πολύ δημοφιλές περιβάλλον για προγραμματιστές Java. Με την επίσημη προσθήκη ADT από την Google, αυτή η εργαλειοθήκη θα γίνει ένα ισχυρό και ελαφρύ όπλο στα χέρια σας. Όμως τα παιδιά από το Mountain View σταμάτησαν να υποστηρίζουν το Eclipse από το περασμένο καλοκαίρι, δίνοντας τη θέση τους στο νέο Android Studio. Συνιστάται για χρήση σε αδύναμους υπολογιστές.
Απαιτούμενη τεκμηρίωση:
Η C++ είναι ένα ισχυρό εργαλείο στα χέρια ενός πλοιάρχου
Κύρια Περιβάλλοντα Ανάπτυξης: Android Studio (έκδοση 1.3 και νεότερη), Visual Studio 2015, QtCreatorΚατάλληλο γιαμηχανές παιχνιδιών και εφαρμογές έντασης πόρων.
Η C++ είναι μια μεσήλικας αλλά πολύ ισχυρή γλώσσα προγραμματισμού που γιόρτασε την τριακοστή επέτειό της πέρυσι. Εφευρέθηκε το 1985 χάρη στις προσπάθειες του φίλου Björn Stroustrup και εξακολουθεί να κατέχει τις κορυφαίες θέσεις των πιο δημοφιλών γλωσσών προγραμματισμού. Τα «υπέρ» σας δίνουν πλήρη ελευθερία δράσης, περιορίζοντάς σας μόνο σε ό,τι είναι λογικό.
Σε όλη την ύπαρξη του Android, έχουν δημιουργηθεί πολλά πλαίσια και εργαλεία ανάπτυξης για C++. Θα ήθελα ιδιαίτερα να επισημάνω τα γνωστά Qt και IDE QtCreator, τα οποία σας επιτρέπουν να αναπτύσσετε εφαρμογές πολλαπλών πλατφορμών για Windows, Windows Phone, Windows RT, iOS, SailfishOS και Android (κάποτε αυτή η λίστα περιελάμβανε και το Symbian). Επιπλέον, λαμβάνετε μια βολική βιβλιοθήκη Tulip με κοντέινερ, αλγόριθμους και πρότυπα, η οποία απορροφά τα καλύτερα της Java και του Android. Και τέλος, λαμβάνετε πολλές διαφορετικές μονάδες QT για εργασία υψηλού και χαμηλού επιπέδου με το σύστημα. Ο ταπεινός υπηρέτης σας κωδικοποιεί συγκεκριμένα σε C++ και Qt.
Πέρυσι, στο συνέδριο Windows: The Next Champter, δόθηκε ευρεία προσοχή στο αρκετά δημοφιλές περιβάλλον ανάπτυξης Visual Studio 2015. Μία από τις κύριες καινοτομίες ήταν η υποστήριξη για την ανάπτυξη εφαρμογών τόσο για Windows Phone όσο και για Android - η Microsoft προσπάθησε με κάποιο τρόπο να αυξήσει τον αριθμό εφαρμογών για το λειτουργικό σας σύστημα.
Είναι επίσης αδύνατο να μην αναφέρουμε ότι το επίσημο Android Studio άρχισε να υποστηρίζει το NDK. Με τη βοήθεια του NDK, μπορείτε να χρησιμοποιήσετε γραφικά OpenGL όταν εργάζεστε με Android. Εάν χρειάζεστε ταχύτητα και αποτελεσματικότητα - επιλέξτε NDK! Αυτή η μέθοδος ανάπτυξης είναι ιδανική για μηχανές παιχνιδιών που απαιτούν υψηλή απόδοση.
Η ανάπτυξη Android σε C ή C++ μπορεί να φαίνεται πιο απλή από ό,τι στην Java, αλλά παρά το γεγονός ότι η γλώσσα σας προσφέρει απόλυτη ελευθερία δράσης και δεν σας περιορίζει στα βήματά σας, έχει ορισμένες συγκεκριμένες δυνατότητες που θα σας πάρει πολύ χρόνο για να μάθετε - Όχι χωρίς λόγο το C++ έχει συγκριθεί με τα nunchucks (ένα εξαιρετικό όπλο που δυστυχώς απαιτεί μεγάλη ικανότητα). Ωστόσο, η ανάπτυξη εφαρμογών Android σε C και C++ μπορεί να είναι διασκεδαστική.
Απαιτούμενη τεκμηρίωση:
Άλλες γλώσσες
Τώρα είναι η ώρα να μιλήσουμε για άλλες λιγότερο δημοφιλείς, αλλά και ενδιαφέρουσες γλώσσες και πλαίσια για αυτούς. Ωστόσο, για πολλούς λόγους, δεν θα είστε τόσο επιτυχημένοι όσο με την Java και τη C++.Corona (Σενάριο LUA)
Κατάλληλο γιαδημιουργία παιχνιδιών και απλών εφαρμογών
Εάν για κάποιο λόγο δεν θέλετε να μάθετε Java ή να κατανοήσετε τη δημιουργία μιας διεπαφής μέσω XML, τότε μπορείτε να επιλέξετε αυτό το IDE για τον εαυτό σας. Το Corona είναι ένα αρκετά ελαφρύ περιβάλλον ανάπτυξης, ο κώδικας στο οποίο πρέπει να είναι γραμμένος σε ένα αρκετά ελαφρύ LUA (οι λάτρεις του Pascal θα το εκτιμήσουν).
Αυτή η εργαλειοθήκη θα σας βοηθήσει όταν γράφετε απλά παιχνίδια 2D, για τα οποία υπάρχουν βιβλιοθήκες για 2D αντικείμενα, ήχους, δίκτυο και μηχανή παιχνιδιών. Τα παιχνίδια που δημιουργήθηκαν λειτουργούν με OpenGL, που σημαίνει υψηλή απόδοση. Εξαιρετικό για αρχάριους, ίσως εδώ μπορείτε να δημιουργήσετε την πρώτη σας εφαρμογή για κινητά στο Android!
Απαιτούμενη τεκμηρίωση:
Adobe PhoneGap (HTML5, JavaScript, CSS)
Κατάλληλο γιαδημιουργία εφαρμογών που δεν απαιτούν πόρους
Εάν είστε ήδη εξοικειωμένοι με HTML, CSS και JavaScript, μπορείτε να δοκιμάσετε το PhoneGap ως εναλλακτική. Αυτό το IDE θα σας επιτρέψει να δημιουργήσετε πλήρεις εφαρμογές που έχουν αναπτυχθεί στις προαναφερθείσες γλώσσες προγραμματισμού και σήμανσης.
Στην πραγματικότητα, οι έτοιμες εφαρμογές από το PhoneGap είναι τα πιο απλά WebView, που ζωντανεύουν με τη χρήση JavaScript. Χρησιμοποιώντας μια ποικιλία API, μπορείτε να χρησιμοποιήσετε διάφορες λειτουργίες συσκευής, όπως και στις εγγενείς εφαρμογές. Αυτό που είναι ενδιαφέρον είναι ότι οι εφαρμογές μεταγλωττίζονται στον διακομιστή και στη συνέχεια είναι διαθέσιμες για χρήση σε iOS, Android, Windows Phone, Web OS και BlackBerry OS. Με μια τέτοια ευρεία λειτουργικότητα πολλαπλών πλατφορμών, η ανάπτυξη εφαρμογών μπορεί να επιταχυνθεί σημαντικά.
Απαιτούμενη τεκμηρίωση:
Fuse (JavaScript και UX)
Κατάλληλο γιαδημιουργώντας απλές και σύνθετες εφαρμογές
Όταν οι άνθρωποι μιλούν για εργαλεία ανάπτυξης Android, σκέφτονται συχνά το Fuse. Αυτό το εργαλείο είναι ένα από τα πιο φιλικά προς το χρήστη του είδους του και μπορεί να παρουσιάσει ένα ευρύ φάσμα δυνατοτήτων και πλεονεκτημάτων στον προγραμματιστή.
Η κύρια λογική των εφαρμογών Fuse βασίζεται σε JavaScript - μια απλή και κατανοητή γλώσσα με χαμηλό όριο εισόδου. Η βάση της διεπαφής αντιπροσωπεύεται από σήμανση UX - διαισθητικά κατανοητή σε όλους. Λοιπόν, τα "buns" του περιβάλλοντος θα σας επιτρέψουν να εφαρμόσετε τις αλλαγές απευθείας ενώ η εφαρμογή εκτελείται στη συσκευή ή τον εξομοιωτή σας - όπως ακριβώς στο Android Studio 2.0 και νεότερη έκδοση. Με το Fuse, η ανάπτυξη εφαρμογών Android μπορεί να είναι εύκολη και ευχάριστη.
Απαιτούμενη τεκμηρίωση: