1 00:00:00,000 --> 00:00:09,620 2 00:00:09,620 --> 00:00:11,550 >> FRED Widjaja: Bine. 3 00:00:11,550 --> 00:00:12,600 Bună, toată lumea. 4 00:00:12,600 --> 00:00:19,450 Vă mulțumim vă urez bun venit pentru aderarea la mine la acest seminar. 5 00:00:19,450 --> 00:00:23,130 Așa că astăzi vom vorbi despre cum să dezvolte aplicații pentru Android, 6 00:00:23,130 --> 00:00:26,870 și în special, vom fie cu ajutorul Android Studio în ordine 7 00:00:26,870 --> 00:00:29,490 pentru a dezvolta aplicații noastre. 8 00:00:29,490 --> 00:00:32,150 >> Deci, cum voi toți știți. 9 00:00:32,150 --> 00:00:36,750 Android folosește Java, și așa vom fi trece printr-o scurtă introducere 10 00:00:36,750 --> 00:00:39,860 pe Java sine. 11 00:00:39,860 --> 00:00:45,830 Deci, eu stiu ca multi dintre voi au doar Programarea experiență în C. Deci, 12 00:00:45,830 --> 00:00:48,760 asta e cu totul bine, și asta e pentru că Java este foarte, foarte 13 00:00:48,760 --> 00:00:53,750 similar cu C, cu mici diferențe. 14 00:00:53,750 --> 00:01:00,040 >> Astfel, tipurile de Java sunt fixat în numărul de octeți. 15 00:01:00,040 --> 00:01:04,290 Deci, în C, avem pantaloni scurți și lungi, și ei 16 00:01:04,290 --> 00:01:07,880 diferă ca număr de biți de la mașină la mașină. 17 00:01:07,880 --> 00:01:10,990 În Java, este deja stabilit ca standard. 18 00:01:10,990 --> 00:01:16,320 Deci, bytes au opt biți, pantaloni scurți au 16 biți, și așa mai departe și așa mai departe. 19 00:01:16,320 --> 00:01:22,780 Avem, de asemenea caractere, boolean, și, de asemenea, plută si duble. 20 00:01:22,780 --> 00:01:27,150 Deci, modul în care programarea în Java, este foarte asemănător. 21 00:01:27,150 --> 00:01:30,150 Deci, de exemplu, avem pentru bucle și în timp ce bucle, 22 00:01:30,150 --> 00:01:39,090 și, dacă declarațiile altceva exact la fel ca tine ar face în C. 23 00:01:39,090 --> 00:01:45,390 >> Bine, deci chestia special cu privire la Java este că acesta este orientat obiect. 24 00:01:45,390 --> 00:01:46,560 Acum, ce sunt obiecte? 25 00:01:46,560 --> 00:01:49,220 Deci, dacă te uiți la lucruri din jurul vostru, veți 26 00:01:49,220 --> 00:01:54,540 observăm că fiecare obiect din lumea reală are două caracteristici comune. 27 00:01:54,540 --> 00:01:59,100 Și asta este că ei au stat și ei au un fel de comportament. 28 00:01:59,100 --> 00:02:02,510 >> Deci, de exemplu, câini ar fi state care 29 00:02:02,510 --> 00:02:07,360 sunt nume, culoare, rasa, poate în cazul în care câinele este foame sau nu. 30 00:02:07,360 --> 00:02:12,490 Și unele comportamente care câinii ar fi ar fi latratul, sau dând din coadă, 31 00:02:12,490 --> 00:02:14,340 sau preluarea o pasă. 32 00:02:14,340 --> 00:02:18,120 Deci, putem aplica, de asemenea, acest la obiecte neînsuflețite. 33 00:02:18,120 --> 00:02:23,130 Deci, de exemplu, mașinile, au modelul, anul, viteza max, 34 00:02:23,130 --> 00:02:25,500 și așa mai departe și așa mai departe. 35 00:02:25,500 --> 00:02:27,450 Și ei au un comportament. 36 00:02:27,450 --> 00:02:33,050 De exemplu, accelerarea sau frânare, sau merge în sens invers. 37 00:02:33,050 --> 00:02:38,910 >> Deci, Java obiecte încercare de a modela acest lucru prin câmpuri și metode. 38 00:02:38,910 --> 00:02:45,050 Deci, câmpuri sunt statele care obiectul Java poate avea, 39 00:02:45,050 --> 00:02:51,440 în timp ce metodă ar reprezenta comportament care un obiect Java ar trebui. 40 00:02:51,440 --> 00:02:53,770 Așa că atunci când spun metode și domenii, eu într-adevăr 41 00:02:53,770 --> 00:02:56,470 doar înseamnă variabile și funcții. 42 00:02:56,470 --> 00:03:02,120 Acestea sunt exact la fel, cu excepția că acestea se aplică la un anumit obiect. 43 00:03:02,120 --> 00:03:04,880 >> OK, deci de a trece la clase. 44 00:03:04,880 --> 00:03:08,950 Clase Java sunt similare planuri pentru un obiect. 45 00:03:08,950 --> 00:03:12,270 Ei vă spun ce metode ea are, ce domenii are, 46 00:03:12,270 --> 00:03:17,750 și chiar și aici, avem ceva numite modificatori de acces care 47 00:03:17,750 --> 00:03:19,570 vom ajunge la o vreme. 48 00:03:19,570 --> 00:03:26,930 Deci, pentru a declara o clasa Java, e foarte asemănătoare în sintaxă la un struct C. 49 00:03:26,930 --> 00:03:34,350 >> Aici începe cu clasa Car publică, și apoi avem o acoladă deschisă și apoi 50 00:03:34,350 --> 00:03:38,800 un numar de domenii care vrei obiect să aibă. 51 00:03:38,800 --> 00:03:44,650 Și apoi aici avem unele metode, și avem, de asemenea, un constructor obiect. 52 00:03:44,650 --> 00:03:48,690 Acum, ceea ce acest constructor obiect Are este spune obiect, 53 00:03:48,690 --> 00:03:53,370 OK, vreau să inițializa această opoziție cu un fel de domenii. 54 00:03:53,370 --> 00:03:58,310 >> Deci, aici, vrem fiecare masina pentru a avea un model și un an. 55 00:03:58,310 --> 00:04:01,480 Deci, avem un constructor doar specific 56 00:04:01,480 --> 00:04:06,560 pentru modelul și anul, și acest lucru ar setați câmpul de model 57 00:04:06,560 --> 00:04:12,510 la o anumită valoare, și câmpul an, de asemenea. 58 00:04:12,510 --> 00:04:16,019 >> Acum, despre accesul modificatori vorbeam despre. 59 00:04:16,019 --> 00:04:21,560 Aici avem publicului și modificatorii de acces privat. 60 00:04:21,560 --> 00:04:27,730 Deci, vă puteți gândi la acest lucru ca rwx în directoarele. 61 00:04:27,730 --> 00:04:33,020 Deci, acestea permit anumite persoane pentru a citi, și au acces 62 00:04:33,020 --> 00:04:35,150 la aceste domenii și metode. 63 00:04:35,150 --> 00:04:39,470 >> Deci, dacă eu spun că modelul și an și viteza sunt private, 64 00:04:39,470 --> 00:04:46,360 ceea ce înseamnă că alte obiecte nu pot încerca să acceseze domenii acestui obiectului 65 00:04:46,360 --> 00:04:47,760 există privat. 66 00:04:47,760 --> 00:04:52,280 Dar când am setat accesul modificator să fie publice, 67 00:04:52,280 --> 00:04:57,630 acum Asta înseamnă că alte obiecte sunt libere de a accesa și chiar 68 00:04:57,630 --> 00:05:00,770 folosit metodele care sunt definite aici. 69 00:05:00,770 --> 00:05:04,160 70 00:05:04,160 --> 00:05:09,210 >> Deci, aceasta este de bază Obiect de mașini pe care am. 71 00:05:09,210 --> 00:05:15,350 Avem accelereze, rupe, și metode getSpeed. 72 00:05:15,350 --> 00:05:20,180 În acest punct, este clar pentru toată lumea pe Obiecte Java și cum să le declare? 73 00:05:20,180 --> 00:05:22,710 Se răcește, bine. 74 00:05:22,710 --> 00:05:29,120 Deci, dacă doriți să utilizați Java obiecții într-un program în sine, 75 00:05:29,120 --> 00:05:35,720 atunci putem folosi acest nou constructor auto. 76 00:05:35,720 --> 00:05:41,250 Deci, aici suntem spunând că vrea să declare un obiect nou, care este de tip masina. 77 00:05:41,250 --> 00:05:44,120 Și aici e aplicării modelul și anul, 78 00:05:44,120 --> 00:05:51,110 care le-am definit în acest obiect aici. 79 00:05:51,110 --> 00:05:55,150 >> Deci, aceasta este, de asemenea, un alt obiecții, dacă observați. 80 00:05:55,150 --> 00:05:59,820 E o clasă pentru programul principal în sine. 81 00:05:59,820 --> 00:06:04,660 Și avem această PSVM, sau publică static void main, funcție, 82 00:06:04,660 --> 00:06:08,200 și ei de pornire punctul de programul tău, 83 00:06:08,200 --> 00:06:12,320 similar cu principalele funcție în programul C. 84 00:06:12,320 --> 00:06:16,870 Aici, putem accesa și folosi funcțiile obiectului 85 00:06:16,870 --> 00:06:21,480 folosind punctul și apoi Numele funcție notație. 86 00:06:21,480 --> 00:06:26,130 Și putem specifica chiar anumite argumente sau parametri 87 00:06:26,130 --> 00:06:28,260 pentru această funcție. 88 00:06:28,260 --> 00:06:32,410 >> OK, deci acum trece la moștenire. 89 00:06:32,410 --> 00:06:37,670 Deci, obiecte din lumea reală poate au aceleași caracteristici. 90 00:06:37,670 --> 00:06:42,490 Deci, de exemplu, există diferite tipuri de biciclete. 91 00:06:42,490 --> 00:06:47,280 De exemplu, mountain bike, biciclete de oraș, sau biciclete tandem. 92 00:06:47,280 --> 00:06:50,320 Deci, ei au această comun caracteristică de a fi o bicicletă. 93 00:06:50,320 --> 00:06:55,740 >> Și așa biciclete pot avea două roți și ele pot avea un ghidon, poate chiar 94 00:06:55,740 --> 00:06:58,750 o lumină coada sau ceva de genul asta. 95 00:06:58,750 --> 00:07:04,930 Deci, Java ne dă acest puterea de a reprezenta obiecte 96 00:07:04,930 --> 00:07:10,170 care au anumite comun Caracteristicile prin moștenire. 97 00:07:10,170 --> 00:07:18,370 Acum, ce moștenire nu, nu trece pe domenii și metodele unui obiect 98 00:07:18,370 --> 00:07:20,920 pe un obiect copil. 99 00:07:20,920 --> 00:07:24,080 >> Deci, de exemplu, dacă îmi au o mașină, și are 100 00:07:24,080 --> 00:07:28,570 starea de a avea patru roți și o roată de direcție, 101 00:07:28,570 --> 00:07:31,120 atunci putem trece acest lucru pe la anumite tipuri de mașini. 102 00:07:31,120 --> 00:07:35,470 De exemplu, avem sedan, masina sport, precum și un SUV. 103 00:07:35,470 --> 00:07:38,940 Acum, aceste trei diferite tipurile de autoturisme ar fi încă 104 00:07:38,940 --> 00:07:42,050 au patru roți și o volan, dar atunci ei 105 00:07:42,050 --> 00:07:43,900 pot avea anumite caracteristici speciale, 106 00:07:43,900 --> 00:07:49,980 cum ar fi avand cinci locuri și o pentru un sedan, de exemplu. 107 00:07:49,980 --> 00:07:58,510 >> Deci, pentru a face uz de această moștenire facilitate, vom folosi acest cuvânt cheie se extinde. 108 00:07:58,510 --> 00:08:04,570 Deci, amintiți-vă înapoi la mașină obiecta că am definit anterior. 109 00:08:04,570 --> 00:08:06,730 Acum am defini un obiect Sedan. 110 00:08:06,730 --> 00:08:09,930 111 00:08:09,930 --> 00:08:17,850 Deci, acest obiect Sedan ar avea aceleași domenii si functii, sau metode, 112 00:08:17,850 --> 00:08:19,660 că mașina ar avea. 113 00:08:19,660 --> 00:08:24,830 Dar atunci, aici pot specifica anumite funcții suplimentare, 114 00:08:24,830 --> 00:08:26,830 de exemplu, setul Numărul de pasageri 115 00:08:26,830 --> 00:08:29,150 și obține numărul de pasageri. 116 00:08:29,150 --> 00:08:32,000 >> Aici, s-ar putea, de asemenea, observați că putem trece peste metode, 117 00:08:32,000 --> 00:08:34,840 și asta înseamnă că suntem doar înlocuind comportamentul 118 00:08:34,840 --> 00:08:38,549 să acționeze diferit în anumite cazuri. 119 00:08:38,549 --> 00:08:42,710 Astfel, de exemplu, vreau să stabilit o viteză maximă de mașina noastră. 120 00:08:42,710 --> 00:08:49,840 Și pentru a face asta, eu verifica dacă aceasta Viteza ar merge pe viteza max. 121 00:08:49,840 --> 00:08:54,180 Și dacă nu, atunci eu numesc clasa super-"metodă accelera. 122 00:08:54,180 --> 00:09:00,350 Deci, aceasta este super.accelerate () apeluri clasa super-"accelera metodă. 123 00:09:00,350 --> 00:09:05,390 124 00:09:05,390 --> 00:09:09,940 >> În cele din urmă, vom vorbesc despre interfețe. 125 00:09:09,940 --> 00:09:18,090 Deci, interfețe sunt o modalitate de a expune numai anumite metode de lumea exterioară. 126 00:09:18,090 --> 00:09:19,980 Deci sunt ca un tabel de conținut, și tu 127 00:09:19,980 --> 00:09:25,900 pot gândi la ele ca la fel ca fișierele header C, doar 128 00:09:25,900 --> 00:09:33,680 metode cum ar fi cu organismele goale, și ei specifica ce obiect sau clasa 129 00:09:33,680 --> 00:09:37,710 trebuie să aibă, sau ce metode obiect sau clasa trebuie să aibă. 130 00:09:37,710 --> 00:09:41,360 >> Deci, de exemplu, dacă îmi au o interfață biciclete, 131 00:09:41,360 --> 00:09:46,530 și are trei metode diferite, și aici, dacă am pune în aplicare această interfață, 132 00:09:46,530 --> 00:09:49,864 atunci înseamnă că această biciclete ar trebui să pună în aplicare aceeași trei 133 00:09:49,864 --> 00:09:51,530 metode care am definite în interfața. 134 00:09:51,530 --> 00:09:57,076 135 00:09:57,076 --> 00:10:01,390 >> Până la acest moment, orice alte întrebări? 136 00:10:01,390 --> 00:10:03,240 Bine, rece. 137 00:10:03,240 --> 00:10:07,770 Deci asta a fost o foarte scurtă și tutorial rapid pe Java. 138 00:10:07,770 --> 00:10:14,560 Există mult mai multe caracteristici și subiecte pe Java, care poti sa te duci de fapt prin. 139 00:10:14,560 --> 00:10:17,690 De exemplu, există generice, nu e tipuri de date, 140 00:10:17,690 --> 00:10:19,780 nu e chiar ENUM și chestii. 141 00:10:19,780 --> 00:10:23,400 Deci, dacă doriți să aflați mai multe despre asta, nu urmați aceste link-uri, 142 00:10:23,400 --> 00:10:25,840 și te vor învăța mai multe despre ele. 143 00:10:25,840 --> 00:10:30,220 >> OK, deci, să trecem mai departe la carne efectivă a seminarului, 144 00:10:30,220 --> 00:10:34,080 și care este de fapt Programarea Android. 145 00:10:34,080 --> 00:10:37,660 Deci, înainte de a ne de fapt ajunge la programare, 146 00:10:37,660 --> 00:10:40,800 Vreau să vorbesc despre unele jargon. 147 00:10:40,800 --> 00:10:46,980 Deci, o activitate este Mod Android de a spune 148 00:10:46,980 --> 00:10:52,870 este un singur ecran în cadrul aplicației. 149 00:10:52,870 --> 00:11:01,100 >> Astfel, de exemplu, dacă aveți un Gmail app, avem activitatea vizualizare e-mailuri. 150 00:11:01,100 --> 00:11:02,990 Și apoi, dacă faceți clic pe un anumit e-mail, că 151 00:11:02,990 --> 00:11:08,850 va arăta o altă activitate în care este o activitate vedere de e-mail. 152 00:11:08,850 --> 00:11:14,740 Și apoi avem, de asemenea Compune activitate, sau activitatea de editare de mesaje. 153 00:11:14,740 --> 00:11:18,380 Și așa activități sunt în general, doar un singur ecran 154 00:11:18,380 --> 00:11:21,800 în cadrul aplicației în sine. 155 00:11:21,800 --> 00:11:28,410 >> Acum, opiniile sunt componentele care fac de sus a ecranului, sau de activitatea în sine. 156 00:11:28,410 --> 00:11:34,430 Așa că au trage un anumit lucru în ecran. 157 00:11:34,430 --> 00:11:37,840 Deci, de exemplu, ar putea fi o câmp de text, ar putea fi o etichetă, 158 00:11:37,840 --> 00:11:40,090 ar putea fi o cutie verificări. 159 00:11:40,090 --> 00:11:44,110 Deci, este de multe tipuri diferite de opinii. 160 00:11:44,110 --> 00:11:47,780 Deci, acum avem intenții, și că este un mesaj 161 00:11:47,780 --> 00:11:51,070 care este trecut pe la o altă activitate. 162 00:11:51,070 --> 00:11:58,997 Și ei conțin informații cu privire la ce vrei această activitate pentru a executa. 163 00:11:58,997 --> 00:12:00,830 În cele din urmă, avem fișier manifest, și că 164 00:12:00,830 --> 00:12:07,900 este un fișier XML care oferă telefonul tău toate informatiile despre aplicația. 165 00:12:07,900 --> 00:12:12,230 Deci asta e includ versiunea și activitățile pe care le va avea. 166 00:12:12,230 --> 00:12:17,480 >> OK, deci sa incepem. 167 00:12:17,480 --> 00:12:21,460 Deci, vom fi utilizarea Android Studio. 168 00:12:21,460 --> 00:12:26,960 Deci, dacă voi avea această deja instalat, nu ezitați să urmeze de-a lungul. 169 00:12:26,960 --> 00:12:29,790 Vom încerca și începe de la zero. 170 00:12:29,790 --> 00:12:35,260 Și așa am de gând să încerc și de a crea un nou proiect. 171 00:12:35,260 --> 00:12:40,370 Și am de gând să sun proiectul meu Android 101. 172 00:12:40,370 --> 00:12:45,770 Și aici am pus numele proiect în domeniul de aplicare numele. 173 00:12:45,770 --> 00:12:48,500 >> Compania domeniu, tu nu faci într-adevăr trebuie să vă faceți griji despre asta. 174 00:12:48,500 --> 00:12:57,000 Acesta este doar cât de Android identifică cererea dumneavoastră. 175 00:12:57,000 --> 00:13:01,350 Deci, aveți un nume de domeniu, aveți posibilitatea să tastați în numele dvs. de domeniu interiorul acolo. 176 00:13:01,350 --> 00:13:05,370 Dar dacă nu, vă puteți simți liber să tastați în tot ce vrei. 177 00:13:05,370 --> 00:13:08,226 Deci, aici am tip în frederickw.com. 178 00:13:08,226 --> 00:13:14,660 >> Și apoi, în cele din urmă, am ales în cazul în care Vreau să stocați proiectul meu în. 179 00:13:14,660 --> 00:13:21,080 Și am de gând să aleagă doar desktop-ul meu. 180 00:13:21,080 --> 00:13:28,670 Astfel încât utilizatorii, Frederick Widjaja, și Desktop. 181 00:13:28,670 --> 00:13:31,340 OK. 182 00:13:31,340 --> 00:13:34,090 Apoi faceți clic pe Următorul. 183 00:13:34,090 --> 00:13:39,630 Aici, am de gând să alegeți API minim urmează să fie sprijinite. 184 00:13:39,630 --> 00:13:44,910 Deci, în acest caz, sunt de gând să alegeți API 15. 185 00:13:44,910 --> 00:13:51,530 Și e bine dacă tu de fapt doar alege 4.4 care este cea mai recentă API. 186 00:13:51,530 --> 00:13:53,560 Sau 5, de fapt. 187 00:13:53,560 --> 00:13:57,714 Dar atunci trebuie doar să vă faceți griji cu privire la care telefoanele sunteți cu adevărat de sprijin, 188 00:13:57,714 --> 00:13:59,130 și care telefoanele pe care o vizați. 189 00:13:59,130 --> 00:14:04,230 190 00:14:04,230 --> 00:14:06,260 Faceți clic pe Înainte. 191 00:14:06,260 --> 00:14:09,780 >> OK, asa ca am ajuns la acest ecran, iar noi suntem doar 192 00:14:09,780 --> 00:14:15,110 de gând să utilizeze crea un activitate prin asta. 193 00:14:15,110 --> 00:14:19,890 Așa că am de gând să faceți clic gol activitate și apoi pe Următorul. 194 00:14:19,890 --> 00:14:23,110 Vom numi principal activitate, cred că e bine. 195 00:14:23,110 --> 00:14:27,800 Doar de gând să-l numesc, apăsați Finish chiar aici. 196 00:14:27,800 --> 00:14:36,250 Așteptați să se încarce, și acolo vom merge. 197 00:14:36,250 --> 00:14:40,600 >> Deci, aici am observat trei dosare diferite. 198 00:14:40,600 --> 00:14:44,290 Avem dosarul manifest care conține manifestă nostru. 199 00:14:44,290 --> 00:14:48,360 Dacă îl deschideți, vom vedea pachetul nostru. 200 00:14:48,360 --> 00:14:54,000 Sau identifică cum Android aplicația 201 00:14:54,000 --> 00:14:58,990 și apoi avem această tag-ul de aplicare, care 202 00:14:58,990 --> 00:15:05,420 conține titlul de aplicare noastre precum și icoana de aplicare. 203 00:15:05,420 --> 00:15:08,050 204 00:15:08,050 --> 00:15:11,950 >> Putem executa de fapt acest lucru drept cerere. 205 00:15:11,950 --> 00:15:14,600 Deci, de ce să nu încercăm și facem asta? 206 00:15:14,600 --> 00:15:16,310 Am de gând să utilizeze Genymotion. 207 00:15:16,310 --> 00:15:22,150 Dacă te-a adus propriul telefon, puteți link-l și rulați-l, dacă doriți să. 208 00:15:22,150 --> 00:15:31,213 Dar eu sunt doar de gând să utilizeze un emulator, iar voi începe acest lucru. 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 Ei bine, eu cred că e va dura un timp, 212 00:15:42,780 --> 00:15:49,580 deci cred că vom primi doar drept în explicarea mai multe despre acest lucru. 213 00:15:49,580 --> 00:15:56,200 Deci, aici avem directorul Java, sau în cazul în care fișierele sursă sunt conținute. 214 00:15:56,200 --> 00:16:02,500 Aici avem domeniul principal de activitate în sine. 215 00:16:02,500 --> 00:16:07,120 Puteti vedea ca extinde clase de activitate. 216 00:16:07,120 --> 00:16:12,750 Deci, activitatea noastră principală este un ecran care va fi în cererea noastră. 217 00:16:12,750 --> 00:16:21,790 Și apoi aici se observă că un număr de funcții sunt generate automat pentru noi. 218 00:16:21,790 --> 00:16:26,037 Avem funcția de onCreate, și care se va numi whenever-- 219 00:16:26,037 --> 00:16:27,870 STUDENT: Nu te supara ceea ce face textul mai mare? 220 00:16:27,870 --> 00:16:28,940 FRED Widjaja: OK, sigur. 221 00:16:28,940 --> 00:16:38,380 222 00:16:38,380 --> 00:16:41,640 Voi încerca și de a crește dimensiunea fontului. 223 00:16:41,640 --> 00:17:03,570 224 00:17:03,570 --> 00:17:06,490 Gândiți-vă că ar trebui să fie bun. 225 00:17:06,490 --> 00:17:07,020 Asta bine? 226 00:17:07,020 --> 00:17:09,480 >> STUDENT: Doar un pic mai mare, cum ar fi 20 sau ceva. 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, bine. 231 00:17:20,990 --> 00:17:24,740 Deci, aici avem onCreate metodă care ar 232 00:17:24,740 --> 00:17:29,750 fi numit atunci când activitatea noastră este creat în [? arată?]. 233 00:17:29,750 --> 00:17:32,100 Noi avem onCreateOptionsMenu, și vom 234 00:17:32,100 --> 00:17:38,370 a se vedea că nu există de fapt un bar de acțiune, și apoi 235 00:17:38,370 --> 00:17:42,920 putem adăuga anumite elemente de meniu pe ea. 236 00:17:42,920 --> 00:17:45,710 Și apoi aici avem onOptionsItemSelected. 237 00:17:45,710 --> 00:17:52,210 Deci, aceasta este ca un ascultător eveniment, așa ori de câte ori o opțiune în barul nostru de acțiune 238 00:17:52,210 --> 00:17:58,450 este apasat, aceasta funcție va fi numit, 239 00:17:58,450 --> 00:18:01,270 și va fi trecut cu un sigur element care a fost făcut clic. 240 00:18:01,270 --> 00:18:05,670 241 00:18:05,670 --> 00:18:11,576 >> OK, am de gând să see-- care nu funcționează bine. 242 00:18:11,576 --> 00:18:13,028 Să încercăm și să înceapă. 243 00:18:13,028 --> 00:18:16,416 244 00:18:16,416 --> 00:18:17,384 Aoleu. 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 Acest lucru este îngrijorător. 248 00:18:24,320 --> 00:18:39,390 249 00:18:39,390 --> 00:18:41,500 OK, deci oricum. 250 00:18:41,500 --> 00:18:44,940 Aici avem structura pentru activitatea noastră în sine. 251 00:18:44,940 --> 00:18:50,150 Aceasta este activitatea noastră principală, și aici observăm că există bara de acțiuni. 252 00:18:50,150 --> 00:18:54,460 Și apoi avem această salut eticheta lume, și putem efectiv 253 00:18:54,460 --> 00:18:57,830 edita textul chiar aici. 254 00:18:57,830 --> 00:19:03,260 Dacă te duci și de parcurgere până la Hello World, 255 00:19:03,260 --> 00:19:06,360 putem schimba la orice vrem. 256 00:19:06,360 --> 00:19:10,070 De exemplu, ar putea fi, Bună acolo. 257 00:19:10,070 --> 00:19:12,820 Bine ai venit. 258 00:19:12,820 --> 00:19:14,345 Și acolo mergem, se schimbă. 259 00:19:14,345 --> 00:19:20,380 260 00:19:20,380 --> 00:19:20,880 Aoleu. 261 00:19:20,880 --> 00:19:24,310 262 00:19:24,310 --> 00:19:26,010 Acest stil nu funcționează. 263 00:19:26,010 --> 00:19:28,320 OK, asta e îngrijorătoare. 264 00:19:28,320 --> 00:19:32,000 OK, oricum, ne putem muta pe fără asta. 265 00:19:32,000 --> 00:19:38,560 Deci, pentru moment, să încercăm și face unele lucruri foarte extinsă. 266 00:19:38,560 --> 00:19:42,450 Deci, aici vom avea o etichetă, iar apoi suntem 267 00:19:42,450 --> 00:19:47,005 va avea un text view-- îmi pare rău, nu o vizualizare text, 268 00:19:47,005 --> 00:19:49,310 vom avea un text de editare. 269 00:19:49,310 --> 00:19:53,900 Și aceasta este o componentă pentru tine să tastați și alte chestii. 270 00:19:53,900 --> 00:19:56,590 271 00:19:56,590 --> 00:20:07,240 Deci, avem un text simplu, și apoi ne-am adauga pe interfata noastra. 272 00:20:07,240 --> 00:20:13,520 >> Aici, vreau să adăugați și o marjă la partea superioară, astfel încât se pare mai frumos. 273 00:20:13,520 --> 00:20:19,190 Deci, vom trece la proprietăți, iar apoi la marginea de sus, 274 00:20:19,190 --> 00:20:23,120 vom adăuga în 20 de PD. 275 00:20:23,120 --> 00:20:28,170 Deci, acum, PD sunt doar o unitate de măsură în Android, 276 00:20:28,170 --> 00:20:31,240 și ei stau pentru densitate pixeli independente. 277 00:20:31,240 --> 00:20:35,380 Deci, după cum probabil știți, Android, nu e multe tipuri diferite de ecrane 278 00:20:35,380 --> 00:20:38,410 și apoi le-au densități diferite ecran. 279 00:20:38,410 --> 00:20:42,584 Deci, aici este doar de gând să fie un pixel independent densitate, 280 00:20:42,584 --> 00:20:44,750 așa că va fi aceeași în toate ecranele. 281 00:20:44,750 --> 00:20:49,046 282 00:20:49,046 --> 00:20:55,270 >> Mergând să extindă acest text de editare și atunci am, de asemenea, de gând să adăugați un buton. 283 00:20:55,270 --> 00:21:02,900 284 00:21:02,900 --> 00:21:04,370 Și o să spun OK. 285 00:21:04,370 --> 00:21:09,639 286 00:21:09,639 --> 00:21:10,597 20 PD. 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 Deci, acum avem trei componente diferite. 290 00:21:20,060 --> 00:21:25,630 Și modul în care se poate referi la acestea în principal clasa noastră activitate 291 00:21:25,630 --> 00:21:29,620 este prin utilizarea acestei metode numit findViewByID. 292 00:21:29,620 --> 00:21:36,790 Așa că am de gând să se definească anumite domenii. 293 00:21:36,790 --> 00:21:48,290 Deci avem în TextView, Să spunem helloText. 294 00:21:48,290 --> 00:21:55,400 295 00:21:55,400 --> 00:21:59,930 Și apoi dacă utilizați Android Studio, puteți utiliza supleant de comenzi rapide, 296 00:21:59,930 --> 00:22:01,120 introduceți. 297 00:22:01,120 --> 00:22:07,400 Și faceți clic pe Import clasă la automat importa clase corespunzătoare 298 00:22:07,400 --> 00:22:07,950 de care avem nevoie. 299 00:22:07,950 --> 00:22:10,590 300 00:22:10,590 --> 00:22:20,800 Și apoi aici am de gând să adăugați un ID de acest TextView și îl numesc text_hello. 301 00:22:20,800 --> 00:22:28,320 302 00:22:28,320 --> 00:22:32,050 Acum, că ne-am definit un ID de acest TextView, 303 00:22:32,050 --> 00:22:38,020 putem folosi acest pentru a se referi la TextView că ne-am definit. 304 00:22:38,020 --> 00:22:47,970 Deci, helloText egal TextView findViewByID, 305 00:22:47,970 --> 00:22:52,630 și apoi am specifica ID-ul care ne-o dorim, ceea ce este r.ID.text_hello. 306 00:22:52,630 --> 00:22:55,360 307 00:22:55,360 --> 00:22:59,560 >> Deci, acest lucru este foarte similar cu JavaScript și jQuery, unde putem de fapt doar 308 00:22:59,560 --> 00:23:05,430 se referă la anumite elemente în structura doar 309 00:23:05,430 --> 00:23:08,330 utilizând ID-ul pe care l-am specificat. 310 00:23:08,330 --> 00:23:17,240 Deci, în general, pentru a accesa o anumite obiect sau un anumit domeniu 311 00:23:17,240 --> 00:23:22,030 în aspectul nostru, ai de gând să aibă pentru a folosi această metodă findViewByID. 312 00:23:22,030 --> 00:23:26,290 Și apoi vom face același lucru lucruri pentru celelalte două elemente. 313 00:23:26,290 --> 00:23:29,570 314 00:23:29,570 --> 00:23:36,683 Aici, am de gând să adauga text_name ID. 315 00:23:36,683 --> 00:23:40,760 316 00:23:40,760 --> 00:23:42,770 Da. 317 00:23:42,770 --> 00:23:46,610 La fel ca pentru asta. 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 >> Acum, ceea ce vreau să fac acest lucru este când am faceți clic pe butonul OK, 322 00:23:58,120 --> 00:24:02,110 și am introdus un fel de numele în câmpul de text, 323 00:24:02,110 --> 00:24:10,880 apoi se va actualiza prezentul etichetă să spun, salut, numele, bine ai venit. 324 00:24:10,880 --> 00:24:16,520 Deci, din nou în principal noastră clase de activitate, suntem 325 00:24:16,520 --> 00:24:23,210 de asemenea, va încerca și se referă la acele elemente pe care le avem pentru a găsi. 326 00:24:23,210 --> 00:24:30,860 >> Deci avem 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 Introduceți și supleant, clasa de import. 330 00:24:38,500 --> 00:24:41,060 Și apoi, de asemenea, butonul OK. 331 00:24:41,060 --> 00:24:45,660 332 00:24:45,660 --> 00:24:48,980 În mod similar, vom face același lucru aici. 333 00:24:48,980 --> 00:24:54,900 nameText egal EditText findViewByID, r.ID.text_name. 334 00:24:54,900 --> 00:25:01,430 335 00:25:01,430 --> 00:25:03,380 Și apoi butonul OK. 336 00:25:03,380 --> 00:25:10,180 337 00:25:10,180 --> 00:25:13,840 findViewByID, r.ID, iar apoi button_ok. 338 00:25:13,840 --> 00:25:16,400 339 00:25:16,400 --> 00:25:22,240 >> OK, deci acum avem toți trei elemente pe care dorim să se refere la. 340 00:25:22,240 --> 00:25:27,630 Așa că acum am de gând să atașați o pe-clic pe ascultător la buton noastre 341 00:25:27,630 --> 00:25:30,440 pentru a asculta pentru clicurile utilizatorilor. 342 00:25:30,440 --> 00:25:35,780 Pentru că tocmai am folosi eveniment setOnClickListener. 343 00:25:35,780 --> 00:25:38,860 344 00:25:38,860 --> 00:25:44,010 Acum, aici se spune avem nevoie pentru a specifica setOnClickListener, 345 00:25:44,010 --> 00:25:51,030 si puteti face asta doar prin a avea o noi onClickListener și apăsați Enter. 346 00:25:51,030 --> 00:25:56,935 >> Și apoi ai acest anonim clasă, sau obiect anonim. 347 00:25:56,935 --> 00:25:59,530 348 00:25:59,530 --> 00:26:02,790 Și avem, de asemenea, această onClick metodă, și asta e practic 349 00:26:02,790 --> 00:26:05,580 ceea ce va fi numit ori de câte ori a făcut clic pe butonul noastre. 350 00:26:05,580 --> 00:26:15,860 >> Deci, aici, vreau să obțineți numele pe care a fost de intrare într-un câmp de text în primul rând Deci 351 00:26:15,860 --> 00:26:17,700 Numele String este egal cu nameText.getText (). 352 00:26:17,700 --> 00:26:21,670 353 00:26:21,670 --> 00:26:26,400 Din nou, acest lucru este ca Sintaxa Java pentru trimitere 354 00:26:26,400 --> 00:26:29,130 pentru funcții în cadrul obiectului. 355 00:26:29,130 --> 00:26:36,290 Deci nameText.getText, iar apoi suntem O să-l transforma într-un șir. 356 00:26:36,290 --> 00:26:41,090 Acum avem numele pe care a fost introdusa de catre utilizator. 357 00:26:41,090 --> 00:26:46,140 >> Și apoi vom genera un nou șir, 358 00:26:46,140 --> 00:26:48,980 asa ca va fi numit salut. 359 00:26:48,980 --> 00:26:56,325 Am de gând să spun, salut, numele, bine ai venit. 360 00:26:56,325 --> 00:27:00,810 361 00:27:00,810 --> 00:27:05,265 Și, în sfârșit, vrei pentru a actualiza helloText. 362 00:27:05,265 --> 00:27:09,190 Deci, pentru a face acest lucru, noi pur și simplu apel helloText.setText (salut). 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 >> Am de gând să încerc și re-rula Genymotion o dată finală și a vedea dacă funcționează. 368 00:27:30,645 --> 00:27:35,160 369 00:27:35,160 --> 00:27:38,810 Dacă nu, e total în regulă. 370 00:27:38,810 --> 00:27:39,730 OK. 371 00:27:39,730 --> 00:27:41,970 Deci, cred că nu funcționează. 372 00:27:41,970 --> 00:27:48,960 373 00:27:48,960 --> 00:27:52,955 De fapt, lasă-mă să încerc și de a face acest lucru. 374 00:27:52,955 --> 00:27:56,188 375 00:27:56,188 --> 00:27:57,174 Ar putea fi aceasta. 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 În regulă. 382 00:28:33,980 --> 00:28:35,170 Da, funcționează. 383 00:28:35,170 --> 00:28:38,020 OK. 384 00:28:38,020 --> 00:28:39,250 Asta a fost înfricoșător. 385 00:28:39,250 --> 00:28:40,890 OK. 386 00:28:40,890 --> 00:28:43,270 Nu am vrut să fac asta. 387 00:28:43,270 --> 00:28:46,570 OK, deci avem acest emulator Android. 388 00:28:46,570 --> 00:28:49,070 Lasă-mă să rândul său, acest off. 389 00:28:49,070 --> 00:28:52,290 390 00:28:52,290 --> 00:28:55,720 Deci avem emulator noastră Android. 391 00:28:55,720 --> 00:28:59,750 Deci, vom încerca și rula această aplicație pe care am făcut. 392 00:28:59,750 --> 00:29:04,100 Doar de gând să faceți clic pe butonul Redare, și se va spune, de așteptare pentru ADB. 393 00:29:04,100 --> 00:29:10,580 394 00:29:10,580 --> 00:29:12,780 Oh, omule. 395 00:29:12,780 --> 00:29:13,280 Repornire. 396 00:29:13,280 --> 00:29:25,419 397 00:29:25,419 --> 00:29:30,150 OK, cred acest lucru încă nu funcționează. 398 00:29:30,150 --> 00:29:31,280 OK, nu conteaza, atunci. 399 00:29:31,280 --> 00:29:33,841 400 00:29:33,841 --> 00:29:38,150 acest lucru va fi un păcat. 401 00:29:38,150 --> 00:29:41,030 Dar așa să spunem că vrem pentru a crea o nouă activitate, 402 00:29:41,030 --> 00:29:45,730 și vom avea o imagine în această activitate. 403 00:29:45,730 --> 00:29:52,120 Pentru a face asta, trebuie doar să ne puteti selecta acest fișier, și apoi nouă. 404 00:29:52,120 --> 00:29:57,760 Și apoi aici putem selecta Activitatea, iar apoi Activitatea Blank. 405 00:29:57,760 --> 00:29:59,840 Aici, vom apela se poate CatActivity. 406 00:29:59,840 --> 00:30:03,030 407 00:30:03,030 --> 00:30:06,537 >> OK, deci acum se generează alte două fișiere. 408 00:30:06,537 --> 00:30:08,245 Una dintre ele este numit activity_cat, iar celălalt 409 00:30:08,245 --> 00:30:10,630 este numit catActivity, care este o clasă. 410 00:30:10,630 --> 00:30:13,250 411 00:30:13,250 --> 00:30:18,648 Deci, haideți să spunem că vrem să adăugați o imagine de o pisica aici. 412 00:30:18,648 --> 00:30:21,790 413 00:30:21,790 --> 00:30:25,220 Deci, când faci asta, vom de a utiliza clasa ImageView. 414 00:30:25,220 --> 00:30:28,076 415 00:30:28,076 --> 00:30:31,340 Vom adauga pe aici. 416 00:30:31,340 --> 00:30:35,350 Și apoi stabilirea marjei de a fi de 20 DP. 417 00:30:35,350 --> 00:30:37,920 418 00:30:37,920 --> 00:30:41,240 >> Și acum vom găsi o imagine de o pisica pe internet. 419 00:30:41,240 --> 00:30:43,270 Să vedem. 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 Cred că acest lucru este bine. 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 Deci, acum avem imaginea noastra. 427 00:31:02,780 --> 00:31:07,720 Deci, vom adăuga in proiectul nostru. 428 00:31:07,720 --> 00:31:16,140 Poate face acest lucru prin drept clic, și then-- noi 429 00:31:16,140 --> 00:31:25,965 de fapt, poate deschide doar acest lucru, du-te descărcări, îmi pare rău, desktop. 430 00:31:25,965 --> 00:31:28,310 Mergând pentru a încerca și de a găsi o. 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 Chiar aici. 434 00:31:35,790 --> 00:31:42,820 Am de gând să-l copiați în dosarul meu. 435 00:31:42,820 --> 00:31:46,800 Acum, o să-mi câteva opțiuni. 436 00:31:46,800 --> 00:31:49,250 Acum, vreau doar asta fie în dosarul drawable, 437 00:31:49,250 --> 00:31:54,390 și care va fi pentru toți diferite rezoluții de ecran. 438 00:31:54,390 --> 00:31:57,100 Alternativ, putem de fapt doar selectați 439 00:31:57,100 --> 00:32:01,270 pe care le rezoluție de ecran doresc această imagine să fie în. 440 00:32:01,270 --> 00:32:06,150 Deci, merge pentru a selecta dosar drawable, faceți clic pe OK. 441 00:32:06,150 --> 00:32:08,660 442 00:32:08,660 --> 00:32:09,910 Doar de gând să-l numească cat.jpg. 443 00:32:09,910 --> 00:32:12,560 444 00:32:12,560 --> 00:32:15,970 >> OK, deci, acum este adăugat în opinia noastră imagine. 445 00:32:15,970 --> 00:32:18,800 446 00:32:18,800 --> 00:32:22,020 vom avea de a utiliza această sursă aici, 447 00:32:22,020 --> 00:32:27,420 și apoi putem folosi acest punct punct punct buton și selectați imaginea pisica. 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 Deci, acum vreau să fac astfel de că e doar mărimea potrivită. 451 00:32:39,480 --> 00:32:50,050 Așa că am de gând pentru a selecta această regla vezi opțiune limite chiar aici, 452 00:32:50,050 --> 00:32:54,960 și că în mod automat seturi-l la mărimea potrivită. 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 Acum, pentru a lansa de fapt, acest Activitatea din activitatea noastră anterioară, 456 00:33:09,380 --> 00:33:15,470 ai de gând să aibă de a utiliza ceva numit intenția. 457 00:33:15,470 --> 00:33:19,115 Deci, să spunem am de gând să adăugați un alt buton care lansează activitatea. 458 00:33:19,115 --> 00:33:26,640 459 00:33:26,640 --> 00:33:29,150 Am de gând adauga aici, chiar aici. 460 00:33:29,150 --> 00:33:36,160 Și apoi o să au textul ao activa. 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 >> Acum, cum putem deschide de fapt Noua activitate în cadrul acestei activități? 466 00:33:47,560 --> 00:33:52,280 467 00:33:52,280 --> 00:33:54,650 Deci, aceeași afacere ca și mai înainte. 468 00:33:54,650 --> 00:34:01,120 Trebuie să adăugați un ID de această buton, și îl numesc button_activate. 469 00:34:01,120 --> 00:34:09,489 470 00:34:09,489 --> 00:34:16,880 Și apoi, în activitatea noastră principală, merge pentru a avea acest nou activateButton Button. 471 00:34:16,880 --> 00:34:21,630 472 00:34:21,630 --> 00:34:26,150 Și apoi, de asemenea, utilizați Metoda findViewByID. 473 00:34:26,150 --> 00:34:29,449 474 00:34:29,449 --> 00:34:33,960 activateButton egal 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 Și apoi am de asemenea, va adaugă în 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 Și apoi vom utiliza acest lucru numit intenție. 482 00:35:07,145 --> 00:35:10,070 483 00:35:10,070 --> 00:35:11,905 Intenția este egal nou Intent (acest lucru). 484 00:35:11,905 --> 00:35:17,260 485 00:35:17,260 --> 00:35:20,699 Și apoi numele Activitatea pe care dorim să apară. 486 00:35:20,699 --> 00:35:22,990 Deci, aici, în acest sens, vom pentru a avea catActivity.class. 487 00:35:22,990 --> 00:35:30,412 488 00:35:30,412 --> 00:35:31,147 Scuze. 489 00:35:31,147 --> 00:35:33,230 Vom avea la specifica @ MainActivity.this. 490 00:35:33,230 --> 00:35:36,100 491 00:35:36,100 --> 00:35:41,910 Deci, acum proprietatea .Acest se referă la instanța curentă a obiectului 492 00:35:41,910 --> 00:35:43,271 în sine. 493 00:35:43,271 --> 00:35:43,770 OK. 494 00:35:43,770 --> 00:35:48,020 Până la acest moment, întrebări? 495 00:35:48,020 --> 00:35:48,890 Toate bune? 496 00:35:48,890 --> 00:35:49,390 În regulă. 497 00:35:49,390 --> 00:35:52,890 498 00:35:52,890 --> 00:35:57,430 >> Și apoi, dacă doriți să începeți activitatea, e destul de simplu. 499 00:35:57,430 --> 00:35:59,904 Doar noi numim The The Metoda startActivity. 500 00:35:59,904 --> 00:36:04,260 501 00:36:04,260 --> 00:36:07,355 Și apoi vom trece în intenție obiect pe care tocmai le-am definit. 502 00:36:07,355 --> 00:36:10,640 503 00:36:10,640 --> 00:36:16,140 Din păcate, ne-am nu poate demonstra cu adevărat acest lucru. 504 00:36:16,140 --> 00:36:23,000 Speram ca putem rula de fapt acest lucru și arătați-o de-a lungul la seminar, 505 00:36:23,000 --> 00:36:26,661 dar, din păcate, nu. 506 00:36:26,661 --> 00:36:28,980 Oh, omule. 507 00:36:28,980 --> 00:36:29,480 Înțeleg. 508 00:36:29,480 --> 00:36:32,134 Oh, vom încerca și ucide 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 Repornire. 512 00:36:45,714 --> 00:36:53,490 513 00:36:53,490 --> 00:36:56,262 A funcționat? 514 00:36:56,262 --> 00:36:57,710 Oh, OK. 515 00:36:57,710 --> 00:37:00,660 Deci, acum este de fapt compilarea. 516 00:37:00,660 --> 00:37:02,410 Oh. 517 00:37:02,410 --> 00:37:04,420 Din păcate, nu e niciun dispozitiv care rulează. 518 00:37:04,420 --> 00:37:06,040 Să încercăm și reporniți emulator mea. 519 00:37:06,040 --> 00:37:56,335 520 00:37:56,335 --> 00:37:57,880 Ah, acolo mergem. 521 00:37:57,880 --> 00:37:59,050 Ea a apărut. 522 00:37:59,050 --> 00:38:00,070 OK. 523 00:38:00,070 --> 00:38:06,010 Așa că am de gând să lanseze meu aplicație de pe emulator mea Android. 524 00:38:06,010 --> 00:38:08,330 Și avem lucrurile că am definit tocmai acum. 525 00:38:08,330 --> 00:38:13,620 Deci avem eticheta, ecranul de text, câmpul de text, și apoi butonul. 526 00:38:13,620 --> 00:38:18,449 Așa că am de gând să intrare Numele meu aici, 527 00:38:18,449 --> 00:38:19,990 și acolo mergem, a schimbat textul. 528 00:38:19,990 --> 00:38:25,980 Deci, dacă ne scrieți în Foo, e va schimba la Foo. 529 00:38:25,980 --> 00:38:29,040 >> Și dacă faceți clic pe Buton Activare, care 530 00:38:29,040 --> 00:38:34,560 ne-am legat pentru a lansa de fapt o noua activitate, speram ca aceasta va funcționa, 531 00:38:34,560 --> 00:38:35,190 acolo mergem. 532 00:38:35,190 --> 00:38:36,760 Acesta lansează noua activitate. 533 00:38:36,760 --> 00:38:40,001 534 00:38:40,001 --> 00:38:47,010 Pentru a reveni, putem apăsa butonul Înapoi aici. 535 00:38:47,010 --> 00:38:47,510 Sau nu. 536 00:38:47,510 --> 00:38:49,610 Oh, mergem. 537 00:38:49,610 --> 00:38:51,450 Oops. 538 00:38:51,450 --> 00:38:52,611 A fost rău. 539 00:38:52,611 --> 00:38:53,890 OK. 540 00:38:53,890 --> 00:38:58,550 >> Deci, acum că ne-am pus în aplicare unele lucruri de bază în Android, 541 00:38:58,550 --> 00:39:04,800 putem încerca și de a face unele lucruri mai complicate. 542 00:39:04,800 --> 00:39:10,070 Deci în primul rând, să încercăm și să treacă mesaje de la o activitate la alta. 543 00:39:10,070 --> 00:39:13,760 Așa că haideți să spunem vrem să treacă în un nume de domeniul principal de activitate 544 00:39:13,760 --> 00:39:16,710 de activitatea pisica. 545 00:39:16,710 --> 00:39:19,740 Și un nume ar fi preluate de la această nameText. 546 00:39:19,740 --> 00:39:23,510 547 00:39:23,510 --> 00:39:30,160 >> OK, deci în primul rând, vom prelua numele chiar aici. 548 00:39:30,160 --> 00:39:32,230 Numele String este egal 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 Și atunci putem folosi acest lucru numit intent.putExtra (numele), 552 00:39:52,260 --> 00:39:57,650 și apoi de fapt, de asemenea, dorește o cheie pentru acest domeniu suplimentar. 553 00:39:57,650 --> 00:40:05,520 >> Așa că am de gând să definească o nouă cheie, vom numi EXTRA_NAME. 554 00:40:05,520 --> 00:40:11,570 555 00:40:11,570 --> 00:40:17,160 Așa că am de gând să utilizeze acest cheie, CatActivity.EXTRA_NAME, 556 00:40:17,160 --> 00:40:21,010 și apoi trece în numele sine. 557 00:40:21,010 --> 00:40:26,370 >> OK, deci acum putem prelua de fapt aceasta în cadrul noii CatActivity. 558 00:40:26,370 --> 00:40:38,650 Pentru a face asta, trebuie să utilizați intenție este egal metodă getIntent. 559 00:40:38,650 --> 00:40:41,360 Deci, acum o să prelua intenția care 560 00:40:41,360 --> 00:40:45,070 a fost folosit pentru a apela această nouă activitate. 561 00:40:45,070 --> 00:40:50,340 Deci, dacă doriți să preluați șirul că am pus de fapt în interiorul intenția, 562 00:40:50,340 --> 00:41:00,255 puteți utiliza un intent.getStringExtra și apoi trece în aceeași cheie, 563 00:41:00,255 --> 00:41:04,080 564 00:41:04,080 --> 00:41:10,570 >> OK, deci acum hai să spunem că te doriți să schimbați acest domeniu. 565 00:41:10,570 --> 00:41:14,422 566 00:41:14,422 --> 00:41:15,630 Schimbați acest domeniu aici. 567 00:41:15,630 --> 00:41:18,400 568 00:41:18,400 --> 00:41:20,900 Și hai să facem fontul mărime de acest domeniu mai mare. 569 00:41:20,900 --> 00:41:26,480 Deci, să spun că am vrea ca acest lucru să fie de 20 DP. 570 00:41:26,480 --> 00:41:28,340 OK. 571 00:41:28,340 --> 00:41:32,070 Și am de gând să adăugați un ID pentru acest TextView, 572 00:41:32,070 --> 00:41:35,690 și am de gând să-l numesc text_cat. 573 00:41:35,690 --> 00:41:41,170 574 00:41:41,170 --> 00:41:41,670 Scuze. 575 00:41:41,670 --> 00:41:45,630 576 00:41:45,630 --> 00:41:51,310 >> Și din nou în CatActivity, aceeași afacere ca și mai înainte. 577 00:41:51,310 --> 00:41:55,090 Vom defini anumite domenii. 578 00:41:55,090 --> 00:41:58,890 Aici va fi o catText TextView. 579 00:41:58,890 --> 00:42:03,500 580 00:42:03,500 --> 00:42:11,750 Și apoi catText egal 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 Și apoi înapoi aici, eu sunt O să setați dreapta textului 584 00:42:24,100 --> 00:42:28,120 după ce ne-am recupera pentru aceasta din intenția. 585 00:42:28,120 --> 00:42:30,207 586 00:42:30,207 --> 00:42:30,790 setText (nume). 587 00:42:30,790 --> 00:42:36,020 588 00:42:36,020 --> 00:42:38,056 >> OK, deci haideți să încercăm asta. 589 00:42:38,056 --> 00:42:39,070 Faceți clic pe butonul Play. 590 00:42:39,070 --> 00:42:41,830 591 00:42:41,830 --> 00:42:43,445 Am de gând să utilizeze același dispozitiv. 592 00:42:43,445 --> 00:42:47,770 593 00:42:47,770 --> 00:42:50,380 Înapoi în aici. 594 00:42:50,380 --> 00:42:57,030 Așa că haideți să spun că nu am input-- dacă nu specifica nici un nume, 595 00:42:57,030 --> 00:42:59,330 Să vedem ce se întâmplă. 596 00:42:59,330 --> 00:43:02,150 Deci, acum nu e nimic care apare. 597 00:43:02,150 --> 00:43:10,390 Deci ne întoarcem și intrare numele nostru, e doar de gând să spun Fred. 598 00:43:10,390 --> 00:43:14,670 Deci, putem trece de fapt mesaje de la o activitate la alta. 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 >> Deci, există o grămadă de alte puncte de vedere pe care le puteți folosi în Android. 602 00:43:22,590 --> 00:43:29,740 Deci, acum avem bare de progres, avem Lista opinii, avem butoane de comutare, 603 00:43:29,740 --> 00:43:33,950 și dacă ai vrut într-adevăr pentru a afla mai multe despre asta, 604 00:43:33,950 --> 00:43:36,790 poti sa vizita de fapt, aceste pagini web. 605 00:43:36,790 --> 00:43:41,160 Ele conțin multe resurse diferite. 606 00:43:41,160 --> 00:43:45,230 Deci, de exemplu, API ghidul de aici de fapt 607 00:43:45,230 --> 00:43:50,885 vă oferă câteva exemple de cod pentru anumite caracteristici din biblioteca Android. 608 00:43:50,885 --> 00:43:53,692 609 00:43:53,692 --> 00:43:57,560 >> Și câteva tutoriale am găsit util când învăța despre Android. 610 00:43:57,560 --> 00:44:06,890 Asta e tutorial oficial în sine, și, de asemenea, acest tutorial alte aici. 611 00:44:06,890 --> 00:44:10,200 Și, în sfârșit, poți de fapt utilizați diferite biblioteci 612 00:44:10,200 --> 00:44:12,710 pentru aplicație Android. 613 00:44:12,710 --> 00:44:16,370 Acum, acestea se extind de fapt funcționalitatea aplicației 614 00:44:16,370 --> 00:44:19,665 fără a fi nevoie să într-adevăr scrie mult cod. 615 00:44:19,665 --> 00:44:21,540 Dezavantajul este, de Desigur, că de fapt 616 00:44:21,540 --> 00:44:23,890 trebuie să învețe bibliotecile tine. 617 00:44:23,890 --> 00:44:29,170 >> Deci, de exemplu, dacă doriți să faceți utilizarea tehnologiei cloud Dropbox, 618 00:44:29,170 --> 00:44:33,400 atunci puteți folosi API Dropbox. 619 00:44:33,400 --> 00:44:36,530 Similar cu API Facebook. 620 00:44:36,530 --> 00:44:40,490 Și apoi există de fapt câteva diferite alte biblioteci diverse 621 00:44:40,490 --> 00:44:41,700 pe care le puteți folosi. 622 00:44:41,700 --> 00:44:45,560 Dacă sunteți încercarea de a obține, cum ar fi, JSON dintr-un anumit site web, 623 00:44:45,560 --> 00:44:49,560 atunci cred că Google JSON bibliotecă ar fi destul de util. 624 00:44:49,560 --> 00:44:56,200 Deci, acum, care convertește un JSON text formatat într-un obiect Java, 625 00:44:56,200 --> 00:44:58,600 și invers. 626 00:44:58,600 --> 00:45:01,110 >> Și apoi există Consolidare și Picasso. 627 00:45:01,110 --> 00:45:07,240 Și asta dacă vrei să use-- asta e pentru dacă utilizați un API de odihnă. 628 00:45:07,240 --> 00:45:13,300 Și Picasso, dacă utilizați imagini pentru aplicație Android. 629 00:45:13,300 --> 00:45:14,350 În regulă. 630 00:45:14,350 --> 00:45:18,030 Mulțumesc foarte mult, și au codificare distracție. 631 00:45:18,030 --> 00:45:19,723