1 00:00:00,000 --> 00:00:02,610 [Powered by Google Translate] [Σεμινάριο] [Android Apps (Τώρα με Jelly Beans!)] 2 00:00:02,610 --> 00:00:04,210 [Jordan Jozwiak] [Πανεπιστήμιο του Χάρβαρντ] 3 00:00:04,210 --> 00:00:06,780 [Αυτό είναι CS50.] [CS50.TV] 4 00:00:06,780 --> 00:00:11,600 >> Γεια σε όλους και καλώς ήρθατε στο Android Apps (Τώρα με Jelly Beans!) Σεμινάριο. 5 00:00:11,600 --> 00:00:14,530 Λέγεται Τώρα με Jelly Beans, φυσικά, επειδή 6 00:00:14,530 --> 00:00:17,310 η τελευταία έκδοση του λειτουργικού συστήματος που ονομάζεται Jelly φασολιών. 7 00:00:17,310 --> 00:00:22,950 Όταν μίλησα για το Android πέρυσι και έκανε αυτό ουσιαστικά ίδιο σεμινάριο 8 00:00:22,950 --> 00:00:29,150 Ήμουν παρουσιάζουν τα σχεδιαστικά πρότυπα και στυλιστικές επιλογές για Gingerbread, 9 00:00:29,150 --> 00:00:31,250 ακόμη και αν Ice Cream Sandwich είχε βγει εκείνη την εποχή, 10 00:00:31,250 --> 00:00:33,680 και αυτό είναι κάτι για το οποίο θα μιλήσουμε για να πάμε μπροστά λίγο. 11 00:00:33,680 --> 00:00:35,720 Android, βέβαια, έχει κάποια θέματα με τον κατακερματισμό, 12 00:00:35,720 --> 00:00:40,240 έτσι ώστε το τελευταίο λειτουργικό σύστημα της Google είναι συνήθως 13 00:00:40,240 --> 00:00:44,710 δεν είναι πραγματικά πρόκειται να γίνει κοινή μεταξύ των χρηστών για δυνητικά μέχρι και ένα χρόνο, δυστυχώς. 14 00:00:44,710 --> 00:00:49,960 >> Αλλά ανεξάρτητα από αυτό, θα μιλήσουμε για την αφθονία των λόγων για τους οποίους 15 00:00:49,960 --> 00:00:53,000 Android είναι πολύ καλύτερη από ό, τι iOS. 16 00:00:53,000 --> 00:00:56,410 Εντάξει, θα μιλήσουμε για το Android έναντι του iOS, 17 00:00:56,410 --> 00:00:59,770 ορισμένες παραδείγματα σχεδιασμού, πώς θα πάρετε συσταθεί μέσα σε μόλις μία διαφάνεια, 18 00:00:59,770 --> 00:01:03,410 και η μεγάλη διαφορά ανάμεσα σε αυτό και το τελευταίο έτος είναι Απλά θέλω να 19 00:01:03,410 --> 00:01:06,860 ζουμ μέσα από κάποια εννοιολογική πράγματα που εργάζονται με 20 00:01:06,860 --> 00:01:09,950 το λειτουργικό σύστημα και στη συνέχεια να πάμε σε ένα πολύ βασικό παράδειγμα. 21 00:01:09,950 --> 00:01:13,730 Στην πραγματικότητα, μόνο το παράδειγμα ότι η Google περιγράφει για την οικοδόμηση πρώτη app σας, 22 00:01:13,730 --> 00:01:17,070 και θα πάμε μέσα από αυτό μαζί και απλά περιγράφουν. 23 00:01:17,070 --> 00:01:22,100 >> Ξέρω ότι πολλοί από εσάς έχετε μόνο γραμμένος σε C, έτσι ώστε Java είναι ήδη πρόκειται να είναι 24 00:01:22,100 --> 00:01:27,220 μια διαφορετική προοπτική, και με αυτόν τον τρόπο θα πάρετε τα πόδια σας υγρά 25 00:01:27,220 --> 00:01:31,540 και να αισθάνονται λίγο πιο άνετα με αυτό ελπίζουμε. 26 00:01:31,540 --> 00:01:35,330 Μια γρήγορη περίληψη, το Android έναντι του iOS. 27 00:01:35,330 --> 00:01:39,200 Στο Android υπάρχει αυτό το εφάπαξ τέλος για την ανάπτυξη των $ 25, 28 00:01:39,200 --> 00:01:42,390 κανένας από αυτό το πράγμα $ 100 ανά έτος. 29 00:01:42,390 --> 00:01:45,440 Δεν υπάρχουν περιορισμοί, πράγμα που σημαίνει ότι αν θέλω να υποβάλω μια εφαρμογή, 30 00:01:45,440 --> 00:01:51,560 Υποβάλλω αυτό ακριβώς, και δεν υπάρχει διαδικασία έγκρισης, όπως υπάρχει για iOS. 31 00:01:51,560 --> 00:01:53,890 Μπορείτε να πάρετε για την ανάπτυξη με τη χρήση Java Eclipse, 32 00:01:53,890 --> 00:01:57,090 η οποία είναι cross platform, οπότε δεν έχει σημασία αν έχετε ένα Mac, 33 00:01:57,090 --> 00:01:59,600 Τα Windows, Linux ή κάποιο μηχάνημα. 34 00:01:59,600 --> 00:02:03,730 Φυσικά, με το iOS θα πρέπει να χρησιμοποιήσετε το Xcode σε Mac, 35 00:02:03,730 --> 00:02:06,930 και Android χρησιμοποιείται από πολλούς περισσότερους ανθρώπους, 36 00:02:06,930 --> 00:02:11,580 Έτσι, εάν θέλετε η εφαρμογή σας να έχουν κάποιο είδος της ορατότητας ή ίσως 37 00:02:11,580 --> 00:02:14,110 να κάνει λίγα χρήματα από τις διαφημίσεις 38 00:02:14,110 --> 00:02:17,450 είστε μάλλον πιο πιθανό να επωφεληθούν από το Android. 39 00:02:17,450 --> 00:02:20,630 >> Και ένα πράγμα που είναι πάντα γνωστή για το Android 40 00:02:20,630 --> 00:02:25,100 είναι η ακραία ποσό της προσαρμογής, ενώ το iOS είναι πολύ καθορίζεται με τον τρόπο τους 41 00:02:25,100 --> 00:02:29,380 ώστε να μπορούν να διατηρήσουν την ασφάλεια και τον έλεγχο πάνω σε κάθε μικρή πτυχή 42 00:02:29,380 --> 00:02:34,180 του σχεδιασμού στο λειτουργικό σύστημα και τις επιμέρους εφαρμογές. 43 00:02:34,180 --> 00:02:40,180 Το Android είναι πολύ ελεύθερη μορφή, και δεν υπάρχουν τόσες πολλές περισσότερες δυνατότητες. 44 00:02:40,180 --> 00:02:42,530 Εντάξει, κάποια παραδείγματα σχεδιασμού. 45 00:02:42,530 --> 00:02:49,600 Προσέξτε εδώ ακριβώς όπως το iOS έχει δισκία και iPhones και iPod Touch, 46 00:02:49,600 --> 00:02:53,840 έχουν να συντηρήσουν, ας πούμε, σαν μια ντουζίνα συσκευές, αν θέλετε να υποστηρίξετε 47 00:02:53,840 --> 00:02:55,450 ιστορικά πράγματα, όπως καλά. 48 00:02:55,450 --> 00:02:58,410 Με το Android θα πρέπει να στηρίξει τις εκατοντάδες των συσκευών, 49 00:02:58,410 --> 00:03:01,240 έτσι υπάρχουν μερικά πράγματα που η Google έχει προσπαθήσει να εφαρμόσει 50 00:03:01,240 --> 00:03:04,970 να κάνει ο χρήστης την εμπειρία λίγο πιο συνεπής, 51 00:03:04,970 --> 00:03:08,560 αλλά θα μιλήσουμε επίσης για το πώς αυτό σημαίνει ότι υπάρχουν ζητήματα κατακερματισμού 52 00:03:08,560 --> 00:03:11,700 ότι θα πρέπει συνεχώς να γνωρίζουν υποστήριξη. 53 00:03:11,700 --> 00:03:16,140 Ο κατακερματισμός σημαίνει ότι υπάρχουν πολλά διαφορετικά λειτουργικά συστήματα, 54 00:03:16,140 --> 00:03:20,330 πολλά διαφορετικά τηλέφωνα με διαφορετικό υλικό τρέχει Android όλα την ίδια στιγμή, 55 00:03:20,330 --> 00:03:29,680 έτσι ώστε αυτή η γραφική παράσταση πηγαίνει εδώ πίσω για περίπου 6 μήνες. 56 00:03:29,680 --> 00:03:36,460 Ναι, 6 μήνες και μπορείτε να δείτε πώς το πιο σκουρόχρωμη ζώνη 57 00:03:36,460 --> 00:03:39,330 στο κάτω μέρος του Jelly Bean, που βγήκε το καλοκαίρι, 58 00:03:39,330 --> 00:03:42,970 και μπορείτε να δείτε τώρα κατά πάσα πιθανότητα περίπου 2% από τα τηλέφωνα που έχουν. 59 00:03:42,970 --> 00:03:45,520 >> Ice Cream Sandwich βγήκε πριν από ένα χρόνο, 60 00:03:45,520 --> 00:03:47,770 και το ένα τέταρτο από τα τηλέφωνα που έχουν. 61 00:03:47,770 --> 00:03:53,910 Υπάρχουν ακόμα πολλά τηλέφωνα που χρησιμοποιούν λειτουργικό σύστημα έκδοση από χρόνια πριν. 62 00:03:53,910 --> 00:03:57,820 Ένα πράγμα που η Google έχει προσπαθήσει να κάνει για να κάνουν την εμπειρία του χρήστη 63 00:03:57,820 --> 00:04:01,400 πολύ πιο συνεπής σε εφαρμογές ξεκινά με Honeycomb, 64 00:04:01,400 --> 00:04:04,320 οποίου είναι η έκδοση tablet, τότε Παγωτό σάντουιτς και Jelly Bean, 65 00:04:04,320 --> 00:04:06,750 από όπου και αν πραγματικά προσπαθούν να δώσουν έμφαση στη χρήση της εν λόγω γραμμή ενεργειών, 66 00:04:06,750 --> 00:04:10,430 το οποίο είναι ό, τι μπορείτε να δείτε στην κορυφή εδώ, 67 00:04:10,430 --> 00:04:14,730 τα πάντα εδώ, όπως αυτό το μικρό κουμπί Ρυθμίσεις. 68 00:04:14,730 --> 00:04:16,079 Είναι η επιλογή του σχεδιασμού. 69 00:04:16,079 --> 00:04:18,000 Τώρα, κάθε φορά που βλέπετε τα 3 τελείες σημαίνει κλικ σε αυτό, 70 00:04:18,000 --> 00:04:21,880 και θα υπάρξει μια drop-down μενού, το οποίο έχει κάποιου είδους ρυθμίσεις. 71 00:04:21,880 --> 00:04:28,900 Αυτό εμφανίζεται μόνο γιατί χτύπησα σε αυτό το κουμπί. 72 00:04:28,900 --> 00:04:32,040 Αυτό είναι κάτι που προσπαθούν να χρησιμοποιήσουν για να κάνουν τις εφαρμογές λίγο πιο συνεπή 73 00:04:32,040 --> 00:04:39,210 σε όλους τους τομείς και έτσι ο χρήστης έχει μια καλύτερη αίσθηση της ενιαία εμπειρία. 74 00:04:39,210 --> 00:04:42,640 >> Εντάξει, έτσι ώστε σε περίπτωση που δεν το έχετε κάνει ήδη αυτό ή αν είστε βλέποντας στο σπίτι 75 00:04:42,640 --> 00:04:50,210 τότε μπορείτε να ακολουθήσετε τα παρακάτω βήματα για να ρυθμίσετε κωδικοποίησης περιβάλλον σας. 76 00:04:50,210 --> 00:04:52,630 Θα συνεπάγεται τη μετάβαση στην ιστοσελίδα εδώ. 77 00:04:52,630 --> 00:04:56,260 Μπορείτε να εγκαταστήσετε το Google Android SDK 78 00:04:56,260 --> 00:04:59,130 και να ακολουθήσετε κάποιες περιγραφές εκεί. 79 00:04:59,130 --> 00:05:01,310 Θα σας πω τα πάντα. 80 00:05:01,310 --> 00:05:05,160 Έχουν την εγκατάσταση του SDK, Eclipse Classic λήψη έκδοση, 81 00:05:05,160 --> 00:05:07,450 έστω και αν, φυσικά, είμαστε κωδικοποίησης σε Java. 82 00:05:07,450 --> 00:05:12,190 Θα συνιστούσα αυτό το ένα, και στη συνέχεια αυτό το ADT, τα εργαλεία ανάπτυξης Android, 83 00:05:12,190 --> 00:05:17,300 είναι ένα plugin που έχετε εγκαταστήσει στο Eclipse το οποίο σας επιτρέπει να 84 00:05:17,300 --> 00:05:20,550 έχουν μια πολύ πιο σύγχρονη εμπειρία με Android στο Eclipse. 85 00:05:20,550 --> 00:05:24,070 Θα σας δώσω μερικά γραφικά περιβάλλοντα χρήστη 86 00:05:24,070 --> 00:05:29,610 για το σχεδιασμό των απόψεων, και αυτό θα σας δώσει πολύ μεγαλύτερη στήριξη 87 00:05:29,610 --> 00:05:34,840 και τη δυνατότητα να ξεκινήσει με τον εξομοιωτή και όλα αυτού του είδους τα πράγματα. 88 00:05:34,840 --> 00:05:36,090 Πλαίσιο εφαρμογής. 89 00:05:36,090 --> 00:05:41,590 >> Θέλω να μιλήσω για το πώς είναι δομημένα τα έργα στο Android, 90 00:05:41,590 --> 00:05:44,830 και στη συνέχεια θα πάμε σε ένα γρήγορο παράδειγμα, και ελπίζουμε 91 00:05:44,830 --> 00:05:48,820 μπορείτε να κάνετε ερωτήσεις σε οποιοδήποτε σημείο και να αισθάνονται άνετα με το τέλος της. 92 00:05:48,820 --> 00:05:50,090 Έχουμε κάποια ορολογία πρώτα. 93 00:05:50,090 --> 00:05:55,330 Μια δραστηριότητα είναι σαν την οθόνη που βλέπετε όταν ξεκινήσει μια app. 94 00:05:55,330 --> 00:05:57,840 Η όλη εμπειρία είναι η δραστηριότητα αυτή καθαυτή, 95 00:05:57,840 --> 00:06:00,790 ώστε να μπορείτε να σκεφτείτε από το ως μια οθόνη ή μια άποψη, 96 00:06:00,790 --> 00:06:04,540 αλλά στην πραγματικότητα είναι η πλευρά του πηγαίου κώδικα του. 97 00:06:04,540 --> 00:06:12,680 Καλούμε ακόμα το πραγματικό μέρος του interface από αυτό μια άποψη. 98 00:06:12,680 --> 00:06:17,230 Είναι περίπου όπως το πώς σε PSET 7 είχαμε τον ελεγκτή και στη συνέχεια την προβολή. 99 00:06:17,230 --> 00:06:20,690 Η δραστηριότητα είναι περισσότερο ή λιγότερο τον ελεγκτή, 100 00:06:20,690 --> 00:06:23,360 και η θέα είναι αυτό που κάνουμε από την άποψη της XML 101 00:06:23,360 --> 00:06:25,260 που είναι συνδεδεμένες με την εν λόγω δραστηριότητα. 102 00:06:25,260 --> 00:06:29,340 Τα θραύσματα είναι κάτι που εφαρμόζεται σε Ice Cream Sandwich να πάμε μπροστά. 103 00:06:29,340 --> 00:06:36,380 Είναι απλά μια ιδέα από τη λήψη τμημάτων της άποψης ή της δραστηριότητας 104 00:06:36,380 --> 00:06:39,990 και διαιρώντας τους σε ξεχωριστές περιοχές, έτσι ώστε να μπορούμε 105 00:06:39,990 --> 00:06:45,030 να κάνει τον κώδικά μας πιο εύχρηστο για αυτές τις πολλές διαφορετικές συσκευές 106 00:06:45,030 --> 00:06:51,890 ότι πρέπει να υποστηρίξει, και είναι απλά ένας τρόπος που προσπαθούν να 107 00:06:51,890 --> 00:06:54,290 Επίσης, παράγοντας περισσότερες κωδικό. 108 00:06:54,290 --> 00:07:01,090 Οι υπηρεσίες είναι πράγματα φόντο σαν να παίζουν μουσική ή οδηγίες πλοήγησης δυνητικά. 109 00:07:01,090 --> 00:07:05,640 Οι πάροχοι περιεχομένου, αυτά είναι τα APIs στο λειτουργικό σύστημα 110 00:07:05,640 --> 00:07:09,070 που σας επιτρέπουν να έχετε πρόσβαση σε κοινόχρηστα δεδομένα, όπως στοιχεία επικοινωνίας, 111 00:07:09,070 --> 00:07:12,790 και στη συνέχεια η πρόθεση είναι κάτι που θα χρησιμοποιήσουμε όταν θέλουμε να ξεκινήσει 112 00:07:12,790 --> 00:07:17,210 μια νέα δραστηριότητα από την τρέχουσα δραστηριότητά μας. 113 00:07:17,210 --> 00:07:20,980 >> Γεια σας Android, αυτό πρόκειται να είναι ένα έργο το οποίο θα μιλήσουμε για. 114 00:07:20,980 --> 00:07:25,410 Θα το κάνω πραγματικά για σας, και στη συνέχεια θα κάνουμε ένα πράγμα, όπου πατάμε ένα κουμπί 115 00:07:25,410 --> 00:07:27,650 με κάποιο κείμενο και να ξεκινήσει μια νέα δραστηριότητα. 116 00:07:27,650 --> 00:07:30,110 Πολύ απλό, αλλά θέλω να περάσουν 117 00:07:30,110 --> 00:07:34,480 Τι θα πάει σε ένα έργο όπως αυτό. 118 00:07:34,480 --> 00:07:39,260 Όταν κάνετε το νέο σχέδιο που θα δείτε στο Eclipse 119 00:07:39,260 --> 00:07:41,900 υπάρχει αυτό το σχέδιο ονομάζεται Hello Android. 120 00:07:41,900 --> 00:07:43,470 Έπειτα, υπάρχουν ένα σωρό φακέλους εδώ. 121 00:07:43,470 --> 00:07:46,760 Οι αυτοί είστε πραγματικά ασχολούνται με είναι το φάκελο προέλευσης, 122 00:07:46,760 --> 00:07:54,540 ο φάκελος των πόρων, οι ανανεώσιμες πηγές ενέργειας, και σε κάποιο βαθμό το φάκελο libs για τις βιβλιοθήκες. 123 00:07:54,540 --> 00:08:00,070 Και για να είμαστε στην ίδια σελίδα με αυτή 124 00:08:00,070 --> 00:08:03,240 αν ήταν να δημιουργήσετε ένα νέο έργο, 125 00:08:03,240 --> 00:08:08,270 μπορείτε να το κάνετε αυτό το δικαίωμα εδώ, οπότε αν θέλω να το ονομάσουμε HelloAndroid, 126 00:08:08,270 --> 00:08:11,100 και στη συνέχεια να κάνει αυτόματα ένα σωρό πληροφορίες για εμάς. 127 00:08:11,100 --> 00:08:14,110 Το όνομα του πακέτου είναι υποτίθεται ότι είναι ένα μοναδικό αναγνωριστικό 128 00:08:14,110 --> 00:08:16,710 που θα έπρεπε κανονικά να σχετίζεται με την ιστοσελίδα, αν είχατε ένα. 129 00:08:16,710 --> 00:08:24,430 >> Για παράδειγμα, εγώ θα καλέσει αυτό το net.cs50.helloandroid. 130 00:08:24,430 --> 00:08:30,070 Και έχω ήδη κάνει αυτό το έργο μια φορά. 131 00:08:30,070 --> 00:08:40,059 Εντάξει, συγγνώμη. Ας το ονομάσουμε HelloCS50. 132 00:08:40,059 --> 00:08:42,929 Και τότε θα ζητήσει από τα πράγματα, όπως τι είδους εικόνα θέλουμε να κάνει. 133 00:08:42,929 --> 00:08:48,840 Αυτό είναι όλα λόγω του Android Developer Tools interface, 134 00:08:48,840 --> 00:08:53,350 το plugin που έχουμε προσθέσει στο Eclipse, οπότε μπορούμε να επιλέξουμε τα πράγματα όπως 135 00:08:53,350 --> 00:08:58,320 τι εικόνα που θέλουμε, και ότι θα πήγαινε σε αυτό το βάθος, αν θέλουμε. 136 00:08:58,320 --> 00:09:04,360 Αλλά στο τέλος, κάνουν ακριβώς το έργο, 137 00:09:04,360 --> 00:09:07,040 και όλα δείχνουν μέχρι εδώ. 138 00:09:07,040 --> 00:09:10,030 Όπως προέκυψε από την άλλη οθόνη, 139 00:09:10,030 --> 00:09:14,070 έχουμε το φάκελο προέλευσης, και θα μιλήσουμε για το τι σημαίνουν όλα αυτά σύντομα, 140 00:09:14,070 --> 00:09:19,090 αλλά μπορείτε να δείτε ότι αμέσως θα μας μεταφέρει στην οθόνη HelloCS50. 141 00:09:19,090 --> 00:09:24,690 Υπάρχουν μερικά κουμπιά εδώ για την προσθήκη κειμένου και το κείμενο σχεδιαγράμματα τομέα. 142 00:09:24,690 --> 00:09:28,910 Είναι περίπου όπως το Xcode, αλλά, δυστυχώς, δεν είναι τόσο βελτιωμένο. 143 00:09:28,910 --> 00:09:37,790 Αλλά τα κλιπ θα είναι φίλος και ADT σας, ιδίως για να γίνει αυτό. 144 00:09:37,790 --> 00:09:40,920 >> Εντάξει, ο φάκελος προέλευσης είναι όπου 145 00:09:40,920 --> 00:09:43,820 τα αρχεία Java που κατέχει, και αυτό είναι πραγματικά η έναρξη του προγράμματός σας. 146 00:09:43,820 --> 00:09:45,990 Είναι ουσιαστικά σαν τους ελεγκτές. 147 00:09:45,990 --> 00:09:49,020 Ο φάκελος των πόρων ή το ΑΠΕ όπου θα κρατήσει διατάξεις οθόνης, 148 00:09:49,020 --> 00:09:54,110 εικόνες, ήχους, κείμενο, κινούμενα σχέδια και οτιδήποτε άλλο, libs, προφανώς, βιβλιοθήκες. 149 00:09:54,110 --> 00:10:01,700 Και το Manifest, είναι ο τρόπος που το σύστημα Android ξέρει 150 00:10:01,700 --> 00:10:03,130 πώς να αλληλεπιδρούν με την εφαρμογή σας. 151 00:10:03,130 --> 00:10:07,980 Είναι λέει σχετικά με τα δικαιώματα και ποιες δραστηριότητες θα είναι πραγματικά να τρέξει. 152 00:10:07,980 --> 00:10:12,350 Είναι όλες τις απαραίτητες πληροφορίες που χρειάζεται για να τρέξει app σας. 153 00:10:12,350 --> 00:10:17,990 Ο φάκελος πηγή είναι-αν την επέκταση, όπως μπορείτε να δείτε εδώ. 154 00:10:17,990 --> 00:10:23,920 Και ένα παράδειγμα ότι ένας κώδικας θα δούμε-αυτό είναι το προεπιλεγμένο κωδικό. 155 00:10:23,920 --> 00:10:27,930 Όπως έχουμε αυτό που ονομάζεται, MainActivity. 156 00:10:27,930 --> 00:10:33,230 Από προεπιλογή, έχουμε onCreate, η οποία είναι μια λειτουργία που λέγεται όταν η δραστηριότητα αυτή τα φορτία, 157 00:10:33,230 --> 00:10:37,150 έτσι θέλετε να καλέσετε onCreate (savedInstanceState). 158 00:10:37,150 --> 00:10:40,440 Αυτό θα αποκαταστήσει τυχόν κομμάτια των πληροφοριών 159 00:10:40,440 --> 00:10:44,910 σε περίπτωση που η εφαρμογή έγινε παύση. 160 00:10:44,910 --> 00:10:48,790 >> Υπάρχει μια ολόκληρη ζωή δραστηριότητας διάγραμμα του κύκλου που μπορείτε να δείτε 161 00:10:48,790 --> 00:10:50,380 όταν μπορείτε να πάρετε μια λίγο περισσότερο σε βάθος σε αυτό, 162 00:10:50,380 --> 00:10:56,210 αλλά το πιο σημαντικό γραμμή κώδικα δεν υπάρχει αυτή η λειτουργία setContentView 163 00:10:56,210 --> 00:11:00,290 το οποίο θα φορτώσει το αρχείο πόρων για τη διάταξη. 164 00:11:00,290 --> 00:11:03,590 Τότε τι onCreate εδώ είναι βασικά κάνει είναι λέει 165 00:11:03,590 --> 00:11:07,010 όταν δημιουργώ αυτή τη δραστηριότητα που θέλετε να φορτώσετε αυτό το σχεδιάγραμμα. 166 00:11:07,010 --> 00:11:12,030 Και θα μιλήσουμε για ό, τι η χωροταξία είναι σε ένα δευτερόλεπτο. 167 00:11:12,030 --> 00:11:16,230 Αν ήταν να ξεκινήσει ότι εδώ μοιάζει ακριβώς με αυτό, 168 00:11:16,230 --> 00:11:22,880 και από προεπιλογή, επειδή έχουμε Eclipse κάνει αυτό και ADT το κάνουμε για εμάς 169 00:11:22,880 --> 00:11:28,210 Αυτό είναι όλος ο κώδικας στερεότυπο που δημιουργείται για εμάς, 170 00:11:28,210 --> 00:11:34,630 και μπορούμε να προχωρήσουμε και να αλλάξουμε τα πράγματα όπως μας αρέσει. 171 00:11:34,630 --> 00:11:38,190 Ο φάκελος των πόρων, όπως είπα, αυτό είναι που κρατάμε όλα τα σχεδιαγράμματα, 172 00:11:38,190 --> 00:11:41,150 drawables όσον αφορά οποιοδήποτε είδος των εικόνων- 173 00:11:41,150 --> 00:11:46,360 όπου και αν ονομάζεται drawables και στη συνέχεια, τα αρχεία ήχου, τα μενού. 174 00:11:46,360 --> 00:11:51,170 Είναι ένας τρόπος για ένα σωρό XML σε μια ταξινομημένη ωραίο τρόπο. 175 00:11:51,170 --> 00:11:58,030 Όπως μπορείτε να δείτε, υπάρχουν. Hdpi, ldpi, mdpi και xhdpi φακέλους για τις drawables. 176 00:11:58,030 --> 00:12:02,220 Αυτές είναι διαφορετικές πυκνότητες οθόνη, τόσο υψηλή πυκνότητα pixel ανά ίντσα, 177 00:12:02,220 --> 00:12:05,710 χαμηλής πυκνότητας, μέσης πυκνότητας, εξαιρετικά υψηλής πυκνότητας. 178 00:12:05,710 --> 00:12:08,900 >> Αυτό είναι, και πάλι, έτσι ώστε να μπορεί να υποστηρίξει όλες αυτές τις διαφορετικές συσκευές, 179 00:12:08,900 --> 00:12:15,100 και στην ιδανική περίπτωση, θα έχετε διαφορετικές εικόνες για κάθε διαφορετική ανάλυση. 180 00:12:15,100 --> 00:12:20,740 Σχεδιαγράμματα είναι όπου περιλαμβάνει όλες τις διαφορετικές διατάξεις που θα χρησιμοποιηθούν σε διάφορες δραστηριότητες. 181 00:12:20,740 --> 00:12:24,150 Μπορούν επίσης να περιλαμβάνουν διατάξεις για θραύσματα, 182 00:12:24,150 --> 00:12:26,670 πράγμα που σημαίνει μερική δραστηριότητες βασικά. 183 00:12:26,670 --> 00:12:29,610 Αν θέλετε να κάνετε κάτι δροσερό σαν κάθε φορά που περιστρέφετε το τηλέφωνο 184 00:12:29,610 --> 00:12:33,900 θέλετε να έχετε μια διαφορετική διάταξη που μπορείτε να κάνετε διάταξη-τοπίο ως ένα διαφορετικό φάκελο, 185 00:12:33,900 --> 00:12:39,000 και το Android έχει αυτόματα ένα σωρό των κανόνων αυτών μέσα στο φάκελο των πόρων, 186 00:12:39,000 --> 00:12:44,690 έτσι θα ξέρουν να εξετάσουμε διαφορετικούς φακέλους με βάση την τρέχουσα ρύθμιση του τηλεφώνου, 187 00:12:44,690 --> 00:12:46,740 Τι είδους του υλικού που χρησιμοποιείτε. 188 00:12:46,740 --> 00:12:52,350 Ομοίως, αυτό αξίες-v11 εδώ και αξίες-v14 189 00:12:52,350 --> 00:12:55,460 και οι τιμές προεπιλεγμένο φάκελο αυτό είναι για- 190 00:12:55,460 --> 00:13:01,730 επίσης, τις αξίες από μόνη της, αυτό θα είναι οι προεπιλεγμένες τιμές σε όλες τις εκδόσεις του λειτουργικού συστήματος. 191 00:13:01,730 --> 00:13:06,390 Από την άλλη πλευρά, V11 και V14 αντιστοιχούν με κηρήθρα 192 00:13:06,390 --> 00:13:08,780 και Παγωτό σάντουιτς, αντίστοιχα. 193 00:13:08,780 --> 00:13:12,800 Και πάλι, αυτά είναι τρόποι που-μέσα σε αυτούς τους φακέλους είναι διαφορετικές χορδές 194 00:13:12,800 --> 00:13:17,550 και στυλ, ώστε να μπορείτε να προσαρμόσετε την εμφάνιση της εφαρμογής σας 195 00:13:17,550 --> 00:13:22,660 ή ενδεχομένως ακόμα και τη λειτουργικότητά του, αν και αυτό θα ήταν πιθανώς μια κακή ιδέα, 196 00:13:22,660 --> 00:13:25,890 με βάση την έκδοση του λειτουργικού συστήματος. 197 00:13:25,890 --> 00:13:28,760 >> Και μίλησα για όλα αυτά εδώ. 198 00:13:28,760 --> 00:13:35,870 Και πάλι, όλκιμη, πρώτες, τη διάταξη, τις αξίες. 199 00:13:35,870 --> 00:13:41,380 Οι προεπιλογές, αν πάμε σε Hello Android ή το Hello CS50 τώρα 200 00:13:41,380 --> 00:13:43,310 θα μοιάζει ακριβώς όπως αυτό. 201 00:13:43,310 --> 00:13:45,800 Θα πω γεια στον κόσμο. 202 00:13:45,800 --> 00:13:58,430 Όπως μπορείτε να δείτε εδώ με το κείμενο Android 203 00:13:58,430 --> 00:14:04,420 Το κείμενο για την άποψη αυτή το κείμενο, το οποίο είναι ουσιαστικά μόνο μια ετικέτα, 204 00:14:04,420 --> 00:14:06,900 είναι αυτό που θα την αποκαλούμε στο iOS. 205 00:14:06,900 --> 00:14:11,580 Έχει αυτό το αστείο συμβολισμό @ string / hello_world. 206 00:14:11,580 --> 00:14:16,200 Αυτό είναι έτσι ώστε να μπορούμε, προσπαθούμε να εξαγάγετε όλες τις χορδές, 207 00:14:16,200 --> 00:14:19,740 όλα τα hard-coded χορδές σε Android σε ένα ξεχωριστό φάκελο, 208 00:14:19,740 --> 00:14:23,610 η οποία συμβαίνει να είναι σε values.strings. 209 00:14:23,610 --> 00:14:29,300 Αν κοιτάξουμε εδώ, μπορούμε να δούμε ότι έχουμε ένα σκληρό κωδικοποιημένο κορδόνι αποθηκεύονται εδώ 210 00:14:29,300 --> 00:14:33,910 για Γεια σας κόσμο, και λέγεται hello world, και αυτό είναι ένα είδος 211 00:14:33,910 --> 00:14:39,230 κοινή απόφαση του σχεδιασμού σε πολλές πλατφόρμες που θέλετε να- 212 00:14:39,230 --> 00:14:41,780 χορδές είναι το είδος των πραγμάτων που θέλουμε να δυνητικά να είναι σε θέση να αλλάξει. 213 00:14:41,780 --> 00:14:48,050 Δεν θέλουν να ελέγχουν F στο αρχείο του πηγαίου κώδικα μας σε XML μας. 214 00:14:48,050 --> 00:14:50,760 Θέλουμε να είμαστε σε θέση να αλλάξουμε αυτό κάθε φορά που θα έχουμε την ευκαιρία. 215 00:14:50,760 --> 00:14:53,640 >> Αυτό το αρχείο XML, strings.xml, είναι ένας τρόπος για την εξαγωγή 216 00:14:53,640 --> 00:14:56,710 hard-coded χορδές που διαφορετικά θα ήταν σε πόρους διάταξης μας 217 00:14:56,710 --> 00:15:03,530 ή στον πηγαίο κώδικα μας. 218 00:15:03,530 --> 00:15:08,190 Η Manifest είναι όπου κρατάμε αυτές τις βασικές πληροφορίες σχετικά με την εφαρμογή. 219 00:15:08,190 --> 00:15:11,050 Περιλαμβάνει το όνομα του πακέτου. Αυτό πρέπει να είναι ένα μοναδικό αναγνωριστικό. 220 00:15:11,050 --> 00:15:16,020 Σε αντίθεση με το App Store για iOS τα ονόματα των εφαρμογών 221 00:15:16,020 --> 00:15:19,980 Δεν χρειάζεται να είναι μοναδική, και μπορεί στην πραγματικότητα να αλλάξει το όνομα της εφαρμογής σας 222 00:15:19,980 --> 00:15:23,570 μετά την υποβολή, έτσι ώστε, αν ξεκινήσετε με το Angry Birds, 223 00:15:23,570 --> 00:15:26,840 και στη συνέχεια να κάνω μια ενημέρωση, και δεν θέλω να κυκλοφορήσει μια νέα έκδοση 224 00:15:26,840 --> 00:15:34,230 Υποθέτω ότι θα μπορούσαμε να ονομάσουμε το Angry Birds 2, ενώ είμαι στον ίδιο κύκλο κυκλοφορίας. 225 00:15:34,230 --> 00:15:36,780 Θα ήταν απλώς να παρουσιάσει ως μια ενημέρωση. 226 00:15:36,780 --> 00:15:39,790 Το μόνο πράγμα που πρέπει να είναι μοναδικό είναι το όνομα του πακέτου, 227 00:15:39,790 --> 00:15:41,280 που πολλοί άνθρωποι δεν θα δουν. 228 00:15:41,280 --> 00:15:44,680 Λοιπόν, θα ήθελα μόνο να δούμε αν ήταν κοιτάζοντας τον πηγαίο κώδικα ή αν υπάρχει κάποιο είδος του λάθους. 229 00:15:44,680 --> 00:15:47,580 Τα στοιχεία περιλαμβάνουν δραστηριότητες, έτσι θα πρέπει να δηλώσουν 230 00:15:47,580 --> 00:15:49,070 οποιοδήποτε είδος της δραστηριότητας που χρησιμοποιούμε. 231 00:15:49,070 --> 00:15:53,430 Αυτό είναι ένα είδος άδεια του πράγματος. 232 00:15:53,460 --> 00:15:58,150 >> Επειδή το Android δεν έχει αυτήν την αυστηρή διαδικασία υποβολής αιτήσεων 233 00:15:58,150 --> 00:16:02,210 για την υποβολή εφαρμογές αντί να κάνει ό, τι ακριβώς βασίζονται στα ανοικτά των αδειών 234 00:16:02,210 --> 00:16:04,300 και δηλώνοντας τα πράγματα στο δηλωτικό. 235 00:16:04,300 --> 00:16:06,380 Η έκδοση SDK είναι επίσης σημαντική. 236 00:16:06,380 --> 00:16:10,330 Μπορούμε να ρυθμίσουμε τη χρήση ως κάτι ελάχιστο SDK έκδοση. 237 00:16:10,330 --> 00:16:16,010 Προφανώς, θέλετε να δημιουργήσετε κώδικα 238 00:16:16,010 --> 00:16:18,570 και το σχεδιασμό για τα νεότερα λειτουργικά συστήματα. 239 00:16:18,570 --> 00:16:20,840 Ίσως δεν είναι το νεότερο, ίσως όχι Jelly φασολιών. 240 00:16:20,840 --> 00:16:23,610 Ίσως θέλετε να σχεδιάσετε κυρίως για Παγωτό σάντουιτς, 241 00:16:23,610 --> 00:16:27,120 αν και είναι λίγο πολύ η ίδια, όσον αφορά τις αποφάσεις σχεδιασμού 242 00:16:27,120 --> 00:16:30,550 και οι πραγματικές βιβλιοθήκες και APIs. 243 00:16:30,550 --> 00:16:36,250 Αλλά αντί να έχουν οι άνθρωποι 244 00:16:36,250 --> 00:16:40,050 της αρχικής έκδοσης του Android, όπως το δρόμο της επιστροφής, όταν Donut- 245 00:16:40,050 --> 00:16:43,420 που εξακολουθούν να συμβαίνουν να χρησιμοποιεί που προσπαθούν να κατεβάσετε την εφαρμογή σας και στη συνέχεια να πω 246 00:16:43,420 --> 00:16:46,160 δεν λειτουργεί στο τηλέφωνό μου, μπορείτε να ρυθμίσετε την ελάχιστη έκδοση 247 00:16:46,160 --> 00:16:48,620 και έχουν να Gingerbread ή Ice Cream Sandwich 248 00:16:48,620 --> 00:16:53,300 ή ό, τι αισθάνεστε άνετα την υποβολή. 249 00:16:53,300 --> 00:16:57,170 Και αυτό είναι ένα παράδειγμα της Manifest. Μπορούμε να δούμε την πραγματική ένα σε λίγο. 250 00:16:57,170 --> 00:17:00,900 >> Εντάξει, θα πήγαινε προς τα εμπρός με το demo τώρα. 251 00:17:00,900 --> 00:17:08,900 Αυτό είναι το demo αν το Google Android κατασκευή του πρώτου app σας ή κάτι τέτοιο. 252 00:17:08,900 --> 00:17:12,089 Θα περάσουν από ό, τι συμβαίνει εκεί μέσα, 253 00:17:12,089 --> 00:17:17,690 και συγγνώμη, μόνο για αναφορά που ξέρει εδώ Java σε οποιοδήποτε βαθμό; 254 00:17:17,690 --> 00:17:28,310 Εντάξει, έτσι Java είναι νέα γλώσσα κωδικοποίησης για τους περισσότερους ανθρώπους που έρχονται από CS50. 255 00:17:28,310 --> 00:17:31,850 Εν συντομία, για να πάει ξανά αυτό που λέει εδώ, 256 00:17:31,850 --> 00:17:35,580 Τι θέλουμε να κάνουμε είναι αντί να προσαρμόσει αυτό το γεια αίτησης για την παγκόσμια 257 00:17:35,580 --> 00:17:38,620 ότι το μόνο που κάνει είναι να ξεκινά και λέει hello world 258 00:17:38,620 --> 00:17:43,580 και λέει γεια CS50 στην κορυφή, διότι αυτό είναι το όνομα της δραστηριότητας 259 00:17:43,580 --> 00:17:47,190 θα πάμε να προσπαθήσει να κάνει ένα πεδίο κειμένου και ένα κουμπί 260 00:17:47,190 --> 00:17:50,680 έτσι ώστε όταν πατάμε αυτό το κουμπί, θα λάβει το κείμενο 261 00:17:50,680 --> 00:17:53,660 από το πεδίο κειμένου και να ξεκινήσει μια νέα δραστηριότητα, και θα πω 262 00:17:53,660 --> 00:17:58,380 ό, τι αυτό το κείμενο, δήλωσε στη δραστηριότητα, και αυτό είναι σχετικά απλή. 263 00:17:58,380 --> 00:18:00,650 Δεν είναι πολύ ενδιαφέρουσα. Δεν θα θέλατε να απελευθερώσει κάθε app όπως αυτό. 264 00:18:00,650 --> 00:18:03,880 Αλλά δείχνει κάποια σημαντικά πράγματα σχεδιασμό. 265 00:18:03,880 --> 00:18:07,030 >> Θα πρέπει να αλληλεπιδρούν με το Manifest, με τα αρχεία διάταξης, 266 00:18:07,030 --> 00:18:12,440 με τον πηγαίο κώδικα, και μπορείτε να δείτε πώς να ξεκινήσει μια δραστηριότητα από την άλλη. 267 00:18:19,740 --> 00:18:23,060 Θα ξεκινήσουμε με τη διάταξη για την πρώτη μας δραστηριότητα, 268 00:18:23,060 --> 00:18:27,320 τα οποία ξέρω ότι είναι το είδος των μικρών, 269 00:18:27,320 --> 00:18:32,660 αλλά όπως μπορείτε να δείτε τώρα, όλα είναι είναι ότι έχει το λογότυπό μας που δημιουργήσαμε, 270 00:18:32,660 --> 00:18:36,310 το όνομα της δραστηριότητας, και λέει hello world στο κέντρο. 271 00:18:36,310 --> 00:18:40,400 Αντ 'αυτού, είμαι πρώτα πρόκειται να κάνει αυτό σε μια γραμμική διάταξη, 272 00:18:40,400 --> 00:18:42,350 μια σχετική διάταξη, και όλα αυτά είναι πράγματα 273 00:18:42,350 --> 00:18:45,870 θα μπορούσατε να αναζητήσετε και αξίζει να πηγαίνει πάνω σε κάποιο σημείο σε σχέση με τις διατάξεις. 274 00:18:45,870 --> 00:18:47,310 Είναι πολύ σαν HTML. 275 00:18:47,310 --> 00:18:52,640 Είπαμε ότι δεν είναι πραγματικά αξίζει να γνωρίζει την άποψη ενός προγραμματικού έννοια, 276 00:18:52,640 --> 00:18:55,840 αλλά υπάρχουν τόσες πολλές διαφορετικές διατάξεις που μπορείτε να ελέγξετε, 277 00:18:55,840 --> 00:18:57,970 και είναι ακριβώς όπως το CSS άποψη του στυλ. 278 00:18:57,970 --> 00:19:01,590 >> Υπάρχει μια παρτίδα σε εξέλιξη μόνο από την άποψη της αισθητικής εδώ, 279 00:19:01,590 --> 00:19:08,930 και ναι, αξίζει να μάθηση, αλλά είναι το είδος των πράγμα που πρέπει να αναζητήσετε 280 00:19:08,930 --> 00:19:11,810 as you go και να νιώθετε σαν να χρειάζεται κάτι νέο. 281 00:19:11,810 --> 00:19:17,030 Θα μπορούν να επωφεληθούν από μερικές από τις ADT εργαλεία εδώ τουλάχιστον για να ξεκινήσετε με. 282 00:19:17,030 --> 00:19:21,930 Θα κάνω ένα πεδίο κειμένου, και θα κάνω ένα κουμπί. 283 00:19:21,930 --> 00:19:24,100 Βάλτε τους το ένα δίπλα στο άλλο. 284 00:19:24,100 --> 00:19:28,200 Ήδη το μέγεθος κατάλληλα. 285 00:19:28,200 --> 00:19:31,320 Δυστυχώς, και πάλι, επιστρέφει με τη διαφορά μεταξύ γραμμική διάταξη και σχετική διάταξη, 286 00:19:31,320 --> 00:19:34,830 μια γραμμική διάταξη δίνει λίγο περισσότερη λειτουργικότητα 287 00:19:34,830 --> 00:19:38,720 όσον αφορά την κάλυψη χώρου και να διασφαλίσουμε 288 00:19:38,720 --> 00:19:42,790 εμείς τα πράγματα θέση οριζόντια ή κάθετα. 289 00:19:42,790 --> 00:19:46,130 Η μεγάλη διαφορά ανάμεσα σε μια γραμμική διάταξη και σχετική διάταξη 290 00:19:46,130 --> 00:19:50,250 είναι η σχετική διάταξη πάντα θέσεις σε σχέση με άλλες απόψεις, 291 00:19:50,250 --> 00:19:52,630 και το καλό πράγμα για αυτό είναι ότι παίρνει λιγότερο χρόνο για να συντάξει 292 00:19:52,630 --> 00:19:56,120 επειδή το λειτουργικό σύστημα φαίνεται καθόλου τον κώδικα και να λέει ότι αυτό πηγαίνει 293 00:19:56,120 --> 00:19:58,270 σε σχέση με αυτό εδώ, εδώ. 294 00:19:58,270 --> 00:20:03,170 Αυτό σημαίνει ότι κάνει λιγότερες μετρήσεις από ένα σωρό ένθετα γραμμικές διατάξεις, 295 00:20:03,170 --> 00:20:06,840 που θα πρέπει να κάνουμε αν ήθελα τα πράγματα να πάνε κάθετα εδώ. 296 00:20:06,840 --> 00:20:10,510 >> Έχω ήδη κάποια πράγματα που συμβαίνουν σε οριζόντια θέση, γι 'αυτό θα χρειαστεί μια διαφορετική γραμμική διάταξη 297 00:20:10,510 --> 00:20:14,560 να φωλιάζουν τα κάθετα, αλλά αν ήταν να κάνει μια σχετική διάταξη θα μπορούσα να πω 298 00:20:14,560 --> 00:20:18,140 κρατήσει αυτό προς τα αριστερά, αυτό το προς τα δεξιά και κάτω από αυτά τα πράγματα. 299 00:20:18,140 --> 00:20:21,850 Αλλά επειδή θέλω να συμπληρώσετε τώρα είμαι πρόκειται να χρησιμοποιήσετε μια γραμμική διάταξη, 300 00:20:21,850 --> 00:20:24,510 και μπορείτε να δείτε ότι κάνει ήδη πολλά από αυτά τα πράγματα για εμάς. 301 00:20:24,510 --> 00:20:28,890 Όλες οι απόψεις πρέπει να έχουν ένα ακίνητο του πλάτους και του ύψους, 302 00:20:28,890 --> 00:20:33,410 και αυτό συμβαίνει να έχουν ένα βάρος 1, και αυτό έχει ένα βάρος από 1 303 00:20:33,410 --> 00:20:36,050 έτσι ώστε να γεμίζει ολόκληρο το χώρο. 304 00:20:36,050 --> 00:20:38,460 Όμως, το πλάτος και το ύψος είναι πιο σημαντικό. 305 00:20:38,460 --> 00:20:45,880 Αυτό το πεδίο ID εδώ δεν είναι σημαντική στα πλαίσια της πραγματικής διάταξης 306 00:20:45,880 --> 00:20:49,060 εκτός αν είμαστε χρησιμοποιώντας μια σχετική διάταξη και λέει ότι μπορεί να αναφέρεται σε 307 00:20:49,060 --> 00:20:52,990 μία όψη σε θέση αναφοράς σε άλλη. 308 00:20:52,990 --> 00:20:56,170 Αν είχαμε μια σχετική διάταξη θα μπορούσαμε να πούμε αυτή τη θέση κάτω από αυτήν 309 00:20:56,170 --> 00:20:59,390 ή πάνω από αυτό το αναγνωριστικό, αλλά αυτό το αναγνωριστικό θα είναι σημαντικό 310 00:20:59,390 --> 00:21:01,660 όταν το χρησιμοποιείτε στον κώδικά μας, διότι μπορούμε αναφοράς 311 00:21:01,660 --> 00:21:05,610 αυτές οι μεμονωμένες απόψεις με τον τρόπο αυτό. 312 00:21:05,610 --> 00:21:10,350 >> Και τότε μπορείτε να δείτε το requestFocus tag, το οποίο είναι κάτι που μάλλον είδε το chipset 7. 313 00:21:10,350 --> 00:21:15,370 Υπήρχε μια ετικέτα αυτόματη εστίαση ή κάτι προς αυτή την κατεύθυνση για ένα από τα πεδία. 314 00:21:15,370 --> 00:21:22,100 Και ένα πράγμα, βέβαια, μπορούμε να κάνουμε ακριβώς όπως το HTML, 315 00:21:22,100 --> 00:21:25,660 και την ανακοίνωση ένα από τα ωραία πράγματα για ADT είναι ότι Συμπληρώνει αυτόματα εδώ. 316 00:21:25,660 --> 00:21:29,930 Ίσως δεν είναι τόσο ωραία, όπως έπραξε το Xcode, αλλά το κάνει παρ 'όλα αυτά, 317 00:21:29,930 --> 00:21:32,860 και θα μπορούσαμε να πούμε υπόδειξη και στη συνέχεια να δώσει κάποιο είδος της σειράς 318 00:21:32,860 --> 00:21:37,070 Γράψε ένα μήνυμα, 319 00:21:37,070 --> 00:21:41,300 και αν μου δώσει μια στιγμή, επίσης να παρατηρήσετε ότι έχω ένα μικρό λάθος εδώ 320 00:21:41,300 --> 00:21:44,610 λέγοντας ότι θα πρέπει να χρησιμοποιήσουμε έναν πόρο σειρά γι 'αυτό, 321 00:21:44,610 --> 00:21:48,820 Έτσι, αν άφησα να κάνετε κάποια από τη σκληρή δουλειά για μένα 322 00:21:48,820 --> 00:21:57,320 Μπορώ να επιλέξετε αυτή τη σειρά, κάνει διοπτρικό Android και το εκχύλισμα Android string. 323 00:21:57,320 --> 00:22:00,570 Μπορώ να του δώσω το όνομα, να γράψει ένα μήνυμα, 324 00:22:00,570 --> 00:22:04,180 και τι δεν είναι τώρα αυτό αντικατέστησε την hard-coded εγχόρδων 325 00:22:04,180 --> 00:22:07,980 με αναφορά του string. xml αρχείο της στοιχειοσειράς, 326 00:22:07,980 --> 00:22:10,200 πράγμα που σημαίνει τώρα αυτό είναι εδώ. 327 00:22:10,200 --> 00:22:15,560 >> Και ξέρω ότι φαίνεται λίγο τετριμμένη και σαν επιπλέον εργασία σε αυτό το σημείο, 328 00:22:15,560 --> 00:22:17,840 αλλά όταν έχεις ένα σωρό πράγματα, ένα σωρό χορδές, 329 00:22:17,840 --> 00:22:20,750 αυτό είναι πολύ σημαντικό, και ιδιαίτερα για τον εντοπισμό 330 00:22:20,750 --> 00:22:26,920 διότι, όπως ανέφερα προηγουμένως, το Android είναι μια πολύ παγκοσμίως χρησιμοποιείται λειτουργικό σύστημα 331 00:22:26,920 --> 00:22:35,950 που μπορείτε να κάνετε απλά τις τιμές-en ή αξίες-sp 332 00:22:35,950 --> 00:22:44,320 ή κάτι για τα αγγλικά ή ισπανικά ή άλλες γλώσσες. 333 00:22:44,320 --> 00:22:50,210 Και τότε μάλλον δεν είχαν αυτή την εμπειρία ακόμα 334 00:22:50,210 --> 00:22:53,030 από τη στιγμή που δεν κάνουμε πολλά JavaScript όσον αφορά τον προγραμματισμό web, 335 00:22:53,030 --> 00:22:56,850 αλλά μπορούμε επίσης να κάνουμε αυτό το πεδίο που ονομάζεται onClick για το κουμπί, 336 00:22:56,850 --> 00:23:02,350 και αυτός είναι ένας τρόπος αναφορά στο layout μας 337 00:23:02,350 --> 00:23:06,570 ότι θέλουμε μια συγκεκριμένη λειτουργία που θα ονομάζεται στον πηγαίο κώδικα μας. 338 00:23:06,570 --> 00:23:09,420 Πάω να καλέσετε αυτό το SendMessage, 339 00:23:09,420 --> 00:23:13,390 και προκειμένου να γίνει αυτό το έργο που μέσα στην κύρια δραστηριότητα εδώ 340 00:23:13,390 --> 00:23:19,180 Θα πρέπει να δημιουργηθεί μια λειτουργία που είναι δημόσιο 341 00:23:19,180 --> 00:23:22,250 έτσι ώστε να μπορεί να προσεγγιστεί από τη διάταξη. 342 00:23:22,250 --> 00:23:25,930 Είναι άκυρη, διότι απλά δεν θέλει να επιστρέψει τίποτα. 343 00:23:25,930 --> 00:23:37,760 Θα ονομάσουμε SendMessage, και παίρνει μια άποψη, 344 00:23:37,760 --> 00:23:43,690 το οποίο είναι ένα είδος του πλαισίου που μπορούμε να εδραιωθεί αυτή τη μέθοδο 345 00:23:43,690 --> 00:23:47,160 στην εν λόγω μεμονωμένη προβολή, όταν είμαστε το τρέξιμο. 346 00:23:47,160 --> 00:23:50,090 >> Και δεν ξέρω αν έχετε παρατηρήσει, επίσης, δεν θα έχετε παρατηρήσει, 347 00:23:50,090 --> 00:24:02,370 αλλά σε αυτό το σημείο ακριβώς εδώ 348 00:24:02,370 --> 00:24:06,930 Αυτή η άποψη είναι ένα είδος που δεν έχει ακόμη συμπεριληφθεί, 349 00:24:06,930 --> 00:24:10,630 και φυσικά, όλοι ξέρετε από CS50 για να μην συμπεριλαμβανομένων των τύπων. 350 00:24:10,630 --> 00:24:13,120 Το θετικό σχετικά με όπως Eclipse IDE είναι ότι 351 00:24:13,120 --> 00:24:17,520 αν ξεχάσετε να συμπεριλάβετε ένα είδος θα υπογραμμίσει με λίγο κόκκινο squiggly 352 00:24:17,520 --> 00:24:19,680 και στη συνέχεια να σας δώσει τη δυνατότητα να εισαγάγετε τη θέα. 353 00:24:19,680 --> 00:24:23,130 Ένας γρήγορος τρόπος για να γίνει αυτό είναι ο έλεγχος μετατόπισης O, και θα εισάγει 354 00:24:23,130 --> 00:24:27,070 όλα τα αρχεία που πρέπει να. 355 00:24:27,070 --> 00:24:33,670 Τώρα που έχουμε αυτή SendMessage τη λειτουργία, 356 00:24:33,670 --> 00:24:46,560 η οποία πρόκειται να στείλει μήνυμα από το MainActivity σε μια νέα δραστηριότητα, 357 00:24:46,560 --> 00:24:55,230 θα πάμε να πρέπει να χρησιμοποιήσετε μια πρόθεση να ξεκινήσει η νέα δραστηριότητα από αυτό, 358 00:24:55,230 --> 00:25:02,240 έτσι θα θελήσετε πιθανώς να δημιουργήσει μια παγκόσμια σταθερά ή επίσης ιδιαίτερα μια σταθερή δημόσια 359 00:25:02,240 --> 00:25:06,240 που θα μας βοηθήσει να ξέρουμε πώς θα πάμε για να αναφερθείτε στην συμβολοσειρά 360 00:25:06,240 --> 00:25:09,090 γιατί, όταν δημιουργούμε μια πρόθεση δεν είμαστε καλώντας απλά μια νέα δραστηριότητα, 361 00:25:09,090 --> 00:25:11,520 αλλά μπορούμε επίσης να δώσει μια δέσμη πληροφοριών. 362 00:25:11,520 --> 00:25:14,720 Μια δέσμη είναι στην πραγματικότητα ο όρος που χρησιμοποιεί το Android, 363 00:25:14,720 --> 00:25:21,470 και είναι ένας τρόπος να πούμε δώσει επιπλέον στοιχεία, τα οποία δεν μπορεί να είναι ένα πολύ εξελιγμένο τύπο δεδομένων, 364 00:25:21,470 --> 00:25:24,510 αλλά μπορούμε να συμπεριλάβουμε σίγουρα booleans ή χορδές ή ints. 365 00:25:24,510 --> 00:25:29,750 Αυτό το είδος του πράγματος. 366 00:25:29,750 --> 00:25:34,230 >> Μη διστάσετε να ρωτήσετε για οποιοδήποτε από αυτά τα προκριματικά εδώ, 367 00:25:34,230 --> 00:25:36,900 κοινό, τελικά, στατική. 368 00:25:36,900 --> 00:25:38,610 Δημόσια είναι το σημαντικό. 369 00:25:38,610 --> 00:25:47,090 Αυτό σημαίνει ότι μπορούμε να έχουμε πρόσβαση αυτήν τη μεταβλητή από άλλα αρχεία πηγαίου κώδικα 370 00:25:47,090 --> 00:25:49,590 όπως όταν δημιουργούμε μια νέα δραστηριότητα. 371 00:25:49,590 --> 00:25:52,190 Μπορούμε να αναφερθείτε στην συμβολοσειρά μέσα σε αυτό το αρχείο. 372 00:25:52,190 --> 00:25:57,160 Αν είναι ιδιωτική, αυτό σημαίνει ότι είναι περιορισμένη σε αυτό το μεμονωμένο αρχείο εδώ. 373 00:25:57,160 --> 00:26:02,430 Αλλά θα ονομάσουμε αυτό κάτι σαν επιπλέον μήνυμα. 374 00:26:16,260 --> 00:26:23,300 Τώρα έχουμε κάνει αυτή τη λειτουργία, και αν κάνουμε κλικ στο κουμπί, η λειτουργία αυτή θα ονομάζεται. 375 00:26:23,300 --> 00:26:27,970 Αλλά δεν έχουμε κάνει τίποτα, προφανώς, με τη λειτουργία. 376 00:26:27,970 --> 00:26:33,130 Αυτό που θέλουμε να κάνουμε τώρα είναι να δημιουργήσουμε μια νέα δραστηριότητα, 377 00:26:33,130 --> 00:26:35,350 η δραστηριότητα που πράγματι θα ξεκινήσει. 378 00:26:35,350 --> 00:26:44,330 Στο Eclipse μπορούμε να πούμε ότι το νέο, Android δραστηριότητα, κενό δραστηριότητα. 379 00:26:44,330 --> 00:26:46,530 Μπορούμε να δώσουμε ένα όνομα. 380 00:26:46,530 --> 00:26:57,050 Ας το ονομάσουμε δραστηριότητα μας αποτέλεσμα. 381 00:26:57,050 --> 00:27:04,430 Και τότε αυτό το ιεραρχικό πεδίο γονέας είναι ένας τρόπος προσδιορισμού 382 00:27:04,430 --> 00:27:08,180 πώς οι δραστηριότητες που σχετίζονται με το άλλο. 383 00:27:08,180 --> 00:27:11,020 Διότι αυτό θα ξεκινήσει από την άλλη δραστηριότητα 384 00:27:11,020 --> 00:27:27,520 θα πρέπει να διευκρινισθεί ότι έχει την κύρια δραστηριότητα της μητρικής. 385 00:27:27,520 --> 00:27:31,220 >> Και θα μπορούσα να έχω κάνει κλικ στο επόμενο πεδίο εκεί, η οποία θα μας πει 386 00:27:31,220 --> 00:27:33,830 μερικά προαιρετικά πεδία που ήταν επίσης συμπεριλαμβανομένων, 387 00:27:33,830 --> 00:27:38,800 αλλά το ωραίο πράγμα για ADT, και πάλι, είναι ότι αν μετακινηθείτε προς τα κάτω εδώ 388 00:27:38,800 --> 00:27:45,740 στο δηλωτικό θυμάστε ότι όλα αυτά ήταν πραγματικά περιλαμβάνεται από προεπιλογή 389 00:27:45,740 --> 00:27:48,930 όταν δημιουργήθηκε αρχικά το έργο, 390 00:27:48,930 --> 00:27:53,090 και τώρα επειδή χρησιμοποιήσαμε αυτό δημιουργεί μια νέα δραστηριότητα και όχι μόνο 391 00:27:53,090 --> 00:27:58,610 προσθέτοντας το δικό του αρχείο τάξη μας, γιατί περάσαμε GUI τους για να γίνει αυτό 392 00:27:58,610 --> 00:28:01,930 είναι ήδη προσθέσει όλα αυτά στο Manifest για εμάς, 393 00:28:01,930 --> 00:28:06,020 πράγμα που σημαίνει απλά ότι τώρα το λειτουργικό σύστημα δεν θα παραπονεθεί 394 00:28:06,020 --> 00:28:09,400 όταν προσπαθούμε να ξεκινήσει αυτή η δραστηριότητα. 395 00:28:09,400 --> 00:28:14,620 Και, βεβαίως, έδωσε μια ετικέτα, η οποία επίσης εμφανίζεται σε χορδές. 396 00:28:14,620 --> 00:28:17,340 Κάνει πολλά πράγματα στο πίσω άκρο για εμάς. 397 00:28:17,340 --> 00:28:20,140 Τέλος πάντων, τώρα που έχουμε αυτή τη δραστηριότητα αποτέλεσμα, καθώς, 398 00:28:20,140 --> 00:28:23,810 το πραγματικό αρχείο του πηγαίου κώδικα στο φάκελο προέλευσης, 399 00:28:23,810 --> 00:28:33,540 και μπορείτε να δείτε, να θίξω εν συντομία σε αυτό- 400 00:28:33,540 --> 00:28:37,790 επειδή μας είπε σχετικά με αυτό το ιεραρχική γονέα 401 00:28:37,790 --> 00:28:46,640 έδωσε αυτή android.r.ide.home τομέα σε αυτό το onOption επιλεγμένη πράγμα. 402 00:28:46,640 --> 00:28:49,020 >> Τι αυτό είναι σαν να λέει είναι ότι υπάρχει ένα κουμπί μενού τώρα 403 00:28:49,020 --> 00:28:53,110 ότι στην πάνω αριστερή γωνία της οθόνης 404 00:28:53,110 --> 00:29:02,220 Αν πάω πίσω στο PowerPoint όπου για πρώτη φορά μίλησε για το bar δράσης 405 00:29:02,220 --> 00:29:05,380 λόγω της ιεραρχικής μητρικής τώρα υπάρχει ένα μικρό βέλος πίσω εδώ 406 00:29:05,380 --> 00:29:10,610 και αυτό είναι clickable, έτσι θα πρέπει να είμαστε σε θέση να-αφού τρέξουμε στην πραγματικότητα αυτό το app- 407 00:29:10,610 --> 00:29:15,360 πάει πίσω, και αυτό είναι ένας τρόπος για να μας σώσουν ένα μικρό κομμάτι του κώδικα εκεί. 408 00:29:26,220 --> 00:29:40,180 Τώρα, σε αυτό-αλλά, φαίνεται να διαμαρτύρονται για αυτό για μια στιγμή. 409 00:29:40,180 --> 00:29:43,910 Ας σχολιάσω ότι έξω. 410 00:29:43,910 --> 00:29:48,260 Τώρα, προκειμένου να πραγματικά να αλληλεπιδρούν με αυτά τα 2 δραστηριότητες, 411 00:29:48,260 --> 00:29:55,020 πρέπει να δημιουργήσουμε μια πρόθεση η οποία περιλαμβάνει όλα αυτά τα δεδομένα. 412 00:29:55,020 --> 00:29:58,950 Στο SendMessage τώρα Πάω να κρουαζιέρα με μερικά κομμάτια του κώδικα 413 00:29:58,950 --> 00:30:00,700 και να εξηγήσει ότι πάω. 414 00:30:00,700 --> 00:30:06,280 Η πρόθεση, όπως είπα, είναι ένας τρόπος για να ξεκινήσει μια δραστηριότητα από την άλλη. 415 00:30:06,280 --> 00:30:10,000 Πρόθεση είναι ο τύπος. Είμαστε δημιουργώντας μια μεταβλητή myIntent. 416 00:30:10,000 --> 00:30:13,980 >> Και αυτό είναι πραγματικά ένα αντικείμενο, το οποίο είναι ο λόγος που έχουμε να καλέσει νέα. 417 00:30:13,980 --> 00:30:18,500 Είναι κοινή χρήση Java εκεί, η οποία μπορεί να πάρει λίγο να συνηθίσει. 418 00:30:18,500 --> 00:30:23,900 Αυτό σημαίνει ότι χρησιμοποιείτε τη δραστηριότητα ή την MainActivity τάξη, 419 00:30:23,900 --> 00:30:28,630 και την πρόθεση με αυτόν τον τρόπο παίρνει τη δραστηριότητα πρόκειται από 420 00:30:28,630 --> 00:30:36,060 και η δραστηριότητα πρόκειται να, την οποία ονομάζουμε ResultActivity, 421 00:30:36,060 --> 00:30:38,170 και αυτό είναι μια δική της κατηγορία. 422 00:30:38,170 --> 00:30:41,720 Συμπεριλάβετε αυτό. 423 00:30:41,720 --> 00:30:47,370 Και τότε, όπως ανέφερα και πριν, το δώσαμε ως αναγνωριστικό στο πεδίο Επεξεργασία κειμένου 424 00:30:47,370 --> 00:30:53,710 και η θέα κειμένου, έτσι ώστε να συλλάβει προγραμματισμού 425 00:30:53,710 --> 00:31:01,860 Το κείμενο που υπάρχει στην EditText 426 00:31:01,860 --> 00:31:06,710 χρησιμοποιούμε αυτή τη λειτουργία που ονομάζεται findViewByID, 427 00:31:06,710 --> 00:31:13,660 το οποίο είναι παρόμοιο με κάτι που θα χρησιμοποιήσετε όταν προσπαθείτε να πάρετε τα πεδία από το Μοντέλο DOM. 428 00:31:13,660 --> 00:31:17,560 Ίσως συνομιλίες David γι 'αυτό στη διάλεξη. 429 00:31:17,560 --> 00:31:26,600 Αλλά είναι μόνο ένας τρόπος για να πάρει αυτά-γι 'αυτό και εμείς ετικέτα αυτά τα πράγματα με αυτούς τους τομείς. 430 00:31:26,600 --> 00:31:31,110 Id.editText1. 431 00:31:31,110 --> 00:31:35,220 Είναι ήδη autocompleting για μένα. 432 00:31:35,220 --> 00:31:42,010 >> Και τότε θα περιλαμβάνουν επίσης-this EditText τώρα που έχουμε το πεδίο 433 00:31:42,010 --> 00:31:47,640 στο πλαίσιο του προγράμματός μας, το μόνο που έκανε ήταν findViewByID βασικά 434 00:31:47,640 --> 00:31:50,870 θα μπορούσατε να σκεφτείτε το σαν να μας δώσει μια αναφορά στο EditText. 435 00:31:50,870 --> 00:31:54,570 Τώρα θέλουμε να πάρει το string ή το μήνυμα 436 00:31:54,570 --> 00:32:00,670 εντός της EditText που μπορούμε να κάνουμε με τη χρήση του- 437 00:32:00,670 --> 00:32:03,360 θα μπορούσατε να σκεφτείτε EditText ως struct- 438 00:32:03,360 --> 00:32:07,600 λέμε ένα αντικείμενο σε Java-με ένα σωρό διαφορετικές μεθόδους 439 00:32:07,600 --> 00:32:10,650 ή σε άλλους τομείς και τα χαρακτηριστικά που συνδέονται με αυτό. 440 00:32:10,650 --> 00:32:15,510 Όταν λέω EditText. μου δίνει την ευκαιρία να έχουν πρόσβαση 441 00:32:15,510 --> 00:32:19,770 Μία μέθοδος όπως Gettext, η οποία θα πάρει το σημερινό κείμενο 442 00:32:19,770 --> 00:32:23,990 σε αυτό το EditText και στη συνέχεια να μετατρέψετε ότι ρητά 443 00:32:23,990 --> 00:32:26,520 σε μια σειρά, και έχουμε αποθηκεύσει το μήνυμα. 444 00:32:26,520 --> 00:32:32,730 Τώρα θέλουμε πραγματικά να κάνουμε κάτι με αυτό το σκοπό δημιουργήσαμε μόλις στιγμές πριν. 445 00:32:32,730 --> 00:32:40,250 Θα βάλω επιπλέον όπως λέγεται στην πρόθεση, 446 00:32:40,250 --> 00:32:43,330 η οποία, και πάλι, όπως είπα και πριν, αυτό είναι ένας τρόπος για τη δημιουργία της δέσμης 447 00:32:43,330 --> 00:32:45,980 με ένα σωρό δεδομένων. 448 00:32:45,980 --> 00:32:50,920 Extra μήνυμα είναι ετικέτα μας να ξέρουμε τι σώζουμε αυτό το πλαίσιο, 449 00:32:50,920 --> 00:32:56,700 και τότε είμαι όπως το μήνυμα. 450 00:32:56,700 --> 00:33:04,870 >> Και then we can start actually την activity by giving it τη myIntent parameter. 451 00:33:04,870 --> 00:33:10,630 Και αυτό θα ξεκινήσει πραγματικά η δραστηριότητα, οπότε τώρα από την αναβάθμιση σε Windows 8 452 00:33:10,630 --> 00:33:15,870 ίσως υπάρξει κάποια σφάλματα που εμφανίζονται συντομία αλλά να τους αγνοούν. 453 00:33:28,010 --> 00:33:30,310 Και αυτό είναι το Android emulator. 454 00:33:30,310 --> 00:33:33,540 Ας ελπίσουμε ότι ο κώδικας θα είναι πράγματι pop up σε μια στιγμή. 455 00:33:33,540 --> 00:33:36,680 Και πάλι, αγνοώντας όλα εκείνα τα μικρά πράγματα. 456 00:33:36,680 --> 00:33:42,290 Αλλά το Android emulator μπορείτε να μιμηθεί οποιαδήποτε έκδοση του λειτουργικού συστήματος 457 00:33:42,290 --> 00:33:45,180 από τα πρώτα αυτά, Donut, Gingerbread. 458 00:33:45,180 --> 00:33:49,640 Αυτό είναι Jelly φασολιών 4.1. 459 00:33:49,640 --> 00:33:53,150 Αλλά, όπως μπορείτε να δείτε αυτή τη στιγμή, αυτό είναι κάτι που κάναμε. 460 00:33:53,150 --> 00:33:55,780 Αυτό έχει το MainActivity, η EditText, το κουμπί. 461 00:33:55,780 --> 00:34:01,550 Μπορώ να πληκτρολογήσετε κάτι εδώ, αλλά αυτό που μας λείπει σε αυτό το σημείο; 462 00:34:01,550 --> 00:34:05,190 Κάναμε το πεδίο στο MainActivity που πρόκειται να στείλετε το μήνυμα 463 00:34:05,190 --> 00:34:08,570 την άλλη δραστηριότητα, αλλά σε αυτό το σημείο 464 00:34:08,570 --> 00:34:12,330 δεν έχουμε κάνει τίποτα η άλλη δραστηριότητα, γι 'αυτό δεν πρόκειται να λάβουν τίποτα. 465 00:34:12,330 --> 00:34:18,800 Ας τελειώσουμε αυτό το μέρος πριν προχωρήσουμε. 466 00:34:18,800 --> 00:34:25,760 >> Αυτή η δραστηριότητα αποτέλεσμα, αυτό που θα πρέπει να κάνουμε είναι ότι θα πρέπει να κάνουμε είναι ότι θα πρέπει να- 467 00:34:25,760 --> 00:34:30,070 μπορούμε επίσης να ανατρέξετε την πρόθεση μέσα σε αυτή τη δραστηριότητα, 468 00:34:30,070 --> 00:34:33,580 έτσι πρέπει να συλλάβει την πρόθεση, η οποία είναι πραγματικά απλή. 469 00:34:33,580 --> 00:34:40,780 Είναι μια λειτουργία που περιλαμβάνονται στην κατηγορία δραστηριότητας, 470 00:34:40,780 --> 00:34:47,610 ώστε να μπορούμε να πούμε "Πάρτε το μήνυμα από την πρόθεση." 471 00:34:47,610 --> 00:34:56,260 "MyIntent προθέσεων = getIntent." 472 00:34:56,260 --> 00:35:00,030 Και αυτό θα μας δώσει-τώρα myIntent είναι ένα αντικείμενο, 473 00:35:00,030 --> 00:35:05,380 η οποία είναι μια αναφορά στην πρόθεση που μας οδήγησαν σε αυτή τη δραστηριότητα. 474 00:35:05,380 --> 00:35:10,130 MainActivity κλήσεις και δίνει επιπλέον πληροφορίες για να οδηγήσει δραστηριότητας. 475 00:35:10,130 --> 00:35:14,070 Δραστηριότητας αποτέλεσμα φαίνεται τώρα την πρόθεση που το οδήγησαν εδώ, 476 00:35:14,070 --> 00:35:23,540 και μπορούμε να έχουμε πρόσβαση το μήνυμα που δημιουργήσαμε στην άλλη, 477 00:35:23,540 --> 00:35:26,370 getStringExtra, και αυτό θα autocomplete για μένα. 478 00:35:26,370 --> 00:35:31,190 Και τότε να θυμάστε, τον τρόπο με τον οποίο ετικέτα εκείνο το κομμάτι των δεδομένων 479 00:35:31,190 --> 00:35:38,400 Ήταν δίνοντας με αυτό τον τομέα εδώ, αυτή τη δημόσια string, 480 00:35:38,400 --> 00:35:42,080 η οποία είναι η ετικέτα για το string που πραγματικά συμπεριλαμβάνεται. 481 00:35:42,080 --> 00:35:48,450 >> Αν λέω MainActivity.Extra_Message 482 00:35:48,450 --> 00:35:52,200 είναι εκεί, και αυτό είναι περίπου όπως το όνομα της παραμέτρου 483 00:35:52,200 --> 00:35:55,330 όταν περάσαμε τον κωδικό από τον υπεύθυνο για το πρότυπο, 484 00:35:55,330 --> 00:35:57,680 όταν έλεγα ότι κάτι τίτλο βέλος. 485 00:35:57,680 --> 00:36:01,140 Είναι το ίδιο είδος της ιδέας εκεί. 486 00:36:01,140 --> 00:36:07,130 Τώρα, να θυμάστε αυτό. 487 00:36:07,130 --> 00:36:12,230 Έχουμε, επίσης, είχε αυτό το auto δημιουργήθηκαν ή δημιουργούνται κωδικό auto 488 00:36:12,230 --> 00:36:16,410 για δραστικότητα αποτέλεσμα, το οποίο περιλαμβάνει την προβολή κειμένου στη μέση 489 00:36:16,410 --> 00:36:19,690 που λέει hello world. 490 00:36:19,690 --> 00:36:27,510 Θα μπορούσε ενδεχομένως να κάνει ότι τα μεγαλύτερα. 491 00:36:27,510 --> 00:36:33,980 Ας το κάνουμε αυτό πρώτα. 492 00:36:33,980 --> 00:36:39,550 Θα μπορούσε να είναι 40 πυκνοανεξάρτητη pixels. 493 00:36:39,550 --> 00:36:42,670 Ας δούμε, που είναι εξαιρετικά μεγάλη. Αυτό θα είναι εντάξει. 494 00:36:42,670 --> 00:36:48,180 Και στη συνέχεια, για την αναφορά αυτή ατομική προβολή κειμένου στον κωδικό μας 495 00:36:48,180 --> 00:36:53,890 θα πρέπει να δώσει ένα αναγνωριστικό, 496 00:36:53,890 --> 00:36:58,350 και για να το κάνουμε αυτό λέμε @ + id, το οποίο σημαίνει ότι εκχωρήσετε ID. 497 00:36:58,350 --> 00:37:02,480 Αν έχουμε μόλις είπε @ id θα αναλάβει είμαστε αναφορά ένα αναγνωριστικό που ήδη υπάρχει, 498 00:37:02,480 --> 00:37:07,760 και ας το ονομάσουμε αυτό resultTextView μας. 499 00:37:07,760 --> 00:37:10,570 Και παρατηρήσετε ότι στην XML δεν υπάρχει καμία ανάγκη για ερωτηματικά ή οτιδήποτε. 500 00:37:10,570 --> 00:37:12,380 Τα πάντα είναι σε αυτές τις ετικέτες. 501 00:37:12,380 --> 00:37:15,530 Είναι πολύ παρόμοια με HTML σε πολλές από τις αισθήσεις. 502 00:37:15,530 --> 00:37:22,760 >> Χρειάζεται λίγο να συνηθίσει, αλλά τελικά θα αισθάνονται αρκετά άνετα με αυτό. 503 00:37:22,760 --> 00:37:31,320 Ας επικαιροποίηση του κειμένου για την προβολή κειμένου μας αποτέλεσμα, 504 00:37:31,320 --> 00:37:35,650 και όπως κάναμε όταν ήμασταν πάρει αυτό το πεδίο Επεξεργασία κειμένου σε άλλη δραστηριότητα μας 505 00:37:35,650 --> 00:37:46,630 σε MainActivity εδώ θα είμαστε, επίσης, ομοίως- 506 00:37:46,630 --> 00:37:54,890 θα βρούμε τη θέα από το ID. 507 00:37:54,890 --> 00:37:59,640 Και R, σε περίπτωση που δεν το αναφέρω αυτό πριν, είναι η αναφορά στους πόρους φάκελο μας, 508 00:37:59,640 --> 00:38:05,350 και στη συνέχεια ID είναι μια αναφορά σε ό, τι στο φάκελο των πόρων, όλα τα αναγνωριστικά, 509 00:38:05,350 --> 00:38:10,060 και resultTextView. 510 00:38:10,060 --> 00:38:13,010 Και ακριβώς όπως και πριν, resultTextView είναι ένα αντικείμενο, 511 00:38:13,010 --> 00:38:15,780 το οποίο σημαίνει ότι έχει όλες αυτές τις ιδιότητες που σχετίζονται με αυτό. 512 00:38:15,780 --> 00:38:20,610 Όταν χρησιμοποιούμε Gettext για την Επεξεργασία κειμένου για αυτό το πεδίο κειμένου ή την προβολή κειμένου 513 00:38:20,610 --> 00:38:23,980 μπορούμε να χρησιμοποιήσουμε στην πραγματικότητα setText, 514 00:38:23,980 --> 00:38:26,960 και στη συνέχεια βρήκαμε ήδη το μήνυμα από την πρόθεση, 515 00:38:26,960 --> 00:38:35,760 έτσι μπορώ να πω το μήνυμα, και αυτό θα δημιουργήσει στην πραγματικότητα το μήνυμα. 516 00:38:35,760 --> 00:38:41,820 >> Θα πάρει λίγο χρόνο για να ξεκινήσει, και στη συνέχεια μπορούμε να δούμε εάν ή όχι συντρίβει, 517 00:38:41,820 --> 00:38:48,670 αλλά τυχόν ερωτήσεις σχετικά με αυτή τη διαδικασία εκεί, αυτό το είδος της αλληλεπίδρασης; 518 00:38:48,670 --> 00:38:51,490 Με πολλούς τρόπους είναι απλή. 519 00:38:51,490 --> 00:38:53,960 Ο λόγος που περνάω κάτι σχετικά απλό 520 00:38:53,960 --> 00:38:57,330 είναι, και πάλι, γιατί θα έχετε να δείτε την αλληλεπίδραση μεταξύ της διάταξης, 521 00:38:57,330 --> 00:38:59,520 ο πηγαίος κώδικας, πώς τα πράγματα αναφοράς 522 00:38:59,520 --> 00:39:07,680 και να πάρει ίσως και μια μικρή έκθεση για το πώς Java εργάζεται εκεί. 523 00:39:07,680 --> 00:39:16,500 Αν τύπου Ι πραγματικά κάτι εδώ, όπως ohai, και στη συνέχεια κάντε κλικ στο κουμπί, 524 00:39:16,500 --> 00:39:22,260 ξεκινά μια νέα δραστηριότητα, και ότι η άποψη κείμενο αναφέρει ohai. 525 00:39:22,260 --> 00:39:27,640 Αυτό είναι πολύ απλό, αλλά ελπίζουμε ότι μετά από αυτό το παράδειγμα 526 00:39:27,640 --> 00:39:32,310 καταλαβαίνεις περίπου πώς λειτουργεί αυτή η αλληλεπίδραση, και τώρα που το χάος των αρχείων 527 00:39:32,310 --> 00:39:36,870 στην αριστερή πλευρά για όλους αυτούς τους φακέλους του έργου, ελπίζουμε ότι ξέρετε πού να κοιτάξετε τώρα. 528 00:39:36,870 --> 00:39:38,700 Αυτή είναι η πηγή της περιοχής σας κωδικό. 529 00:39:38,700 --> 00:39:41,760 >> Διάταξη είναι πραγματικά το μόνο πράγμα που θα ασχοληθεί με το μέχρι να περιλαμβάνει εικόνες 530 00:39:41,760 --> 00:39:46,370 και οι drawables ή οτιδήποτε άλλο, και τις αξίες, που θα περιλαμβάνει έγχορδα, 531 00:39:46,370 --> 00:39:51,960 όπως είπαμε, και στη συνέχεια στυλ είναι κάτι που είναι περίπου όπως CSS. 532 00:39:51,960 --> 00:39:56,410 Διεύθυνση όταν θέλετε, αλλά μέχρι να νιώσετε άνετα με την προσθήκη επιπλέον αίσθηση 533 00:39:56,410 --> 00:40:02,520 στην αίτησή σας δεν υπάρχει λόγος να ανησυχείτε γι 'αυτό πάρα πολύ. 534 00:40:02,520 --> 00:40:07,410 Ακριβώς για να ολοκληρωθεί ένα άλλο πράγμα που σίγουρα θα θέλετε να συμπεριλάβετε- 535 00:40:07,410 --> 00:40:13,010 υποθέτοντας ότι θέλετε να ενσωματώσουν δροσερά χαρακτηριστικά γνωρίσματα και να σώσει τον εαυτό σας κάποια επιπλέον κωδικοποίηση- 536 00:40:13,010 --> 00:40:16,460 θα ήταν να συμπεριληφθεί 3ο βιβλιοθήκες κόμμα. 537 00:40:16,460 --> 00:40:19,840 Εδώ είναι ο μικρός τύπος Android με το Sherlock Holmes καπέλο. 538 00:40:19,840 --> 00:40:23,040 Πρόκειται για μια δράση bar Sherlock βιβλιοθήκη, 539 00:40:23,040 --> 00:40:25,390 το οποίο ουσιαστικά σημαίνει ότι bar δράσης είδατε νωρίτερα, 540 00:40:25,390 --> 00:40:29,590 η οποία είναι πλέον σε Παγωτό σάντουιτς και Jelly Bean, 541 00:40:29,590 --> 00:40:33,100 αν θέλετε να φέρετε αυτό το είδος της εμπειρίας του χρήστη για τους χρήστες σε παλαιότερες εκδόσεις 542 00:40:33,100 --> 00:40:39,290 και τον εαυτό σας σώσει από την ανησυχία για το πώς ο χρήστης πρόκειται να περιηγηθείτε 543 00:40:39,290 --> 00:40:42,490 σε παλαιότερες εκδόσεις, όταν αυτό το πράγμα δεν είναι εκεί μπορείτε να συμπεριλάβετε αυτή τη βιβλιοθήκη 544 00:40:42,490 --> 00:40:46,770 και στη συνέχεια, απλά πρέπει να αναφορά-και όχι η προεπιλογή Android 545 00:40:46,770 --> 00:40:50,250 βιβλιοθήκες για τη γραμμή δράσης, θα αναφέρουμε αυτή τη βιβλιοθήκη υποστήριξης. 546 00:40:50,250 --> 00:40:53,090 >> Τα πράγματα όπως Scoreloop, είναι μεγάλη, αν είστε πρόκειται να συμπεριλάβει ένα παιχνίδι. 547 00:40:53,090 --> 00:40:57,280 Αυτό σας επιτρέπει να προσθέσετε πίνακες ηγέτης και τα επιτεύγματα σε παιχνίδια. 548 00:40:57,280 --> 00:41:00,900 AdMob είναι ένας τρόπος βάζοντας διαφημίσεις στις εφαρμογές σας 549 00:41:00,900 --> 00:41:02,900 σε περίπτωση που θέλετε να κάνετε ένα μικρό κομμάτι των χρημάτων μακριά από αυτό. 550 00:41:02,900 --> 00:41:05,730 Φυσικά, υπάρχει το Facebook και το Twitter για την ενσωμάτωση εκεί 551 00:41:05,730 --> 00:41:08,170 Αν θέλετε να μοιραστείτε τα πράγματα εύκολα, κ.λπ.. 552 00:41:08,170 --> 00:41:15,120 Dropbox, επίσης, και το Google Analytics είναι ότι το διάγραμμα που αναζητούν εκεί. 553 00:41:15,120 --> 00:41:19,070 Αυτό θα είναι πολύ σημαντικό, αν θέλετε πραγματικά να δείτε ποιος αλληλεπιδρά 554 00:41:19,070 --> 00:41:25,800 με το app σας ή ποιος είναι, πώς αλληλεπιδρούν μεταξύ τους, κ.λπ.. 555 00:41:25,800 --> 00:41:30,650 Google, από προεπιλογή, σας λέει πολλά στατιστικά στοιχεία σχετικά με το ποιος έχει εγκαταστήσει app σας 556 00:41:30,650 --> 00:41:35,020 και ποια τηλέφωνα έχουν, τι εκδόσεις του λειτουργικού συστήματος που έχουν. 557 00:41:35,020 --> 00:41:38,080 Αλλά αν θέλετε να δείτε ποιος το χρησιμοποιεί σε καθημερινή βάση και πώς να το χρησιμοποιήσετε 558 00:41:38,080 --> 00:41:42,860 τότε θα θέλετε να συμπεριλάβετε κάποιο είδος του συστήματος εντοπισμού όπως αυτό. 559 00:41:42,860 --> 00:41:44,990 >> Όταν είστε έτοιμοι για τη διανομή app σας 560 00:41:44,990 --> 00:41:46,930 Δεν χρειάζεται να υπεισέλθω σε αυτό το πάρα πολύ βάθος. 561 00:41:46,930 --> 00:41:49,090 Κάντε κλικ στο σύνδεσμο εδώ, Google Play. 562 00:41:49,090 --> 00:41:51,080 Θα χρησιμοποιηθεί για να είναι η αγορά Android. 563 00:41:51,080 --> 00:41:53,470 Θα ξανασημαδεμένος πάντα με το Google Play, 564 00:41:53,470 --> 00:41:55,230 έτσι και τώρα θα υποβάλει σε αυτό. 565 00:41:55,230 --> 00:41:57,140 Είναι πολύ απλό. 566 00:41:57,140 --> 00:42:01,070 Θα πρέπει να περιλαμβάνει μια περιγραφή, μερικά στιγμιότυπα. 567 00:42:01,070 --> 00:42:05,660 Όπως είπα, δεν υπάρχει διαδικασία έγκρισης όπως το iOS. 568 00:42:05,660 --> 00:42:07,270 Και πού να πάμε από εδώ; 569 00:42:07,270 --> 00:42:09,450 Μου έδειξε μια πραγματικά απλό παράδειγμα. 570 00:42:09,450 --> 00:42:13,270 Ας ελπίσουμε ότι αν φαίνεται τρομερά απλό 571 00:42:13,270 --> 00:42:15,740 τότε αυτό είναι πιθανώς ένα καλό σημάδι. 572 00:42:15,740 --> 00:42:20,080 Αν σε όλα αισθάνθηκε λίγο συγκεχυμένες ή αβέβαιοι για το τι ακριβώς ήμουν πληκτρολογώντας 573 00:42:20,080 --> 00:42:26,160 αυτό είναι επίσης ωραία, αλλά από εδώ και πηγαίνετε στο Google Οδηγοί. 574 00:42:26,160 --> 00:42:28,330 Αυτό είναι ένα εξαιρετικό μέρος για να ξεκινήσετε. 575 00:42:28,330 --> 00:42:31,460 Θα σας μιλήσω μέσα από αυτό που περιμένουμε από την άποψη του σχεδιασμού εφαρμογής, 576 00:42:31,460 --> 00:42:33,380 πώς οι χρήστες συνήθως αλληλεπιδρούν με αυτό. 577 00:42:33,380 --> 00:42:36,450 Είναι πολύ πιο ελεύθερη μορφή από το iOS, θα έλεγα, 578 00:42:36,450 --> 00:42:41,330 που φαίνεται σαν θέα πίνακα-Δεν ξέρω, αυτό είναι το ψωμί και το βούτυρο τους. 579 00:42:41,330 --> 00:42:44,690 Τα πάντα είναι μια προβολή πίνακα συρόμενη πάνω και κάτω. 580 00:42:44,690 --> 00:42:48,160 Με το Android σίγουρα ενθαρρύνουν τους ανθρώπους να το δει κανείς από 581 00:42:48,160 --> 00:42:51,720 ένα σωρό διαφορετικές οπτικές γωνίες. 582 00:42:51,720 --> 00:42:56,000 >> Όταν έχετε συμπεριλάβει το κιτ ανάπτυξης λογισμικού σε αυτό το ADT 583 00:42:56,000 --> 00:43:03,010 από προεπιλογή, έχετε ένα σωρό έργα του δείγματος στο Android. 584 00:43:03,010 --> 00:43:05,470 Ακριβώς εδώ, το Android, το Android Δείγμα έργου. 585 00:43:05,470 --> 00:43:11,870 Αν κάνω κλικ σε αυτό, τότε μπορώ να επιλέξω μια έκδοση για την οποία του δείγματος έργων ισχύουν. 586 00:43:11,870 --> 00:43:13,300 Υπάρχει ένα σωρό διαφορετικά πράγματα εδώ. 587 00:43:13,300 --> 00:43:16,690 Θα ξεκινά με τη συμβατότητα γραμμή δράσης, 588 00:43:16,690 --> 00:43:24,610 play επιταχυνσιόμετρο, δημιουργία αντιγράφων ασφαλείας και επαναφορά, Bluetooth, οικοδόμος χειρονομία. 589 00:43:24,610 --> 00:43:28,930 JetBoy είναι ένα παιχνιδιών δειγμάτων που σας δίνουν, όπως είναι LunarLander. 590 00:43:28,930 --> 00:43:31,250 Υπάρχουν ένα σωρό δείγματα εφαρμογών εδώ, 591 00:43:31,250 --> 00:43:35,290 και είναι όλα απευθύνονται σε διαφορετικές πτυχές του API του Android, 592 00:43:35,290 --> 00:43:41,520 και η ιδέα είναι ότι, όπως κάνετε την αίτησή σας 593 00:43:41,520 --> 00:43:44,110 δεν χρειάζεται να μάθετε τα πάντα για το Android να κάνει μια εφαρμογή για το Android. 594 00:43:44,110 --> 00:43:47,300 Το μόνο που έχετε να μάθετε για τα μέρη που είστε πραγματικά πρόκειται να χρησιμοποιήσετε. 595 00:43:47,300 --> 00:43:49,340 Κοιτάξτε αυτές τις βιβλιοθήκες του δείγματος. 596 00:43:49,340 --> 00:43:51,510 Μη διστάσετε να αντιγράψετε και να επικολλήσετε τον κώδικα και εφαρμόστε ξανά. 597 00:43:51,510 --> 00:43:53,850 Είναι ένα μεγάλο πράγμα για να εξετάσει πιο δύσκολη κώδικα 598 00:43:53,850 --> 00:43:57,060 και να προσπαθήσουμε να το κατανοήσουμε, το οποίο είναι, φυσικά, γιατί το CS50 599 00:43:57,060 --> 00:44:01,510 συχνά να σας δώσει μεγάλες ποσότητες του πηγαίου κώδικα. 600 00:44:01,510 --> 00:44:04,620 Κοιτάξτε μερικές από αυτές, αν θα πάμε να χρησιμοποιούν παρόμοιες βιβλιοθήκες 601 00:44:04,620 --> 00:44:08,630 και να εφαρμοστεί στη συνέχεια στο δικό σας κώδικα. 602 00:44:08,630 --> 00:44:10,430 Και φυσικά, υπάρχουν και tutorials. 603 00:44:10,430 --> 00:44:12,690 Αναζήτηση για tutorials. 604 00:44:12,690 --> 00:44:17,020 Βρήκα πολλές καλές σε απευθείας σύνδεση που μπορεί να σας φέρει μέχρι την ταχύτητα 605 00:44:17,020 --> 00:44:20,080 με ό, τι θραύσματα πραγματικά είναι και πώς μπορείτε να τα χρησιμοποιήσετε. 606 00:44:20,080 --> 00:44:22,240 >> Μερικά από αυτά τα νέα πράγματα σχεδιασμό, όπως θραύσματα, 607 00:44:22,240 --> 00:44:26,840 που πραγματικά δεν χρειάζεται να ανησυχούν για το αν θέλετε να κάνετε ένα 608 00:44:26,840 --> 00:44:30,560 αρκετά μεγάλο στο έργο εμβέλεια. 609 00:44:30,560 --> 00:44:32,510 Είναι πράγματα που η Google προσπαθεί να καταργήσει μέσα 610 00:44:32,510 --> 00:44:35,570 Stackoverflow είναι φυσικά ο φίλος σας. 611 00:44:35,570 --> 00:44:37,930 Ας ελπίσουμε ότι πούλησε ένα κομμάτι για το Android, 612 00:44:37,930 --> 00:44:41,640 συνειδητοποιούν ότι είναι πολύ πιο εύκολο να προσεγγίζουν από την άποψη του μόνο την κωδικοποίηση γλώσσας. 613 00:44:41,640 --> 00:44:45,970 Η Java είναι θα έλεγα πολύ πιο εύκολο να καταλάβουμε από το Objective-C. 614 00:44:45,970 --> 00:44:50,780 Android αυξάνεται πιστεύω πολύ περισσότερο από ό, τι iOS. 615 00:44:50,780 --> 00:44:54,890 Θέλω να πω, τα δεδομένα είναι εκεί, εκτός από ό, τι νομίζω. 616 00:44:54,890 --> 00:44:56,920 Είναι πρόκειται να είναι γύρω για μια στιγμή, 617 00:44:56,920 --> 00:45:00,880 και είναι σε λίγα χρόνια πίσω όσον αφορά τους κύκλους σχεδιασμού τους, 618 00:45:00,880 --> 00:45:04,690 έτσι είναι είδος κατανοητό ότι δουλεύουμε ακόμα μερικά από αυτά 619 00:45:04,690 --> 00:45:09,080 ερωτήσεις συνέπειας, όπως αυτό το μπαρ δράσης είναι ένα νέο πράγμα για αυτούς ακόμα, 620 00:45:09,080 --> 00:45:16,010 είδος της δημιουργίας παρόμοιων εμπειρία του χρήστη σε όλες τις εφαρμογές τους. 621 00:45:16,010 --> 00:45:20,650 Ας ελπίσουμε ότι μπορείτε να πάτε μπροστά τώρα και να ανοίξει Eclipse 622 00:45:20,650 --> 00:45:22,870 και κάνουν τις δικές σας εφαρμογές Android. 623 00:45:22,870 --> 00:45:30,240 >> Υπάρχει κάποιος που έχει οποιεσδήποτε ερωτήσεις πρίν έχουμε ολοκληρώσει για τίποτα; 624 00:45:30,240 --> 00:45:34,410 Μπορώ να σας πω την απάντηση είναι 42. 625 00:45:34,410 --> 00:45:41,990 Λοιπόν, ευτυχισμένος κωδικοποίησης σε όλους, και καλή τύχη. 626 00:45:41,990 --> 00:45:44,990 [CS50.TV]