1 00:00:00,000 --> 00:00:09,620 2 00:00:09,620 --> 00:00:11,550 >> FRED Widjaja: Va bene. 3 00:00:11,550 --> 00:00:12,600 Ciao a tutti. 4 00:00:12,600 --> 00:00:19,450 Grazie per il benvenuto me entrare in questo seminario. 5 00:00:19,450 --> 00:00:23,130 Così oggi abbiamo intenzione di parlare di come sviluppare applicazioni per Android, 6 00:00:23,130 --> 00:00:26,870 e in particolare, stiamo andando a utilizzeranno Android Studio per 7 00:00:26,870 --> 00:00:29,490 di sviluppare le nostre applicazioni. 8 00:00:29,490 --> 00:00:32,150 >> Così come si può sapere tutto. 9 00:00:32,150 --> 00:00:36,750 Android utilizza Java, e così saremo passando attraverso una breve introduzione 10 00:00:36,750 --> 00:00:39,860 su Java stesso. 11 00:00:39,860 --> 00:00:45,830 Quindi so che molti di voi hanno solo Programmazione esperienza in C. So 12 00:00:45,830 --> 00:00:48,760 questo è del tutto bene, e questo è perché Java è molto, molto 13 00:00:48,760 --> 00:00:53,750 simile a C, con piccole differenze. 14 00:00:53,750 --> 00:01:00,040 >> Così i tipi di Java sono fissato il numero di byte. 15 00:01:00,040 --> 00:01:04,290 Quindi, in C, abbiamo pantaloncini e lunghi, e che 16 00:01:04,290 --> 00:01:07,880 differiscono in numero di bit da macchina a macchina. 17 00:01:07,880 --> 00:01:10,990 In Java, è già impostato come standard. 18 00:01:10,990 --> 00:01:16,320 Così byte hanno otto bit, pantaloncini avere 16 bit, e così via e così via. 19 00:01:16,320 --> 00:01:22,780 Abbiamo anche chars, booleani, e galleggianti e raddoppia anche. 20 00:01:22,780 --> 00:01:27,150 Quindi il modo di programmare in Java, è molto simile. 21 00:01:27,150 --> 00:01:30,150 Così, per esempio, abbiamo cicli for e while, 22 00:01:30,150 --> 00:01:39,090 e se e else sono esattamente come si farebbe in C. 23 00:01:39,090 --> 00:01:45,390 >> Va bene, quindi la cosa speciale Java è che è orientato agli oggetti. 24 00:01:45,390 --> 00:01:46,560 Ora, che cosa sono gli oggetti? 25 00:01:46,560 --> 00:01:49,220 Quindi, se si guarda al cose intorno a voi, sarete 26 00:01:49,220 --> 00:01:54,540 notare che ogni oggetto del mondo reale ha due caratteristiche comuni. 27 00:01:54,540 --> 00:01:59,100 E che è che hanno lo stato e hanno qualche tipo di comportamento. 28 00:01:59,100 --> 00:02:02,510 >> Così, per esempio, cani avrebbe Stati che 29 00:02:02,510 --> 00:02:07,360 sono nome, colore, razza, forse se il cane ha fame o no. 30 00:02:07,360 --> 00:02:12,490 E alcuni comportamenti che i cani avrebbero sarebbe abbaiare, o dimenando la coda, 31 00:02:12,490 --> 00:02:14,340 o il recupero di una palla. 32 00:02:14,340 --> 00:02:18,120 Così possiamo anche applicare questa agli oggetti inanimati. 33 00:02:18,120 --> 00:02:23,130 Così, per esempio, automobili, hanno il modello, l'anno, la velocità massima, 34 00:02:23,130 --> 00:02:25,500 e così via e così via. 35 00:02:25,500 --> 00:02:27,450 E hanno alcuni comportamenti. 36 00:02:27,450 --> 00:02:33,050 Ad esempio, l'accelerazione, o frenata, o andare in retromarcia. 37 00:02:33,050 --> 00:02:38,910 >> Così gli oggetti Java tentativo di modellare questo avendo campi e metodi. 38 00:02:38,910 --> 00:02:45,050 Così i campi sono gli stati che l'oggetto Java può avere, 39 00:02:45,050 --> 00:02:51,440 mentre il metodo rappresenterebbe la comportamento che un oggetto Java avrebbe. 40 00:02:51,440 --> 00:02:53,770 Così, quando dico metodi e campi, ho davvero 41 00:02:53,770 --> 00:02:56,470 significa solo variabili e funzioni. 42 00:02:56,470 --> 00:03:02,120 Essi sono esattamente gli stessi, tranne che si applicano a un determinato oggetto. 43 00:03:02,120 --> 00:03:04,880 >> OK, così di passare a classi. 44 00:03:04,880 --> 00:03:08,950 Classi Java sono come il progetti per un oggetto. 45 00:03:08,950 --> 00:03:12,270 Ti quali metodi dicono ha, che cosa campi che ha, 46 00:03:12,270 --> 00:03:17,750 e anche qui, abbiamo qualcosa chiamati modificatori di accesso che 47 00:03:17,750 --> 00:03:19,570 ci arriveremo in un istante. 48 00:03:19,570 --> 00:03:26,930 Quindi, per dichiarare una classe Java, è molto simile nella sintassi di una struct C. 49 00:03:26,930 --> 00:03:34,350 >> Qui iniziamo con classe Car pubblico, e poi abbiamo una parentesi graffa aperta e poi 50 00:03:34,350 --> 00:03:38,800 un numero di campi si desidera che l'oggetto abbia. 51 00:03:38,800 --> 00:03:44,650 E poi qui abbiamo alcuni metodi, e abbiamo anche un costruttore dell'oggetto. 52 00:03:44,650 --> 00:03:48,690 Ora, ciò che questo costruttore dell'oggetto non fa altro che racconta l'oggetto, 53 00:03:48,690 --> 00:03:53,370 OK, voglio inizializzare questo oggetto con una sorta di campi. 54 00:03:53,370 --> 00:03:58,310 >> Così qui, vogliamo che ogni auto ad avere un modello e un anno. 55 00:03:58,310 --> 00:04:01,480 Quindi abbiamo un costruttore solo specificamente 56 00:04:01,480 --> 00:04:06,560 per il modello e l'anno, e questo sarebbe impostare il campo del modello 57 00:04:06,560 --> 00:04:12,510 ad un certo valore, e campo anno pure. 58 00:04:12,510 --> 00:04:16,019 >> Ora circa l'accesso modificatori di cui parlavo. 59 00:04:16,019 --> 00:04:21,560 Qui abbiamo il pubblico e modificatori di accesso private. 60 00:04:21,560 --> 00:04:27,730 Così si può pensare a questo come la RWX nelle directory. 61 00:04:27,730 --> 00:04:33,020 Così permettono certe persone leggere, e hanno accesso 62 00:04:33,020 --> 00:04:35,150 a questi campi e metodi. 63 00:04:35,150 --> 00:04:39,470 >> Quindi, se dico che il modello e anno e la velocità sono private, 64 00:04:39,470 --> 00:04:46,360 ciò significa che altri oggetti non possono tentare di accedere ai campi di questo oggetto 65 00:04:46,360 --> 00:04:47,760 ci sono private. 66 00:04:47,760 --> 00:04:52,280 Ma quando ho impostato l'accesso modificatore di essere pubblico, 67 00:04:52,280 --> 00:04:57,630 ora che significa che gli altri oggetti sono liberi di accedere e addirittura 68 00:04:57,630 --> 00:05:00,770 utilizzato i metodi definiti qui. 69 00:05:00,770 --> 00:05:04,160 70 00:05:04,160 --> 00:05:09,210 >> Quindi questa è la base Oggetto Car che ho. 71 00:05:09,210 --> 00:05:15,350 Abbiamo la accelerare, rompere, e metodi getSpeed. 72 00:05:15,350 --> 00:05:20,180 A questo punto, è tutto chiaro Oggetti Java e come dichiarare loro? 73 00:05:20,180 --> 00:05:22,710 Freddo, va bene. 74 00:05:22,710 --> 00:05:29,120 Quindi, se si desidera utilizzare il Java oggetto in un programma stesso, 75 00:05:29,120 --> 00:05:35,720 allora possiamo usare questo nuova costruzione Car. 76 00:05:35,720 --> 00:05:41,250 Così qui stiamo dicendo che vogliamo dichiarare un nuovo oggetto, che è di tipo auto. 77 00:05:41,250 --> 00:05:44,120 E qui è l'applicazione il modello e l'anno, 78 00:05:44,120 --> 00:05:51,110 che abbiamo definito in questo oggetto qui. 79 00:05:51,110 --> 00:05:55,150 >> Quindi questo è anche un altro opporsi, se si nota. 80 00:05:55,150 --> 00:05:59,820 E 'una classe per il programma principale stesso. 81 00:05:59,820 --> 00:06:04,660 E abbiamo questa PSVM, o pubblica static void main, funzione, 82 00:06:04,660 --> 00:06:08,200 e la sua partenza punto del programma, 83 00:06:08,200 --> 00:06:12,320 simile alla principale funzione nel vostro programma C. 84 00:06:12,320 --> 00:06:16,870 Qui, siamo in grado di accedere e utilizzare le funzioni dell'oggetto 85 00:06:16,870 --> 00:06:21,480 utilizzando il punto e poi il nome della funzione di notazione. 86 00:06:21,480 --> 00:06:26,130 E possiamo anche specificare alcuni argomenti o parametri 87 00:06:26,130 --> 00:06:28,260 per tale funzione. 88 00:06:28,260 --> 00:06:32,410 >> OK, ora di passare alla successione. 89 00:06:32,410 --> 00:06:37,670 Così gli oggetti del mondo reale può le stesse caratteristiche. 90 00:06:37,670 --> 00:06:42,490 Così, per esempio, c'è diversi tipi di biciclette. 91 00:06:42,490 --> 00:06:47,280 Ad esempio, mountain bike, city ​​bike, o tandem. 92 00:06:47,280 --> 00:06:50,320 Così hanno questo comune caratteristica di essere una moto. 93 00:06:50,320 --> 00:06:55,740 >> E così le biciclette possono avere due ruote e possono avere un manubrio, magari 94 00:06:55,740 --> 00:06:58,750 una luce di posizione posteriore o qualcosa di simile. 95 00:06:58,750 --> 00:07:04,930 Così Java ci dà questa potere di rappresentare oggetti 96 00:07:04,930 --> 00:07:10,170 che hanno determinato comune caratteristiche attraverso l'ereditarietà. 97 00:07:10,170 --> 00:07:18,370 Ora, che cosa fa l'ereditarietà, è passa sui campi e metodi di un oggetto 98 00:07:18,370 --> 00:07:20,920 su un oggetto secondario. 99 00:07:20,920 --> 00:07:24,080 >> Così, per esempio, se avere una macchina, ed ha 100 00:07:24,080 --> 00:07:28,570 lo stato di avere quattro ruote ed una volante, 101 00:07:28,570 --> 00:07:31,120 allora possiamo passare questo a certi tipi di autoveicoli. 102 00:07:31,120 --> 00:07:35,470 Ad esempio, abbiamo il sedan, auto sportive, e un SUV. 103 00:07:35,470 --> 00:07:38,940 Ora, questi tre diversi tipi di auto sarebbe ancora 104 00:07:38,940 --> 00:07:42,050 avere quattro ruote e una volante, ma poi 105 00:07:42,050 --> 00:07:43,900 può avere certo caratteristiche speciali, 106 00:07:43,900 --> 00:07:49,980 come avere cinque posti e una per una berlina, per esempio. 107 00:07:49,980 --> 00:07:58,510 >> Quindi, per fare uso di questa eredità caratteristica, usiamo questa parola chiave extends. 108 00:07:58,510 --> 00:08:04,570 Quindi ricordatevi di nuovo al Car Obietto che ho definito in precedenza. 109 00:08:04,570 --> 00:08:06,730 Ora mi definisco un oggetto Sedan. 110 00:08:06,730 --> 00:08:09,930 111 00:08:09,930 --> 00:08:17,850 Quindi questo oggetto Sedan avrebbe il stessi campi e funzioni, o metodi, 112 00:08:17,850 --> 00:08:19,660 che l'auto avrebbe. 113 00:08:19,660 --> 00:08:24,830 Ma poi, qui a specificare alcune funzioni aggiuntive, 114 00:08:24,830 --> 00:08:26,830 per esempio, l'insieme numero di passeggeri 115 00:08:26,830 --> 00:08:29,150 e il numero di passeggeri ottenere. 116 00:08:29,150 --> 00:08:32,000 >> Qui, si può inoltre notare che possiamo sostituire i metodi, 117 00:08:32,000 --> 00:08:34,840 e questo significa che siamo solo sostituendo il comportamento 118 00:08:34,840 --> 00:08:38,549 agire diversamente in taluni casi. 119 00:08:38,549 --> 00:08:42,710 Così, per esempio, voglio impostare una velocità massima per la nostra macchina. 120 00:08:42,710 --> 00:08:49,840 E per farlo, a verificare se questo velocità sarebbe andare oltre la velocità max. 121 00:08:49,840 --> 00:08:54,180 E se non lo fa, allora io chiamo il super-class 'accelerare metodo. 122 00:08:54,180 --> 00:09:00,350 Quindi questo è il super.accelerate () chiamate la classe super 'accelerare metodo. 123 00:09:00,350 --> 00:09:05,390 124 00:09:05,390 --> 00:09:09,940 >> Infine, stiamo andando a parlare di interfacce. 125 00:09:09,940 --> 00:09:18,090 Così interfacce sono un modo per esporre solo taluni metodi al mondo esterno. 126 00:09:18,090 --> 00:09:19,980 Così sono come un tavolo di contenuti, e si 127 00:09:19,980 --> 00:09:25,900 può pensare a loro come come i file di intestazione C, appena 128 00:09:25,900 --> 00:09:33,680 metodi come con corpi vuoti, e che specificare quale l'oggetto o la classe 129 00:09:33,680 --> 00:09:37,710 deve avere, o quali metodi l'oggetto o la classe deve avere. 130 00:09:37,710 --> 00:09:41,360 >> Così, per esempio, se avere una interfaccia biciclette, 131 00:09:41,360 --> 00:09:46,530 ed ha tre metodi differenti, e qui se implementare questa interfaccia, 132 00:09:46,530 --> 00:09:49,864 allora ciò significa che tale biciclette sarebbe necessario implementare gli stessi tre 133 00:09:49,864 --> 00:09:51,530 metodi che ho definito nell'interfaccia. 134 00:09:51,530 --> 00:09:57,076 135 00:09:57,076 --> 00:10:01,390 >> Fino a questo punto, tutte le altre domande? 136 00:10:01,390 --> 00:10:03,240 Va bene, fresco. 137 00:10:03,240 --> 00:10:07,770 Quindi questo è stato molto breve e rapido tutorial su Java. 138 00:10:07,770 --> 00:10:14,560 Non c'è modo più funzioni e argomenti su Java, che si può effettivamente passare attraverso. 139 00:10:14,560 --> 00:10:17,690 Per esempio, c'è farmaci generici, c'è tipi di dati, 140 00:10:17,690 --> 00:10:19,780 C'è anche enumerazioni e roba. 141 00:10:19,780 --> 00:10:23,400 Quindi, se volete saperne di più a questo proposito, fare seguire questi link, 142 00:10:23,400 --> 00:10:25,840 e che ti insegnano di più su di loro. 143 00:10:25,840 --> 00:10:30,220 >> OK, così, andiamo avanti per la carne effettivo del seminario, 144 00:10:30,220 --> 00:10:34,080 e che è effettivamente Programmazione Android. 145 00:10:34,080 --> 00:10:37,660 Quindi, prima abbiamo effettivamente arrivare alla programmazione, 146 00:10:37,660 --> 00:10:40,800 Voglio parlare di alcuni gergo. 147 00:10:40,800 --> 00:10:46,980 Così l'attività è Via di Android di dire 148 00:10:46,980 --> 00:10:52,870 si tratta di un unico schermo all'interno dell'applicazione. 149 00:10:52,870 --> 00:11:01,100 >> Così, per esempio, se avete un Gmail app, abbiamo l'attività di visualizzare i messaggi. 150 00:11:01,100 --> 00:11:02,990 E poi se si fa clic un certo email, che 151 00:11:02,990 --> 00:11:08,850 mostrerà un'altra attività in cui si tratta di un'attività di vista e-mail. 152 00:11:08,850 --> 00:11:14,740 E poi abbiamo anche la composizione l'attività, o l'attività di modifica messaggio. 153 00:11:14,740 --> 00:11:18,380 E così attività sono generalmente un solo schermo 154 00:11:18,380 --> 00:11:21,800 all'interno dell'applicazione stessa. 155 00:11:21,800 --> 00:11:28,410 >> Ora, viste sono i componenti che lo schermo, o l'attività stessa. 156 00:11:28,410 --> 00:11:34,430 Così disegnano un certo cosa in vostro schermo. 157 00:11:34,430 --> 00:11:37,840 Così, per esempio, potrebbe essere un campo di testo, potrebbe essere un'etichetta, 158 00:11:37,840 --> 00:11:40,090 potrebbe essere una scatola controlli. 159 00:11:40,090 --> 00:11:44,110 Così è molti tipi differenti di visualizzazioni. 160 00:11:44,110 --> 00:11:47,780 Così ora abbiamo intenti, e questo è un messaggio 161 00:11:47,780 --> 00:11:51,070 che si trasmette ad un'altra attività. 162 00:11:51,070 --> 00:11:58,997 E contengono informazioni da ciò che si desidera questa attività da eseguire. 163 00:11:58,997 --> 00:12:00,830 Infine, abbiamo la file manifesto, e che 164 00:12:00,830 --> 00:12:07,900 è un file XML che fornisce il telefono tutte le informazioni sulla vostra applicazione. 165 00:12:07,900 --> 00:12:12,230 Ecco, questo è include la versione, e le attività che si avrà. 166 00:12:12,230 --> 00:12:17,480 >> OK, quindi cominciamo. 167 00:12:17,480 --> 00:12:21,460 Quindi stiamo andando a essere utilizzando Android Studio. 168 00:12:21,460 --> 00:12:26,960 Quindi, se voi ragazzi avete già questo installato, sentitevi liberi di seguire insieme. 169 00:12:26,960 --> 00:12:29,790 Cercheremo e ricominciare da zero. 170 00:12:29,790 --> 00:12:35,260 E così ho intenzione di provare e creare un nuovo progetto. 171 00:12:35,260 --> 00:12:40,370 E ho intenzione di chiamare il mio progetto Android 101. 172 00:12:40,370 --> 00:12:45,770 E qui abbiamo messo il nome del progetto nel campo nome dell'applicazione. 173 00:12:45,770 --> 00:12:48,500 >> Società dominio, non è necessario davvero a preoccupare. 174 00:12:48,500 --> 00:12:57,000 Questo è solo il modo Android identifica l'applicazione. 175 00:12:57,000 --> 00:13:01,350 In modo da avere un nome di dominio, è possibile digitare nel tuo nome di dominio all'interno di lì. 176 00:13:01,350 --> 00:13:05,370 Ma se non lo fai, si può sentire liberi di digitare tutto quello che vuoi. 177 00:13:05,370 --> 00:13:08,226 Così qui mi basta digitare in frederickw.com. 178 00:13:08,226 --> 00:13:14,660 >> E poi, alla fine, ho scelto dove Voglio conservare il mio progetto in. 179 00:13:14,660 --> 00:13:21,080 E ho intenzione di scegliere solo il mio desktop. 180 00:13:21,080 --> 00:13:28,670 Così gli utenti, Frederick Widjaja, e Desktop. 181 00:13:28,670 --> 00:13:31,340 OK. 182 00:13:31,340 --> 00:13:34,090 Quindi fare clic su Avanti. 183 00:13:34,090 --> 00:13:39,630 Qui, ho intenzione di scegliere il API minimo da sostenere. 184 00:13:39,630 --> 00:13:44,910 Quindi, in questo caso, sono andando a scegliere API 15. 185 00:13:44,910 --> 00:13:51,530 Ed è bene se in realtà solo scegliere 4.4 che è l'ultima API. 186 00:13:51,530 --> 00:13:53,560 O 5, infatti. 187 00:13:53,560 --> 00:13:57,714 Ma allora non vi resta che preoccuparsi che i telefoni si sta veramente di supporto, 188 00:13:57,714 --> 00:13:59,130 e che i telefoni che stai targeting. 189 00:13:59,130 --> 00:14:04,230 190 00:14:04,230 --> 00:14:06,260 Fare clic su Avanti. 191 00:14:06,260 --> 00:14:09,780 >> OK, così arriviamo a questo schermo, e siamo solo 192 00:14:09,780 --> 00:14:15,110 intenzione di utilizzare creare un l'attività attraverso questo. 193 00:14:15,110 --> 00:14:19,890 Quindi ho intenzione di fare clic su vuoto l'attività e poi su Avanti. 194 00:14:19,890 --> 00:14:23,110 Stiamo andando a chiamarlo principale attività, penso che va bene. 195 00:14:23,110 --> 00:14:27,800 Basta andare a chiamarlo, premere Finish proprio qui. 196 00:14:27,800 --> 00:14:36,250 Attendere che si carichi, e ci andiamo. 197 00:14:36,250 --> 00:14:40,600 >> Così qui notiamo tre diverse cartelle. 198 00:14:40,600 --> 00:14:44,290 Abbiamo la cartella manifesto che contiene il nostro manifesto. 199 00:14:44,290 --> 00:14:48,360 Se lo si apre, vedremo il nostro pacchetto. 200 00:14:48,360 --> 00:14:54,000 O identifica come Android l'applicazione 201 00:14:54,000 --> 00:14:58,990 e poi abbiamo questa tag applicazione, che 202 00:14:58,990 --> 00:15:05,420 contiene il titolo della nostra applicazione nonché l'icona dell'applicazione. 203 00:15:05,420 --> 00:15:08,050 204 00:15:08,050 --> 00:15:11,950 >> Possiamo realmente eseguire questo applicazione diritta. 205 00:15:11,950 --> 00:15:14,600 Allora perché non proviamo e facciamo? 206 00:15:14,600 --> 00:15:16,310 Ho intenzione di utilizzare Genymotion. 207 00:15:16,310 --> 00:15:22,150 Se hai portato il proprio telefono cellulare, è possibile collegarlo e farlo funzionare, se si vuole. 208 00:15:22,150 --> 00:15:31,213 Ma io sono solo intenzione di utilizzare un emulatore, e ho intenzione di iniziare questo. 209 00:15:31,213 --> 00:15:31,713 Ooh. 210 00:15:31,713 --> 00:15:41,030 211 00:15:41,030 --> 00:15:42,780 Beh, penso che sia andando a prendere un po ', 212 00:15:42,780 --> 00:15:49,580 quindi penso che dobbiamo solo andare dritto in spiegare più su questo. 213 00:15:49,580 --> 00:15:56,200 Quindi qui abbiamo la directory Java, o dove i file di origine sono contenuti. 214 00:15:56,200 --> 00:16:02,500 Qui abbiamo l'attività principale in sé. 215 00:16:02,500 --> 00:16:07,120 Si può vedere che estende la classe di attività. 216 00:16:07,120 --> 00:16:12,750 Così la nostra attività principale è uno schermo che sarà nella nostra applicazione. 217 00:16:12,750 --> 00:16:21,790 E poi qui notiamo che un numero di funzioni sono automaticamente generato per noi. 218 00:16:21,790 --> 00:16:26,037 Abbiamo la funzione onCreate, e che si chiamerà whenever-- 219 00:16:26,037 --> 00:16:27,870 STUDENTE: Ti dispiace rendere il testo più grande? 220 00:16:27,870 --> 00:16:28,940 FRED Widjaja: OK, certo. 221 00:16:28,940 --> 00:16:38,380 222 00:16:38,380 --> 00:16:41,640 Cercherò di aumentare la dimensione del carattere. 223 00:16:41,640 --> 00:17:03,570 224 00:17:03,570 --> 00:17:06,490 Penso che dovrebbe essere buona. 225 00:17:06,490 --> 00:17:07,020 Quella buona? 226 00:17:07,020 --> 00:17:09,480 >> STUDENTE: Solo un po ' superiore, come 20 o qualcosa del genere. 227 00:17:09,480 --> 00:17:09,829 >> FRED Widjaja: 20? 228 00:17:09,829 --> 00:17:10,329 OK. 229 00:17:10,329 --> 00:17:17,380 230 00:17:17,380 --> 00:17:20,990 OK, va bene. 231 00:17:20,990 --> 00:17:24,740 Quindi qui abbiamo onCreate metodo che avrebbe 232 00:17:24,740 --> 00:17:29,750 essere chiamato quando la nostra attività viene creato in [? mostra?]. 233 00:17:29,750 --> 00:17:32,100 Abbiamo la onCreateOptionsMenu, e noi ti 234 00:17:32,100 --> 00:17:38,370 vedere che c'è in realtà una barra delle operazioni, e quindi 235 00:17:38,370 --> 00:17:42,920 possiamo aggiungere alcune voci di menu su di esso. 236 00:17:42,920 --> 00:17:45,710 E poi qui abbiamo il onOptionsItemSelected. 237 00:17:45,710 --> 00:17:52,210 Quindi questo è come un listener di eventi, così ogni volta che un opzione nel nostro bar azione 238 00:17:52,210 --> 00:17:58,450 si fa clic, questo funzione verrà chiamata, 239 00:17:58,450 --> 00:18:01,270 e sarà oltrepassato a determinato articolo che è stato cliccato. 240 00:18:01,270 --> 00:18:05,670 241 00:18:05,670 --> 00:18:11,576 >> OK, ho intenzione di see-- che non funziona bene. 242 00:18:11,576 --> 00:18:13,028 Proviamo e iniziare. 243 00:18:13,028 --> 00:18:16,416 244 00:18:16,416 --> 00:18:17,384 Oh caro. 245 00:18:17,384 --> 00:18:21,740 246 00:18:21,740 --> 00:18:23,560 OK. 247 00:18:23,560 --> 00:18:24,320 Questo è preoccupante. 248 00:18:24,320 --> 00:18:39,390 249 00:18:39,390 --> 00:18:41,500 OK, così comunque. 250 00:18:41,500 --> 00:18:44,940 Qui abbiamo il layout per la nostra attività stessa. 251 00:18:44,940 --> 00:18:50,150 Questa è la nostra attività principale, e qui notiamo che c'è la barra delle azioni. 252 00:18:50,150 --> 00:18:54,460 E poi abbiamo questo ciao etichetta mondo, e possiamo davvero 253 00:18:54,460 --> 00:18:57,830 modificare il testo qui. 254 00:18:57,830 --> 00:19:03,260 Se si va e di scorrimento fino al Ciao Mondo, 255 00:19:03,260 --> 00:19:06,360 possiamo cambiare a tutto ciò che vogliamo. 256 00:19:06,360 --> 00:19:10,070 Ad esempio, potrebbe essere, Hi there. 257 00:19:10,070 --> 00:19:12,820 Benvenuto. 258 00:19:12,820 --> 00:19:14,345 E ce ne andiamo, cambia. 259 00:19:14,345 --> 00:19:20,380 260 00:19:20,380 --> 00:19:20,880 Oh caro. 261 00:19:20,880 --> 00:19:24,310 262 00:19:24,310 --> 00:19:26,010 Questo stile non funziona. 263 00:19:26,010 --> 00:19:28,320 OK, che è preoccupante. 264 00:19:28,320 --> 00:19:32,000 OK, comunque, siamo in grado di andare avanti senza di questo. 265 00:19:32,000 --> 00:19:38,560 Quindi per ora, proviamo e fare alcune cose davvero essenziale. 266 00:19:38,560 --> 00:19:42,450 Così qui abbiamo intenzione di avere un'etichetta, e poi siamo 267 00:19:42,450 --> 00:19:47,005 intenzione di avere un testo view-- mi dispiace, non una vista testo, 268 00:19:47,005 --> 00:19:49,310 stiamo per avere un testo di modifica. 269 00:19:49,310 --> 00:19:53,900 E questo è un componente per la digitazione e roba. 270 00:19:53,900 --> 00:19:56,590 271 00:19:56,590 --> 00:20:07,240 Così abbiamo un testo semplice, e quindi basta aggiungere che sulla nostra interfaccia. 272 00:20:07,240 --> 00:20:13,520 >> Qui, voglio aggiungere anche un certo margine verso l'alto in modo che sembra più bello. 273 00:20:13,520 --> 00:20:19,190 Quindi stiamo per passare alla proprietà, e poi al margine superiore, 274 00:20:19,190 --> 00:20:23,120 stiamo andando ad aggiungere in 20 PS. 275 00:20:23,120 --> 00:20:28,170 Così ora, PS sono solo unità di misura in Android, 276 00:20:28,170 --> 00:20:31,240 e si distinguono per la densità pixel indipendenti. 277 00:20:31,240 --> 00:20:35,380 Quindi, come forse sapete, Android, non c'è diversi tipi di schermi 278 00:20:35,380 --> 00:20:38,410 e poi hanno diverse densità dello schermo. 279 00:20:38,410 --> 00:20:42,584 Così qui è solo sarà un pixel indipendenti densità, 280 00:20:42,584 --> 00:20:44,750 quindi sta andando essere lo stesso in tutte le schermate. 281 00:20:44,750 --> 00:20:49,046 282 00:20:49,046 --> 00:20:55,270 >> Andando a estendere questo testo di modifica, e poi ho anche intenzione di aggiungere un pulsante. 283 00:20:55,270 --> 00:21:02,900 284 00:21:02,900 --> 00:21:04,370 E sta andando a dire OK. 285 00:21:04,370 --> 00:21:09,639 286 00:21:09,639 --> 00:21:10,597 20 PS. 287 00:21:10,597 --> 00:21:14,430 288 00:21:14,430 --> 00:21:16,630 OK. 289 00:21:16,630 --> 00:21:20,060 Così ora abbiamo tre diversi componenti. 290 00:21:20,060 --> 00:21:25,630 E il modo in cui può fare riferimento a questi nella nostra classe principale attività 291 00:21:25,630 --> 00:21:29,620 è utilizzando questo metodo chiamato findViewById. 292 00:21:29,620 --> 00:21:36,790 Quindi ho intenzione di definire alcuni campi. 293 00:21:36,790 --> 00:21:48,290 Così abbiamo in TextView, quindi diciamo helloText. 294 00:21:48,290 --> 00:21:55,400 295 00:21:55,400 --> 00:21:59,930 E poi se si sta utilizzando Android Studio, è possibile utilizzare il collegamento alternativo, 296 00:21:59,930 --> 00:22:01,120 entrare. 297 00:22:01,120 --> 00:22:07,400 E fare clic su Importa Class automaticamente importare le classi corrispondenti 298 00:22:07,400 --> 00:22:07,950 di cui abbiamo bisogno. 299 00:22:07,950 --> 00:22:10,590 300 00:22:10,590 --> 00:22:20,800 E poi qui ho intenzione di aggiungere un ID di questo TextView e chiamano text_hello. 301 00:22:20,800 --> 00:22:28,320 302 00:22:28,320 --> 00:22:32,050 Ora che abbiamo definito un ID per questo TextView, 303 00:22:32,050 --> 00:22:38,020 possiamo usare questo per fare riferimento alla TextView che abbiamo appena definito. 304 00:22:38,020 --> 00:22:47,970 Così helloText uguale TextView findViewById, 305 00:22:47,970 --> 00:22:52,630 e poi specifichiamo l'ID che noi vogliamo, che è r.ID.text_hello. 306 00:22:52,630 --> 00:22:55,360 307 00:22:55,360 --> 00:22:59,560 >> Quindi questo è molto simile a JavaScript e jQuery, dove possiamo in realtà solo 308 00:22:59,560 --> 00:23:05,430 consultare alcuni elementi nel layout appena 309 00:23:05,430 --> 00:23:08,330 utilizzando l'ID che abbiamo specificato. 310 00:23:08,330 --> 00:23:17,240 Quindi, in generale, per accedere ad una determinato oggetto o un certo campo 311 00:23:17,240 --> 00:23:22,030 nel nostro layout, si sta andando ad avere a utilizzare questo metodo findViewById. 312 00:23:22,030 --> 00:23:26,290 E poi andremo a fare lo stesso cose per gli altri due elementi. 313 00:23:26,290 --> 00:23:29,570 314 00:23:29,570 --> 00:23:36,683 Ecco, sto per aggiungere il text_name ID. 315 00:23:36,683 --> 00:23:40,760 316 00:23:40,760 --> 00:23:42,770 Sì. 317 00:23:42,770 --> 00:23:46,610 Così come per questo. 318 00:23:46,610 --> 00:23:49,345 319 00:23:49,345 --> 00:23:49,845 Button_ok. 320 00:23:49,845 --> 00:23:53,570 321 00:23:53,570 --> 00:23:58,120 >> Ora quello che voglio fare è questo quando si clicca il tasto OK, 322 00:23:58,120 --> 00:24:02,110 e abbiamo immesso una sorta del nome nel campo di testo, 323 00:24:02,110 --> 00:24:10,880 poi sta andando ad aggiornare questo etichetta per dire, ciao, nome, benvenuto. 324 00:24:10,880 --> 00:24:16,520 Così, nel nostro principale classe di attività, siamo 325 00:24:16,520 --> 00:24:23,210 anche andando a cercare di fare riferimento a quegli elementi che dobbiamo trovare. 326 00:24:23,210 --> 00:24:30,860 >> Così abbiamo la EditText nameText. 327 00:24:30,860 --> 00:24:33,615 328 00:24:33,615 --> 00:24:36,000 Oops. 329 00:24:36,000 --> 00:24:38,500 Entra e si alternano, classe di importazione. 330 00:24:38,500 --> 00:24:41,060 E poi anche il tasto OK. 331 00:24:41,060 --> 00:24:45,660 332 00:24:45,660 --> 00:24:48,980 Allo stesso modo, stiamo andando a fare la stessa cosa qui. 333 00:24:48,980 --> 00:24:54,900 nameText uguale EditText findViewById, r.ID.text_name. 334 00:24:54,900 --> 00:25:01,430 335 00:25:01,430 --> 00:25:03,380 E quindi il pulsante OK. 336 00:25:03,380 --> 00:25:10,180 337 00:25:10,180 --> 00:25:13,840 findViewById, r.ID, e poi button_ok. 338 00:25:13,840 --> 00:25:16,400 339 00:25:16,400 --> 00:25:22,240 >> OK, ora abbiamo tutti e tre elementi che vogliamo fare riferimento a. 340 00:25:22,240 --> 00:25:27,630 Così ora ho intenzione di collegare un on-click listener per il nostro pulsante 341 00:25:27,630 --> 00:25:30,440 per ascoltare i clic degli utenti. 342 00:25:30,440 --> 00:25:35,780 A che usiamo il evento setOnClickListener. 343 00:25:35,780 --> 00:25:38,860 344 00:25:38,860 --> 00:25:44,010 Ora, qui si sta dicendo che dobbiamo specificare setOnClickListener, 345 00:25:44,010 --> 00:25:51,030 e si può farlo da solo che hanno un nuovo onClickListener, e premere Invio. 346 00:25:51,030 --> 00:25:56,935 >> E poi avete questo anonimo di classe, o un oggetto anonimo. 347 00:25:56,935 --> 00:25:59,530 348 00:25:59,530 --> 00:26:02,790 E abbiamo anche questo onClick il metodo, e questo è fondamentalmente 349 00:26:02,790 --> 00:26:05,580 quello che sta per essere chiamato ogni volta cliccato il nostro pulsante. 350 00:26:05,580 --> 00:26:15,860 >> Così qui, voglio ottenere il nome che era input in un campo di testo prima So 351 00:26:15,860 --> 00:26:17,700 String name uguale a nameText.getText (). 352 00:26:17,700 --> 00:26:21,670 353 00:26:21,670 --> 00:26:26,400 Di nuovo, questo è come la Sintassi Java per riferimento 354 00:26:26,400 --> 00:26:29,130 alle funzioni all'interno dell'oggetto. 355 00:26:29,130 --> 00:26:36,290 Così nameText.getText, e poi siamo andando a convertirlo in una stringa. 356 00:26:36,290 --> 00:26:41,090 Ora abbiamo il nome che immesso dall'utente. 357 00:26:41,090 --> 00:26:46,140 >> E poi andremo a generare una nuova stringa, 358 00:26:46,140 --> 00:26:48,980 così che sta per essere chiamato ciao. 359 00:26:48,980 --> 00:26:56,325 Sto per dire, ciao, nome, benvenuto. 360 00:26:56,325 --> 00:27:00,810 361 00:27:00,810 --> 00:27:05,265 E, infine, si vuole per aggiornare il helloText. 362 00:27:05,265 --> 00:27:09,190 Quindi, per fare questo, abbiamo semplicemente chiamiamo helloText.setText (ciao). 363 00:27:09,190 --> 00:27:16,940 364 00:27:16,940 --> 00:27:17,440 OK. 365 00:27:17,440 --> 00:27:20,430 366 00:27:20,430 --> 00:27:22,770 Oops. 367 00:27:22,770 --> 00:27:30,645 >> Io vado a cercare di rieseguire Genymotion un'ultima volta e vedere se funziona. 368 00:27:30,645 --> 00:27:35,160 369 00:27:35,160 --> 00:27:38,810 Se non lo fa, è totalmente bene. 370 00:27:38,810 --> 00:27:39,730 OK. 371 00:27:39,730 --> 00:27:41,970 Quindi credo che non funziona. 372 00:27:41,970 --> 00:27:48,960 373 00:27:48,960 --> 00:27:52,955 In realtà, mi permetta di cercare di fare questo. 374 00:27:52,955 --> 00:27:56,188 375 00:27:56,188 --> 00:27:57,174 Potrebbe essere questo. 376 00:27:57,174 --> 00:28:05,548 377 00:28:05,548 --> 00:28:06,048 Genymotion. 378 00:28:06,048 --> 00:28:25,761 379 00:28:25,761 --> 00:28:26,261 OK. 380 00:28:26,261 --> 00:28:33,240 381 00:28:33,240 --> 00:28:33,980 Bene. 382 00:28:33,980 --> 00:28:35,170 Sì, funziona. 383 00:28:35,170 --> 00:28:38,020 OK. 384 00:28:38,020 --> 00:28:39,250 E 'stato spaventoso. 385 00:28:39,250 --> 00:28:40,890 OK. 386 00:28:40,890 --> 00:28:43,270 Non volevo farlo. 387 00:28:43,270 --> 00:28:46,570 OK, quindi abbiamo questo emulatore Android. 388 00:28:46,570 --> 00:28:49,070 Vorrei passare questo off. 389 00:28:49,070 --> 00:28:52,290 390 00:28:52,290 --> 00:28:55,720 Così abbiamo il nostro emulatore Android. 391 00:28:55,720 --> 00:28:59,750 Quindi stiamo andando a cercare di eseguire questa applicazione che abbiamo fatto. 392 00:28:59,750 --> 00:29:04,100 Basta andare a fare clic sul pulsante Play, e sta andando a dire, in attesa di ADB. 393 00:29:04,100 --> 00:29:10,580 394 00:29:10,580 --> 00:29:12,780 Oh, uomo. 395 00:29:12,780 --> 00:29:13,280 Ricomincia. 396 00:29:13,280 --> 00:29:25,419 397 00:29:25,419 --> 00:29:30,150 OK, credo che questo ancora non funziona. 398 00:29:30,150 --> 00:29:31,280 OK, non importa, allora. 399 00:29:31,280 --> 00:29:33,841 400 00:29:33,841 --> 00:29:38,150 questo sarà un peccato. 401 00:29:38,150 --> 00:29:41,030 Ma così diciamo che vogliamo per creare una nuova attività, 402 00:29:41,030 --> 00:29:45,730 e stiamo per avere un picture in tale attività. 403 00:29:45,730 --> 00:29:52,120 Per fare questo, possiamo semplicemente cliccare su questo file, e quindi Nuovo. 404 00:29:52,120 --> 00:29:57,760 E poi qui possiamo selezionare Attività, e quindi Blank attività. 405 00:29:57,760 --> 00:29:59,840 Qui, stiamo andando a chiamare forse CatActivity. 406 00:29:59,840 --> 00:30:03,030 407 00:30:03,030 --> 00:30:06,537 >> OK, ora genera altri due file. 408 00:30:06,537 --> 00:30:08,245 Uno si chiama activity_cat, e l'altra 409 00:30:08,245 --> 00:30:10,630 è chiamato catActivity, che è una classe. 410 00:30:10,630 --> 00:30:13,250 411 00:30:13,250 --> 00:30:18,648 Quindi diciamo che vogliamo aggiungere una foto di un gatto proprio qui. 412 00:30:18,648 --> 00:30:21,790 413 00:30:21,790 --> 00:30:25,220 Così, quando lo fate, stiamo andando utilizzare la classe ImageView. 414 00:30:25,220 --> 00:30:28,076 415 00:30:28,076 --> 00:30:31,340 Stiamo per aggiungere che su qui. 416 00:30:31,340 --> 00:30:35,350 E quindi impostare il margine per essere 20 DP. 417 00:30:35,350 --> 00:30:37,920 418 00:30:37,920 --> 00:30:41,240 >> E ora stiamo andando a trovare l'immagine di un gatto su internet. 419 00:30:41,240 --> 00:30:43,270 Quindi vediamo. 420 00:30:43,270 --> 00:30:43,770 Cat. 421 00:30:43,770 --> 00:30:48,280 422 00:30:48,280 --> 00:30:50,270 OK. 423 00:30:50,270 --> 00:30:51,145 Credo che questo va bene. 424 00:30:51,145 --> 00:30:59,070 425 00:30:59,070 --> 00:31:01,032 OK. 426 00:31:01,032 --> 00:31:02,780 Così ora abbiamo la nostra immagine. 427 00:31:02,780 --> 00:31:07,720 Quindi stiamo andando ad aggiungere che nel nostro progetto. 428 00:31:07,720 --> 00:31:16,140 Può fare questo per diritto clic, e then-- noi 429 00:31:16,140 --> 00:31:25,965 può in realtà solo aprire questo, andare downloads, mi dispiace, desktop. 430 00:31:25,965 --> 00:31:28,310 Andando a cercare di trovarlo. 431 00:31:28,310 --> 00:31:28,810 Cat. 432 00:31:28,810 --> 00:31:34,580 433 00:31:34,580 --> 00:31:35,790 Proprio qui. 434 00:31:35,790 --> 00:31:42,820 Ho intenzione di copiarlo nella mia cartella. 435 00:31:42,820 --> 00:31:46,800 Ora, sta andando a chiedere a me un paio di opzioni. 436 00:31:46,800 --> 00:31:49,250 Ora, voglio solo questo a essere nella cartella drawable, 437 00:31:49,250 --> 00:31:54,390 e che sta per essere per tutti diverse risoluzioni dello schermo. 438 00:31:54,390 --> 00:31:57,100 In alternativa, possiamo in realtà basta selezionare 439 00:31:57,100 --> 00:32:01,270 che la risoluzione dello schermo si vogliono questa immagine di essere in. 440 00:32:01,270 --> 00:32:06,150 Così andando per selezionare la cartella drawable, fare clic su OK. 441 00:32:06,150 --> 00:32:08,660 442 00:32:08,660 --> 00:32:09,910 Basta andare a chiamarlo cat.jpg. 443 00:32:09,910 --> 00:32:12,560 444 00:32:12,560 --> 00:32:15,970 >> OK, così, ora è aggiunto nel nostro punto di vista dell'immagine. 445 00:32:15,970 --> 00:32:18,800 446 00:32:18,800 --> 00:32:22,020 stiamo andando ad avere per utilizzare questa fonte qui, 447 00:32:22,020 --> 00:32:27,420 e quindi siamo in grado di utilizzare questo dot dot dot pulsante e selezionare l'immagine del gatto. 448 00:32:27,420 --> 00:32:30,010 449 00:32:30,010 --> 00:32:32,620 OK. 450 00:32:32,620 --> 00:32:39,480 Così ora voglio farlo come che è solo la giusta dimensione. 451 00:32:39,480 --> 00:32:50,050 Quindi ho intenzione di selezionare questo regolare Opzione limiti visionare proprio qui, 452 00:32:50,050 --> 00:32:54,960 e che automaticamente imposta alla giusta dimensione. 453 00:32:54,960 --> 00:32:55,460 OK. 454 00:32:55,460 --> 00:33:02,410 455 00:33:02,410 --> 00:33:09,380 Ora, per lanciare in realtà questo attività dalla nostra attività precedente, 456 00:33:09,380 --> 00:33:15,470 si sta andando ad avere per utilizzare qualcosa chiamato l'intento. 457 00:33:15,470 --> 00:33:19,115 Quindi diciamo che ho intenzione di aggiungere un altro pulsante che avvia l'attività. 458 00:33:19,115 --> 00:33:26,640 459 00:33:26,640 --> 00:33:29,150 Ho intenzione di aggiungere che qui, proprio qui. 460 00:33:29,150 --> 00:33:36,160 E poi sta andando a ha il testo attivarlo. 461 00:33:36,160 --> 00:33:38,711 462 00:33:38,711 --> 00:33:39,210 Oops. 463 00:33:39,210 --> 00:33:42,470 464 00:33:42,470 --> 00:33:43,320 OK. 465 00:33:43,320 --> 00:33:47,560 >> Ora, come possiamo effettivamente aperto il nuova attività all'interno di questa attività? 466 00:33:47,560 --> 00:33:52,280 467 00:33:52,280 --> 00:33:54,650 Così allo stesso prezzo di prima. 468 00:33:54,650 --> 00:34:01,120 Abbiamo bisogno di aggiungere un ID di questo pulsante, e chiamarlo button_activate. 469 00:34:01,120 --> 00:34:09,489 470 00:34:09,489 --> 00:34:16,880 E poi nella nostra attività principale, andando di avere questa nuova activateButton Button. 471 00:34:16,880 --> 00:34:21,630 472 00:34:21,630 --> 00:34:26,150 E poi usare anche il Metodo findViewById. 473 00:34:26,150 --> 00:34:29,449 474 00:34:29,449 --> 00:34:33,960 activateButton uguale Button findViewById r.ID.button_activate. 475 00:34:33,960 --> 00:34:43,960 476 00:34:43,960 --> 00:34:45,830 >> OK. 477 00:34:45,830 --> 00:34:48,500 E poi abbiamo anche intenzione di aggiungere in un onClickListener. 478 00:34:48,500 --> 00:34:56,360 479 00:34:56,360 --> 00:34:57,294 New onClickListener. 480 00:34:57,294 --> 00:35:01,870 481 00:35:01,870 --> 00:35:07,145 E poi andremo a utilizzare questa cosa chiamata Intent. 482 00:35:07,145 --> 00:35:10,070 483 00:35:10,070 --> 00:35:11,905 Intent equivale nuovo Intent (questo). 484 00:35:11,905 --> 00:35:17,260 485 00:35:17,260 --> 00:35:20,699 E poi il nome del attività che vogliamo vedere. 486 00:35:20,699 --> 00:35:22,990 Così qui in questo, stiamo andando avere catActivity.class. 487 00:35:22,990 --> 00:35:30,412 488 00:35:30,412 --> 00:35:31,147 Scusi. 489 00:35:31,147 --> 00:35:33,230 Stiamo andando a specificare @ MainActivity.this. 490 00:35:33,230 --> 00:35:36,100 491 00:35:36,100 --> 00:35:41,910 Così ora la proprietà .questo si riferisce all'istanza corrente dell'oggetto 492 00:35:41,910 --> 00:35:43,271 stesso. 493 00:35:43,271 --> 00:35:43,770 OK. 494 00:35:43,770 --> 00:35:48,020 Fino a questo punto, tutte le domande? 495 00:35:48,020 --> 00:35:48,890 Tutto bene? 496 00:35:48,890 --> 00:35:49,390 Bene. 497 00:35:49,390 --> 00:35:52,890 498 00:35:52,890 --> 00:35:57,430 >> E poi se si desidera avviare l'attività, è abbastanza semplice. 499 00:35:57,430 --> 00:35:59,904 Abbiamo appena chiamiamo il Metodo startActivity. 500 00:35:59,904 --> 00:36:04,260 501 00:36:04,260 --> 00:36:07,355 E poi si passa in Intent oggetto che abbiamo appena definito. 502 00:36:07,355 --> 00:36:10,640 503 00:36:10,640 --> 00:36:16,140 Purtroppo, abbiamo non può mostrare davvero questo. 504 00:36:16,140 --> 00:36:23,000 Speravo che si possa effettivamente eseguito questo e mostrare lungo al seminario, 505 00:36:23,000 --> 00:36:26,661 ma purtroppo non. 506 00:36:26,661 --> 00:36:28,980 Oh, uomo. 507 00:36:28,980 --> 00:36:29,480 Vedo. 508 00:36:29,480 --> 00:36:32,134 Oh, stiamo andando a cercare di uccidere ATB.exe. 509 00:36:32,134 --> 00:36:43,510 510 00:36:43,510 --> 00:36:45,214 OK. 511 00:36:45,214 --> 00:36:45,714 Ricomincia. 512 00:36:45,714 --> 00:36:53,490 513 00:36:53,490 --> 00:36:56,262 Ha funzionato? 514 00:36:56,262 --> 00:36:57,710 Oh, OK. 515 00:36:57,710 --> 00:37:00,660 Così ora è in realtà la compilazione. 516 00:37:00,660 --> 00:37:02,410 Oh. 517 00:37:02,410 --> 00:37:04,420 Purtroppo, non c'è nessun dispositivo in esecuzione. 518 00:37:04,420 --> 00:37:06,040 Proviamo e riavviare il mio emulatore. 519 00:37:06,040 --> 00:37:56,335 520 00:37:56,335 --> 00:37:57,880 Ah, ci andiamo. 521 00:37:57,880 --> 00:37:59,050 Sembrava. 522 00:37:59,050 --> 00:38:00,070 OK. 523 00:38:00,070 --> 00:38:06,010 Quindi ho intenzione di lanciare il mio app sul mio emulatore Android. 524 00:38:06,010 --> 00:38:08,330 E noi abbiamo le cose che abbiamo definito solo ora. 525 00:38:08,330 --> 00:38:13,620 Così abbiamo l'etichetta, la visualizzazione del testo, il campo di testo, e poi il tasto. 526 00:38:13,620 --> 00:38:18,449 Quindi ho intenzione di ingresso il mio nome proprio qui, 527 00:38:18,449 --> 00:38:19,990 e ce ne andiamo, è cambiato il testo. 528 00:38:19,990 --> 00:38:25,980 Quindi, se si digita in Foo, è cambierà a Foo. 529 00:38:25,980 --> 00:38:29,040 >> E se clicco il Pulsante Attiva, che 530 00:38:29,040 --> 00:38:34,560 abbiamo collegato a lanciare in realtà un attività di nuovo, speriamo che questo funzionerà, 531 00:38:34,560 --> 00:38:35,190 ci andiamo. 532 00:38:35,190 --> 00:38:36,760 E lancia la nuova attività. 533 00:38:36,760 --> 00:38:40,001 534 00:38:40,001 --> 00:38:47,010 Per tornare indietro, possiamo premere il pulsante Indietro proprio qui. 535 00:38:47,010 --> 00:38:47,510 O no. 536 00:38:47,510 --> 00:38:49,610 Oh, ci andiamo. 537 00:38:49,610 --> 00:38:51,450 Oops. 538 00:38:51,450 --> 00:38:52,611 Che è stato male. 539 00:38:52,611 --> 00:38:53,890 OK. 540 00:38:53,890 --> 00:38:58,550 >> Quindi, ora che abbiamo implementato alcune cose di base in Android, 541 00:38:58,550 --> 00:39:04,800 possiamo cercare di fare un po ' roba più complicato. 542 00:39:04,800 --> 00:39:10,070 Quindi, prima, cerchiamo di passare messaggi da un'attività all'altra. 543 00:39:10,070 --> 00:39:13,760 Quindi diciamo che vogliamo passare un nome dalla principale attività 544 00:39:13,760 --> 00:39:16,710 all'attività cat. 545 00:39:16,710 --> 00:39:19,740 E un nome sarebbe recuperato da questo nameText. 546 00:39:19,740 --> 00:39:23,510 547 00:39:23,510 --> 00:39:30,160 >> OK, quindi prima, che andremo a recuperare il nome proprio qui. 548 00:39:30,160 --> 00:39:32,230 String name uguale nameText.getText (). toString (). 549 00:39:32,230 --> 00:39:39,588 550 00:39:39,588 --> 00:39:41,420 OK. 551 00:39:41,420 --> 00:39:52,260 E poi possiamo usare questa cosa chiamato intent.putExtra (nome), 552 00:39:52,260 --> 00:39:57,650 e poi effettivamente vuole anche una chiave per questo campo aggiuntivo. 553 00:39:57,650 --> 00:40:05,520 >> Quindi ho intenzione di definire un nuovo chiave, che chiameremo EXTRA_NAME. 554 00:40:05,520 --> 00:40:11,570 555 00:40:11,570 --> 00:40:17,160 Quindi ho intenzione di utilizzare questo chiave, CatActivity.EXTRA_NAME, 556 00:40:17,160 --> 00:40:21,010 e poi passare il nome stesso. 557 00:40:21,010 --> 00:40:26,370 >> OK, così ora possiamo effettivamente recuperare questo all'interno del nuovo CatActivity. 558 00:40:26,370 --> 00:40:38,650 Per fare questo, dobbiamo usare il intento metodo equals getIntent. 559 00:40:38,650 --> 00:40:41,360 Così ora sta andando recuperare l'intento che 560 00:40:41,360 --> 00:40:45,070 è stato utilizzato per chiamare questa nuova attività. 561 00:40:45,070 --> 00:40:50,340 Quindi, se si vuole recuperare la stringa che abbiamo effettivamente messo dentro l'intento, 562 00:40:50,340 --> 00:41:00,255 è possibile utilizzare un intent.getStringExtra e poi passare nella stessa chiave, 563 00:41:00,255 --> 00:41:04,080 564 00:41:04,080 --> 00:41:10,570 >> OK, ora diciamo che voi vogliono cambiare questo campo. 565 00:41:10,570 --> 00:41:14,422 566 00:41:14,422 --> 00:41:15,630 Modificare questo campo qui. 567 00:41:15,630 --> 00:41:18,400 568 00:41:18,400 --> 00:41:20,900 E facciamo il carattere dimensioni di questo campo più ampio. 569 00:41:20,900 --> 00:41:26,480 Quindi diciamo che io voglio che questo sia 20 DP. 570 00:41:26,480 --> 00:41:28,340 OK. 571 00:41:28,340 --> 00:41:32,070 E ho intenzione di aggiungere un ID per questo TextView, 572 00:41:32,070 --> 00:41:35,690 e ho intenzione di chiamarlo text_cat. 573 00:41:35,690 --> 00:41:41,170 574 00:41:41,170 --> 00:41:41,670 Scusi. 575 00:41:41,670 --> 00:41:45,630 576 00:41:45,630 --> 00:41:51,310 >> E di nuovo in CatActivity, accordo stesso come prima. 577 00:41:51,310 --> 00:41:55,090 Stiamo andando a definire alcuni campi. 578 00:41:55,090 --> 00:41:58,890 Qui sarà un catText TextView. 579 00:41:58,890 --> 00:42:03,500 580 00:42:03,500 --> 00:42:11,750 E poi catText uguale TextView findViewById, r.ID.text_cat. 581 00:42:11,750 --> 00:42:17,230 582 00:42:17,230 --> 00:42:18,780 OK. 583 00:42:18,780 --> 00:42:24,100 E poi di nuovo qui, io sono andando a impostare il giusto testo 584 00:42:24,100 --> 00:42:28,120 dopo recuperiamo per dal intento. 585 00:42:28,120 --> 00:42:30,207 586 00:42:30,207 --> 00:42:30,790 setText (nome). 587 00:42:30,790 --> 00:42:36,020 588 00:42:36,020 --> 00:42:38,056 >> OK, quindi cerchiamo di provare che fuori. 589 00:42:38,056 --> 00:42:39,070 Fare clic sul pulsante Play. 590 00:42:39,070 --> 00:42:41,830 591 00:42:41,830 --> 00:42:43,445 Ho intenzione di utilizzare lo stesso dispositivo. 592 00:42:43,445 --> 00:42:47,770 593 00:42:47,770 --> 00:42:50,380 Torna qui. 594 00:42:50,380 --> 00:42:57,030 Quindi diciamo che non ho input-- se non si specifica alcun nome, 595 00:42:57,030 --> 00:42:59,330 vediamo cosa succede. 596 00:42:59,330 --> 00:43:02,150 Così ora non c'è nulla che appare. 597 00:43:02,150 --> 00:43:10,390 Così torniamo indietro e inserire il nostro nome, è solo andando a dire Fred. 598 00:43:10,390 --> 00:43:14,670 Così possiamo davvero passare messaggi da un'attività all'altra. 599 00:43:14,670 --> 00:43:15,170 OK. 600 00:43:15,170 --> 00:43:18,040 601 00:43:18,040 --> 00:43:22,590 >> Quindi c'è un sacco di altri punti di vista che è possibile utilizzare in Android. 602 00:43:22,590 --> 00:43:29,740 Così ora abbiamo barre di avanzamento, abbiamo visualizzazioni elenco, abbiamo i pulsanti a levetta, 603 00:43:29,740 --> 00:43:33,950 e se si voleva davvero per saperne di più su questo, 604 00:43:33,950 --> 00:43:36,790 si può effettivamente visitare queste pagine web. 605 00:43:36,790 --> 00:43:41,160 Essi contengono molte risorse differenti. 606 00:43:41,160 --> 00:43:45,230 Così, per esempio, il API guidare qui in realtà 607 00:43:45,230 --> 00:43:50,885 ti dà alcuni esempi di codice per alcune funzioni nella libreria di Android. 608 00:43:50,885 --> 00:43:53,692 609 00:43:53,692 --> 00:43:57,560 >> E un paio di tutorial che ho trovato utile quando si impara su Android. 610 00:43:57,560 --> 00:44:06,890 Questo è il tutorial ufficiale in sé, e anche questo altro tutorial di qui. 611 00:44:06,890 --> 00:44:10,200 E, infine, si può effettivamente utilizzare le librerie diverse 612 00:44:10,200 --> 00:44:12,710 per l'applicazione Android. 613 00:44:12,710 --> 00:44:16,370 Ora, questi in realtà si estendono la funzionalità della vostra applicazione 614 00:44:16,370 --> 00:44:19,665 senza dover davvero scrivere molto codice. 615 00:44:19,665 --> 00:44:21,540 Il rovescio della medaglia è, Naturalmente, che in realtà 616 00:44:21,540 --> 00:44:23,890 imparare le librerie da soli. 617 00:44:23,890 --> 00:44:29,170 >> Così, per esempio, se si vuole fare all'uso di tecnologia cloud Dropbox, 618 00:44:29,170 --> 00:44:33,400 quindi è possibile utilizzare l'API Dropbox. 619 00:44:33,400 --> 00:44:36,530 Simile con l'API di Facebook. 620 00:44:36,530 --> 00:44:40,490 E poi c'è in realtà un paio di diverse altre librerie vari 621 00:44:40,490 --> 00:44:41,700 che è possibile utilizzare. 622 00:44:41,700 --> 00:44:45,560 Se stai cercando di ottenere, come, JSON da un certo sito web, 623 00:44:45,560 --> 00:44:49,560 allora penso che la Google JSON biblioteca sarebbe piuttosto utile. 624 00:44:49,560 --> 00:44:56,200 Così ora, che converte un JSON testo formattato in un oggetto Java, 625 00:44:56,200 --> 00:44:58,600 e viceversa. 626 00:44:58,600 --> 00:45:01,110 >> E poi c'è Retrofit e Picasso. 627 00:45:01,110 --> 00:45:07,240 E questo è, se si vuole use-- questo è, se si sta utilizzando un API di riposo. 628 00:45:07,240 --> 00:45:13,300 E Picasso, se si sta utilizzando immagini per l'applicazione Android. 629 00:45:13,300 --> 00:45:14,350 Bene. 630 00:45:14,350 --> 00:45:18,030 Grazie mille, e divertirsi codifica. 631 00:45:18,030 --> 00:45:19,723