1 00:00:00,000 --> 00:00:09,620 2 00:00:09,620 --> 00:00:11,550 >> FRED WIDJAJA: All right. 3 00:00:11,550 --> 00:00:12,600 Hei, alle sammen. 4 00:00:12,600 --> 00:00:19,450 Takk for at du velkommen til bli med meg på dette seminaret. 5 00:00:19,450 --> 00:00:23,130 Så vi i dag skal snakke om hvordan å utvikle apps for Android, 6 00:00:23,130 --> 00:00:26,870 og spesielt, skal vi være å bruke Android Studio for 7 00:00:26,870 --> 00:00:29,490 å utvikle våre apps. 8 00:00:29,490 --> 00:00:32,150 >> Så som du kanskje vet. 9 00:00:32,150 --> 00:00:36,750 Android bruker Java, og så vil vi være går gjennom en kort introduksjon 10 00:00:36,750 --> 00:00:39,860 på Java i seg selv. 11 00:00:39,860 --> 00:00:45,830 Så jeg vet at mange av dere har bare erfaring programmering i C. Så 12 00:00:45,830 --> 00:00:48,760 det er helt greit, og det er fordi Java er veldig, veldig 13 00:00:48,760 --> 00:00:53,750 lik C, med små forskjeller. 14 00:00:53,750 --> 00:01:00,040 >> Så typer i Java er festet i antall byte. 15 00:01:00,040 --> 00:01:04,290 Så i C, har vi shorts og lengter, og de 16 00:01:04,290 --> 00:01:07,880 variere i antall bits fra maskin til maskin. 17 00:01:07,880 --> 00:01:10,990 I Java, er det allerede satt som standard. 18 00:01:10,990 --> 00:01:16,320 Så byte har åtte biter, shorts har 16 bits, og så videre og så videre. 19 00:01:16,320 --> 00:01:22,780 Vi har også chars, booleans, og også flyter og dobler. 20 00:01:22,780 --> 00:01:27,150 Så måten du programmere inn Java, det er veldig likt. 21 00:01:27,150 --> 00:01:30,150 Så for eksempel, har vi for løkker og mens løkker, 22 00:01:30,150 --> 00:01:39,090 og hvis og annet utsagn er akkurat det samme som du ville gjort i C. 23 00:01:39,090 --> 00:01:45,390 >> All right, så det spesielle med Java er at den objektorienterte. 24 00:01:45,390 --> 00:01:46,560 Nå, hva er objekter? 25 00:01:46,560 --> 00:01:49,220 Så hvis du ser på ting rundt deg, vil du 26 00:01:49,220 --> 00:01:54,540 merke til at hver virkelige verden objekt har to felles kjennetegn. 27 00:01:54,540 --> 00:01:59,100 Og det er at de har tilstand og de har noen form for oppførsel. 28 00:01:59,100 --> 00:02:02,510 >> Så for eksempel, hunder ville ha tilstander som 29 00:02:02,510 --> 00:02:07,360 er navn, farge, rase, kanskje hvis hunden er sulten eller ikke. 30 00:02:07,360 --> 00:02:12,490 Og noen atferd som hunder ville ha ville være å bjeffe, eller logrende hale, 31 00:02:12,490 --> 00:02:14,340 eller henter en ball. 32 00:02:14,340 --> 00:02:18,120 Så vi kan også bruke denne til livløse objekter. 33 00:02:18,120 --> 00:02:23,130 Så for eksempel biler, de har modellen, år, maks hastighet, 34 00:02:23,130 --> 00:02:25,500 og så videre og så videre. 35 00:02:25,500 --> 00:02:27,450 Og de har noen oppførsel. 36 00:02:27,450 --> 00:02:33,050 For eksempel, akselererer, eller oppbremsing, eller går i revers. 37 00:02:33,050 --> 00:02:38,910 >> Så Java-objekter forsøk på å modellere dette ved å ha felt og metoder. 38 00:02:38,910 --> 00:02:45,050 Så feltene er statene som Java objekt kan ha, 39 00:02:45,050 --> 00:02:51,440 mens metoden ville representere atferd som en Java-objekt ville ha. 40 00:02:51,440 --> 00:02:53,770 Så når jeg sier metoder og felt, jeg virkelig 41 00:02:53,770 --> 00:02:56,470 bare bety variabler og funksjoner. 42 00:02:56,470 --> 00:03:02,120 De er akkurat det samme, bortsett at de gjelder for et bestemt objekt. 43 00:03:02,120 --> 00:03:04,880 >> OK, så går videre til klassene. 44 00:03:04,880 --> 00:03:08,950 Java-klasser er som skissene for et objekt. 45 00:03:08,950 --> 00:03:12,270 De forteller deg hvilke metoder det har, hvilke felt det har, 46 00:03:12,270 --> 00:03:17,750 og selv her, har vi noe kalt tilgangs modifikatorer som 47 00:03:17,750 --> 00:03:19,570 vi får til på en stund. 48 00:03:19,570 --> 00:03:26,930 Så for å erklære en Java-klasse, det er meget lik i syntaks til en C struct. 49 00:03:26,930 --> 00:03:34,350 >> Her vi starter med public class Car, og da har vi en åpen spenne og deretter 50 00:03:34,350 --> 00:03:38,800 noen antall felt som du vil at objektet skal ha. 51 00:03:38,800 --> 00:03:44,650 Og så her har vi noen metoder, og vi har også et objekt konstruktør. 52 00:03:44,650 --> 00:03:48,690 Nå hva dette objektet konstruktør gjør er det forteller objektet, 53 00:03:48,690 --> 00:03:53,370 OK, jeg vil initial dette objekt med en slags felt. 54 00:03:53,370 --> 00:03:58,310 >> Så her, vil vi hver bil å ha en modell og et år. 55 00:03:58,310 --> 00:04:01,480 Så vi har en konstruktør bare spesifikt 56 00:04:01,480 --> 00:04:06,560 for modellen og året, og Dette ville sette modellfeltet 57 00:04:06,560 --> 00:04:12,510 til en viss verdi, og året felt i tillegg. 58 00:04:12,510 --> 00:04:16,019 >> Nå om tilgang modifikatorer jeg snakket om. 59 00:04:16,019 --> 00:04:21,560 Her har vi det offentlige og privat tilgang modifikatorer. 60 00:04:21,560 --> 00:04:27,730 Så du kan tenke på dette som den rwx i katalogene. 61 00:04:27,730 --> 00:04:33,020 Så de tillate visse mennesker å lese, og har tilgang 62 00:04:33,020 --> 00:04:35,150 til disse feltene og metoder. 63 00:04:35,150 --> 00:04:39,470 >> Så hvis jeg sier at modell og år og hastighet er private, 64 00:04:39,470 --> 00:04:46,360 det betyr at andre objekter kan ikke forsøke å få tilgang til denne objektets felt 65 00:04:46,360 --> 00:04:47,760 det er privat. 66 00:04:47,760 --> 00:04:52,280 Men når jeg setter tilgang modifier for å være offentlig, 67 00:04:52,280 --> 00:04:57,630 nå det betyr at andre gjenstander står fritt til å få tilgang til og med 68 00:04:57,630 --> 00:05:00,770 brukte metodene som er definert her. 69 00:05:00,770 --> 00:05:04,160 70 00:05:04,160 --> 00:05:09,210 >> Så dette er den grunnleggende Bil objekt som jeg har. 71 00:05:09,210 --> 00:05:15,350 Vi har akselerere, bryte, og getSpeed ​​metoder. 72 00:05:15,350 --> 00:05:20,180 Til dette punktet, er alle klare på Java-objekter og hvordan å erklære dem? 73 00:05:20,180 --> 00:05:22,710 Cool, all right. 74 00:05:22,710 --> 00:05:29,120 Så hvis du ønsker å bruke Java objekt i et program i seg selv, 75 00:05:29,120 --> 00:05:35,720 da kan vi bruke denne ny bil konstruktør. 76 00:05:35,720 --> 00:05:41,250 Så her vi sier vi ønsker å erklære et nytt objekt, som er av type bil. 77 00:05:41,250 --> 00:05:44,120 Og her er det å bruke modell og år, 78 00:05:44,120 --> 00:05:51,110 som vi har definert i dette objektet her. 79 00:05:51,110 --> 00:05:55,150 >> Så dette er også en annen protestere, hvis du legger merke til. 80 00:05:55,150 --> 00:05:59,820 Det er en klasse for hovedprogrammet selv. 81 00:05:59,820 --> 00:06:04,660 Og vi har denne PSVM, eller offentlig static void main, funksjon, 82 00:06:04,660 --> 00:06:08,200 og dens start poenget med programmet, 83 00:06:08,200 --> 00:06:12,320 i likhet med hoved funksjonen i C-program. 84 00:06:12,320 --> 00:06:16,870 Her kan vi få tilgang til og bruke objektets funksjoner 85 00:06:16,870 --> 00:06:21,480 hjelp av prikk og deretter funksjonsnavn notasjon. 86 00:06:21,480 --> 00:06:26,130 Og vi kan også angi visse argumenter eller parametere 87 00:06:26,130 --> 00:06:28,260 for denne funksjonen. 88 00:06:28,260 --> 00:06:32,410 >> OK, så nå går videre til arv. 89 00:06:32,410 --> 00:06:37,670 Så virkelige verden gjenstander kan har de samme egenskapene. 90 00:06:37,670 --> 00:06:42,490 Så for eksempel, er det forskjellige typer sykler. 91 00:06:42,490 --> 00:06:47,280 For eksempel, terrengsykkel, bysykler, eller tandemsykler. 92 00:06:47,280 --> 00:06:50,320 Så de har denne felles karakteristiske for å være en sykkel. 93 00:06:50,320 --> 00:06:55,740 >> Og så sykler kan ha to hjul og de kan ha et styre, kanskje til og med 94 00:06:55,740 --> 00:06:58,750 en hale lys eller noe sånt. 95 00:06:58,750 --> 00:07:04,930 Så Java gir oss dette makt til å representere objekter 96 00:07:04,930 --> 00:07:10,170 som har visse felles kjennetegn ved arv. 97 00:07:10,170 --> 00:07:18,370 Nå, hva arv gjør, er det passerer på et objekt felt og metoder 98 00:07:18,370 --> 00:07:20,920 på et barn objekt. 99 00:07:20,920 --> 00:07:24,080 >> Så for eksempel, hvis jeg en bil, og det har 100 00:07:24,080 --> 00:07:28,570 tilstanden av å ha fire hjul og ett ratt, 101 00:07:28,570 --> 00:07:31,120 så kan vi sende dette videre til visse forskjellige typer biler. 102 00:07:31,120 --> 00:07:35,470 For eksempel har vi sedan, sportsbil, og en SUV. 103 00:07:35,470 --> 00:07:38,940 Nå, disse tre forskjellige typer biler ville fortsatt 104 00:07:38,940 --> 00:07:42,050 har fire hjul og ett ratt, men da de 105 00:07:42,050 --> 00:07:43,900 kan ha viss spesielle egenskaper, 106 00:07:43,900 --> 00:07:49,980 som har fem seter og en for en sedan, for eksempel. 107 00:07:49,980 --> 00:07:58,510 >> Så for å gjøre bruk av denne arven funksjonen, bruker vi dette strekker søkeordet. 108 00:07:58,510 --> 00:08:04,570 Så husker tilbake til bilen innvende at jeg definert tidligere. 109 00:08:04,570 --> 00:08:06,730 Nå har jeg definere en Sedan objekt. 110 00:08:06,730 --> 00:08:09,930 111 00:08:09,930 --> 00:08:17,850 Så dette Sedan objekt ville ha samme felt og funksjoner eller metoder, 112 00:08:17,850 --> 00:08:19,660 at bilen ville ha. 113 00:08:19,660 --> 00:08:24,830 Men så, her angir jeg visse tilleggsfunksjoner 114 00:08:24,830 --> 00:08:26,830 for eksempel, den innstilte antall passasjerer 115 00:08:26,830 --> 00:08:29,150 og få antall passasjerer. 116 00:08:29,150 --> 00:08:32,000 >> Her kan du også legge merke til at vi kan overstyre metoder, 117 00:08:32,000 --> 00:08:34,840 og det betyr at vi er bare erstatte atferden 118 00:08:34,840 --> 00:08:38,549 å virke på en annen måte i visse tilfeller. 119 00:08:38,549 --> 00:08:42,710 Så, for eksempel, ønsker jeg å satt en maks hastighet for vår bil. 120 00:08:42,710 --> 00:08:49,840 Og for å gjøre det, sjekker jeg om dette hastigheten ville gå over maks hastighet. 121 00:08:49,840 --> 00:08:54,180 Og hvis den ikke gjør det, så jeg kaller super klassen 'akselerere metoden. 122 00:08:54,180 --> 00:09:00,350 Så dette er super.accelerate () samtaler super klassen 'akselerere metoden. 123 00:09:00,350 --> 00:09:05,390 124 00:09:05,390 --> 00:09:09,940 >> Til slutt skal vi snakke om grensesnitt. 125 00:09:09,940 --> 00:09:18,090 Så grensesnitt er en måte å eksponere bare visse metoder til omverdenen. 126 00:09:18,090 --> 00:09:19,980 Så de er som en tabell av innholdet, og du 127 00:09:19,980 --> 00:09:25,900 kan tenke på dem som liker de C header filer, bare 128 00:09:25,900 --> 00:09:33,680 som metoder med tomme kropper, og de spesifisere hva objektet eller klassen 129 00:09:33,680 --> 00:09:37,710 må ha, eller hvilke metoder objektet eller klasse må ha. 130 00:09:37,710 --> 00:09:41,360 >> Så for eksempel, hvis jeg ha et Sykkel grensesnitt, 131 00:09:41,360 --> 00:09:46,530 og den har tre forskjellige metoder, og her hvis jeg implementere dette grensesnittet, 132 00:09:46,530 --> 00:09:49,864 så det betyr at dette Sykkel ville trenge for å gjennomføre de samme tre 133 00:09:49,864 --> 00:09:51,530 metoder som jeg definert i grensesnittet. 134 00:09:51,530 --> 00:09:57,076 135 00:09:57,076 --> 00:10:01,390 >> Opp til dette punktet, andre spørsmål? 136 00:10:01,390 --> 00:10:03,240 All right, kult. 137 00:10:03,240 --> 00:10:07,770 Så dette var en veldig kort og rask tutorial på Java. 138 00:10:07,770 --> 00:10:14,560 Det er måten flere funksjoner og emner på Java, at du faktisk kan gå gjennom. 139 00:10:14,560 --> 00:10:17,690 For eksempel er det generics, det er datatyper, 140 00:10:17,690 --> 00:10:19,780 Det er enda enums og sånt. 141 00:10:19,780 --> 00:10:23,400 Så hvis du ønsker å lære mer om det, gjør Følg disse linkene, 142 00:10:23,400 --> 00:10:25,840 og de vil lære deg mer om dem. 143 00:10:25,840 --> 00:10:30,220 >> OK, så la oss gå videre til faktiske kjøtt av seminaret, 144 00:10:30,220 --> 00:10:34,080 og det er faktisk Android programmering. 145 00:10:34,080 --> 00:10:37,660 Så før vi faktisk komme til programmering, 146 00:10:37,660 --> 00:10:40,800 Jeg ønsker å snakke om noen sjargong. 147 00:10:40,800 --> 00:10:46,980 Så en aktivitet er Android måte å si 148 00:10:46,980 --> 00:10:52,870 det er en enkelt skjerm i programmet. 149 00:10:52,870 --> 00:11:01,100 >> Så, for eksempel, hvis du har en Gmail app, har vi lese e-post aktivitet. 150 00:11:01,100 --> 00:11:02,990 Og så hvis du klikker en viss e-post, som 151 00:11:02,990 --> 00:11:08,850 vil vise en annen aktivitet der det er en visning epost aktivitet. 152 00:11:08,850 --> 00:11:14,740 Og så har vi også skrive aktivitet, eller redigerings melding aktivitet. 153 00:11:14,740 --> 00:11:18,380 Og så aktiviteter er vanligvis bare en enkelt skjerm 154 00:11:18,380 --> 00:11:21,800 innenfor selve programmet. 155 00:11:21,800 --> 00:11:28,410 >> Nå, utsikten er komponentene som utgjør opp på skjermen, eller selve aktiviteten. 156 00:11:28,410 --> 00:11:34,430 Så de trekke en viss ting i skjermen. 157 00:11:34,430 --> 00:11:37,840 Så for eksempel, kan det være en tekstfelt, kan det være en etikett, 158 00:11:37,840 --> 00:11:40,090 det kan være en sjekker boks. 159 00:11:40,090 --> 00:11:44,110 Så det er mange forskjellige typer visning. 160 00:11:44,110 --> 00:11:47,780 Så nå har vi hensikter, og det er en melding 161 00:11:47,780 --> 00:11:51,070 som er gått videre til en annen aktivitet. 162 00:11:51,070 --> 00:11:58,997 Og de inneholder opplysninger om hva du vil at denne aktiviteten skal utføres. 163 00:11:58,997 --> 00:12:00,830 Endelig har vi den manifest fil, og at 164 00:12:00,830 --> 00:12:07,900 er en XML-fil som gir telefonen all informasjon om programmet ditt. 165 00:12:07,900 --> 00:12:12,230 Så det er inneholder versjonen, og aktivitetene som du vil ha. 166 00:12:12,230 --> 00:12:17,480 >> OK, så la oss starte. 167 00:12:17,480 --> 00:12:21,460 Så vi kommer til å være bruker Android Studio. 168 00:12:21,460 --> 00:12:26,960 Så hvis dere har dette allerede installert, må du gjerne følge med. 169 00:12:26,960 --> 00:12:29,790 Vi skal prøve og starte på nytt fra bunnen av. 170 00:12:29,790 --> 00:12:35,260 Og så kommer jeg til å prøve og opprette et nytt prosjekt. 171 00:12:35,260 --> 00:12:40,370 Og jeg kommer til å ringe mitt prosjekt Android 101. 172 00:12:40,370 --> 00:12:45,770 Og her vi sette navnet på prosjektet i søknaden navnefeltet. 173 00:12:45,770 --> 00:12:48,500 >> Selskapet Domain, gjør du ikke virkelig trenger å bekymre deg for det. 174 00:12:48,500 --> 00:12:57,000 Dette er bare hvordan Android identifiserer din søknad. 175 00:12:57,000 --> 00:13:01,350 Så du har et domenenavn, kan du skrive i domenenavnet innsiden av det. 176 00:13:01,350 --> 00:13:05,370 Men hvis du ikke gjør det, kan du føle fritt til å skrive inn alt du vil. 177 00:13:05,370 --> 00:13:08,226 Så her jeg bare inn i frederickw.com. 178 00:13:08,226 --> 00:13:14,660 >> Og så, endelig, velger jeg hvor Jeg ønsker å lagre prosjektet mitt i. 179 00:13:14,660 --> 00:13:21,080 Og jeg kommer til å bare velge skrivebordet mitt. 180 00:13:21,080 --> 00:13:28,670 Så Brukere, Frederick Widjaja, og Desktop. 181 00:13:28,670 --> 00:13:31,340 OK. 182 00:13:31,340 --> 00:13:34,090 Deretter klikker du Neste. 183 00:13:34,090 --> 00:13:39,630 Her kommer jeg til å velge minimum API for å bli støttet. 184 00:13:39,630 --> 00:13:44,910 Så i dette tilfellet, er jeg kommer til å velge API 15. 185 00:13:44,910 --> 00:13:51,530 Og det er fint hvis du faktisk bare velger 4.4 som er den nyeste API. 186 00:13:51,530 --> 00:13:53,560 Eller 5, faktisk. 187 00:13:53,560 --> 00:13:57,714 Men da trenger du bare å bekymre deg hvilke telefoner du virkelig støtter, 188 00:13:57,714 --> 00:13:59,130 og hvilke telefoner du målretter. 189 00:13:59,130 --> 00:14:04,230 190 00:14:04,230 --> 00:14:06,260 Klikk på Neste. 191 00:14:06,260 --> 00:14:09,780 >> OK, så vi kommer til denne skjermen, og vi er bare 192 00:14:09,780 --> 00:14:15,110 kommer til å bruke skape en aktivitet gjennom dette. 193 00:14:15,110 --> 00:14:19,890 Så jeg kommer til å klikke blank aktivitet og deretter Neste. 194 00:14:19,890 --> 00:14:23,110 Vi kommer til å kalle det viktigste aktivitet, tror jeg det er fint. 195 00:14:23,110 --> 00:14:27,800 Bare skal kalle det, trykker Finish akkurat her. 196 00:14:27,800 --> 00:14:36,250 Vent til det å laste, og det vi går. 197 00:14:36,250 --> 00:14:40,600 >> Så her vi legger merke til tre ulike mapper. 198 00:14:40,600 --> 00:14:44,290 Vi har manifest mappen som inneholder vår manifest. 199 00:14:44,290 --> 00:14:48,360 Hvis du åpner den, vil vi se vår pakke. 200 00:14:48,360 --> 00:14:54,000 Eller hvordan Android identifiserer søknaden din 201 00:14:54,000 --> 00:14:58,990 og så har vi dette søknad tag, som 202 00:14:58,990 --> 00:15:05,420 inneholder tittelen på vår søknad så vel som ikon for programmet. 203 00:15:05,420 --> 00:15:08,050 204 00:15:08,050 --> 00:15:11,950 >> Vi kan faktisk kjøre dette søknad rett. 205 00:15:11,950 --> 00:15:14,600 Så hvorfor ikke vi prøve og gjøre det? 206 00:15:14,600 --> 00:15:16,310 Jeg kommer til å bruke Genymotion. 207 00:15:16,310 --> 00:15:22,150 Hvis du med din egen telefon, kan du knytte den opp og kjøre det hvis du vil. 208 00:15:22,150 --> 00:15:31,213 Men jeg bare kommer til å bruke en emulator, og jeg kommer til å starte dette. 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 Vel jeg tror det er kommer til å ta en stund, 212 00:15:42,780 --> 00:15:49,580 så jeg tror vi vil bare få rett til å forklare mer om dette. 213 00:15:49,580 --> 00:15:56,200 Så her vi har Java-katalogen, eller hvor kildefilene finnes. 214 00:15:56,200 --> 00:16:02,500 Her har vi den viktigste aktiviteten i seg selv. 215 00:16:02,500 --> 00:16:07,120 Du kan se at det utvider aktiviteten klasse. 216 00:16:07,120 --> 00:16:12,750 Så vår hovedvirksomhet er en skjerm som kommer i vår søknad. 217 00:16:12,750 --> 00:16:21,790 Og så her ser vi at en rekke av funksjoner er automatisk generert for oss. 218 00:16:21,790 --> 00:16:26,037 Vi har onCreate funksjon, og som vil bli kalt whenever-- 219 00:16:26,037 --> 00:16:27,870 STUDENT: Gjør det noe noe som gjør teksten større? 220 00:16:27,870 --> 00:16:28,940 FRED WIDJAJA: OK, sikkert. 221 00:16:28,940 --> 00:16:38,380 222 00:16:38,380 --> 00:16:41,640 Jeg skal prøve og øke skriftstørrelsen. 223 00:16:41,640 --> 00:17:03,570 224 00:17:03,570 --> 00:17:06,490 Tror det bør være god. 225 00:17:06,490 --> 00:17:07,020 Det bra? 226 00:17:07,020 --> 00:17:09,480 >> STUDENT: Bare litt høyere, som 20 eller noe. 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, greit. 231 00:17:20,990 --> 00:17:24,740 Så her har vi onCreate metode som ville 232 00:17:24,740 --> 00:17:29,750 bli kalt når vår aktivitet opprettes i [? vise?]. 233 00:17:29,750 --> 00:17:32,100 Vi har onCreateOptionsMenu, og vi vil 234 00:17:32,100 --> 00:17:38,370 se at det er faktisk en handling bar, og deretter 235 00:17:38,370 --> 00:17:42,920 vi kan legge visse menypunkter på den. 236 00:17:42,920 --> 00:17:45,710 Og så her har vi onOptionsItemSelected. 237 00:17:45,710 --> 00:17:52,210 Så dette er som en hendelse lytteren, så når et alternativ i vår handling bar 238 00:17:52,210 --> 00:17:58,450 klikkes, dette funksjonen vil bli kalt, 239 00:17:58,450 --> 00:18:01,270 og det vil bli vedtatt med en visst element som ble klikket. 240 00:18:01,270 --> 00:18:05,670 241 00:18:05,670 --> 00:18:11,576 >> OK, jeg kommer til å see-- som ikke fungerer godt. 242 00:18:11,576 --> 00:18:13,028 La oss prøve og starte. 243 00:18:13,028 --> 00:18:16,416 244 00:18:16,416 --> 00:18:17,384 Oh dear. 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 Dette er bekymringsfullt. 248 00:18:24,320 --> 00:18:39,390 249 00:18:39,390 --> 00:18:41,500 OK, så uansett. 250 00:18:41,500 --> 00:18:44,940 Her har vi oppsettet for vår aktivitet i seg selv. 251 00:18:44,940 --> 00:18:50,150 Dette er vår hovedaktivitet, og her Vi merker at det er handlingsfeltet. 252 00:18:50,150 --> 00:18:54,460 Og så har vi dette hallo verden etikett, og vi kan faktisk 253 00:18:54,460 --> 00:18:57,830 redigere teksten her. 254 00:18:57,830 --> 00:19:03,260 Hvis du går og rull ned til Hello World, 255 00:19:03,260 --> 00:19:06,360 vi kan endre det til hva vi vil. 256 00:19:06,360 --> 00:19:10,070 For eksempel kan det være, Hei der. 257 00:19:10,070 --> 00:19:12,820 Velkommen. 258 00:19:12,820 --> 00:19:14,345 Og der vi går, det endringer. 259 00:19:14,345 --> 00:19:20,380 260 00:19:20,380 --> 00:19:20,880 Oh dear. 261 00:19:20,880 --> 00:19:24,310 262 00:19:24,310 --> 00:19:26,010 Denne stilen ikke fungerer. 263 00:19:26,010 --> 00:19:28,320 OK, det er bekymringsfullt. 264 00:19:28,320 --> 00:19:32,000 OK, uansett, kan vi gå videre uten det. 265 00:19:32,000 --> 00:19:38,560 Så for nå, la oss prøve og gjøre noen virkelig grunnleggende ting. 266 00:19:38,560 --> 00:19:42,450 Så her vi kommer til å ha en etikett, og da er vi 267 00:19:42,450 --> 00:19:47,005 kommer til å ha en tekst view-- sorry, ikke en tekstvisning, 268 00:19:47,005 --> 00:19:49,310 vi kommer til å ha en redigere tekst. 269 00:19:49,310 --> 00:19:53,900 Og det er en komponent for deg å skrive og sånt. 270 00:19:53,900 --> 00:19:56,590 271 00:19:56,590 --> 00:20:07,240 Så vi har en ren tekst, og deretter vi bare legge det inn på vår grensesnitt. 272 00:20:07,240 --> 00:20:13,520 >> Her ønsker jeg å også legge litt margin til toppen, slik at det ser bedre. 273 00:20:13,520 --> 00:20:19,190 Så vi kommer til å gå videre til egenskaper, og deretter på toppen margin, 274 00:20:19,190 --> 00:20:23,120 vi kommer til å legge i 20 DPs. 275 00:20:23,120 --> 00:20:28,170 Så nå, DPs er bare en måleenhet i Android, 276 00:20:28,170 --> 00:20:31,240 og de står for tetthet uavhengige piksler. 277 00:20:31,240 --> 00:20:35,380 Så, som du kanskje vet, Android, er det mange forskjellige typer skjermer 278 00:20:35,380 --> 00:20:38,410 og da de har ulike skjerm tettheter. 279 00:20:38,410 --> 00:20:42,584 Så her er det bare kommer til å være en tetthet uavhengig piksel, 280 00:20:42,584 --> 00:20:44,750 så det kommer til å være det samme gjennom alle skjermene. 281 00:20:44,750 --> 00:20:49,046 282 00:20:49,046 --> 00:20:55,270 >> Kommer til å forlenge denne redigere teksten, og da er jeg også kommer til å legge en knapp. 283 00:20:55,270 --> 00:21:02,900 284 00:21:02,900 --> 00:21:04,370 Og det kommer til å si OK. 285 00:21:04,370 --> 00:21:09,639 286 00:21:09,639 --> 00:21:10,597 20 DPS. 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 Så nå har vi tre ulike komponenter. 290 00:21:20,060 --> 00:21:25,630 Og måten vi kan referere til disse i vår hovedaktivitet klasse 291 00:21:25,630 --> 00:21:29,620 er ved hjelp av denne metoden kalt findViewByID. 292 00:21:29,620 --> 00:21:36,790 Så jeg kommer til å definere noen felt. 293 00:21:36,790 --> 00:21:48,290 Så vi har i TextView, så la oss si helloText. 294 00:21:48,290 --> 00:21:55,400 295 00:21:55,400 --> 00:21:59,930 Og så hvis du bruker Android Studio, du kan bruke snarvei alternativ, 296 00:21:59,930 --> 00:22:01,120 inn. 297 00:22:01,120 --> 00:22:07,400 Og klikk på Importer klasse til automatisk importere de tilsvarende klasser 298 00:22:07,400 --> 00:22:07,950 som vi trenger. 299 00:22:07,950 --> 00:22:10,590 300 00:22:10,590 --> 00:22:20,800 Og så her kommer jeg til å legge en ID til dette TextView og kaller det text_hello. 301 00:22:20,800 --> 00:22:28,320 302 00:22:28,320 --> 00:22:32,050 Nå som vi har definert en ID for denne TextView, 303 00:22:32,050 --> 00:22:38,020 vi kan bruke dette til å referere til textview at vi bare definert. 304 00:22:38,020 --> 00:22:47,970 Så helloText lik TextView findViewByID, 305 00:22:47,970 --> 00:22:52,630 og da vi spesifisere ID som vi ønsker, som er r.ID.text_hello. 306 00:22:52,630 --> 00:22:55,360 307 00:22:55,360 --> 00:22:59,560 >> Så dette er veldig lik Java og jQuery, der vi kan faktisk bare 308 00:22:59,560 --> 00:23:05,430 henvise til visse elementer i oppsettet bare 309 00:23:05,430 --> 00:23:08,330 ved hjelp av ID som vi har spesifisert. 310 00:23:08,330 --> 00:23:17,240 Så generelt, for å få tilgang til en bestemt objekt eller et bestemt felt 311 00:23:17,240 --> 00:23:22,030 i vår layout, kommer du til å ha å bruke denne findViewByID metoden. 312 00:23:22,030 --> 00:23:26,290 Og så skal vi gjøre det samme ting for de to andre elementene. 313 00:23:26,290 --> 00:23:29,570 314 00:23:29,570 --> 00:23:36,683 Her kommer jeg til å tilsett ID text_name. 315 00:23:36,683 --> 00:23:40,760 316 00:23:40,760 --> 00:23:42,770 Ja. 317 00:23:42,770 --> 00:23:46,610 Samt for denne. 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 >> Nå hva jeg vil at dette skal gjøre er når vi klikker på OK-knappen, 322 00:23:58,120 --> 00:24:02,110 og vi har lagt inn en slags av navnet i tekstfeltet, 323 00:24:02,110 --> 00:24:10,880 så det kommer til å oppdatere denne etiketten for å si hei, navn, velkommen. 324 00:24:10,880 --> 00:24:16,520 Så, tilbake i vår hoved aktivitetsklasse, vi er 325 00:24:16,520 --> 00:24:23,210 også kommer til å prøve og se de elementene som vi må finne. 326 00:24:23,210 --> 00:24:30,860 >> Så vi har 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 Skriv inn og alternative, import klasse. 330 00:24:38,500 --> 00:24:41,060 Og da også på OK-knappen. 331 00:24:41,060 --> 00:24:45,660 332 00:24:45,660 --> 00:24:48,980 På samme måte skal vi gjøre det samme over her. 333 00:24:48,980 --> 00:24:54,900 nameText lik EditText- findViewByID, r.ID.text_name. 334 00:24:54,900 --> 00:25:01,430 335 00:25:01,430 --> 00:25:03,380 Og deretter på OK-knappen. 336 00:25:03,380 --> 00:25:10,180 337 00:25:10,180 --> 00:25:13,840 findViewByID, r.ID, og ​​deretter button_ok. 338 00:25:13,840 --> 00:25:16,400 339 00:25:16,400 --> 00:25:22,240 >> OK, så nå har vi alle tre elementer som vi ønsker å referere til. 340 00:25:22,240 --> 00:25:27,630 Så nå kommer jeg til å legge ved en on-klikk lytteren til vår knapp 341 00:25:27,630 --> 00:25:30,440 å lytte til brukeren klikker. 342 00:25:30,440 --> 00:25:35,780 Til at vi bare bruker setOnClickListener hendelsen. 343 00:25:35,780 --> 00:25:38,860 344 00:25:38,860 --> 00:25:44,010 Nå, her er det å si at vi trenger å spesifisere setOnClickListener, 345 00:25:44,010 --> 00:25:51,030 og du kan gjøre det ved bare å ha en ny onClickListener, og trykk på Enter. 346 00:25:51,030 --> 00:25:56,935 >> Og så har du dette anonym klasse, eller anonym objekt. 347 00:25:56,935 --> 00:25:59,530 348 00:25:59,530 --> 00:26:02,790 Og vi har også denne onClick metode, er og som i utgangspunktet 349 00:26:02,790 --> 00:26:05,580 hva det kommer til å bli kalt når knappen vår er klikket. 350 00:26:05,580 --> 00:26:15,860 >> Så her, ønsker jeg å få navnet som var innspill til en tekstfeltet først So 351 00:26:15,860 --> 00:26:17,700 String navn lik nameText.getText (). 352 00:26:17,700 --> 00:26:21,670 353 00:26:21,670 --> 00:26:26,400 Igjen, dette er som den Java syntaks for å verve 354 00:26:26,400 --> 00:26:29,130 til funksjonene innenfor objektet. 355 00:26:29,130 --> 00:26:36,290 Så nameText.getText, og da er vi kommer til å konvertere den til en streng. 356 00:26:36,290 --> 00:26:41,090 Nå har vi navn som var innspill av brukeren. 357 00:26:41,090 --> 00:26:46,140 >> Og så skal vi generere en ny streng, 358 00:26:46,140 --> 00:26:48,980 så det kommer til å bli kalt hei. 359 00:26:48,980 --> 00:26:56,325 Jeg kommer til å si, hei, navn, velkommen. 360 00:26:56,325 --> 00:27:00,810 361 00:27:00,810 --> 00:27:05,265 Og til slutt, vil du å oppdatere helloText. 362 00:27:05,265 --> 00:27:09,190 Så for å gjøre det, vi bare ringe helloText.setText (hallo). 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 >> Jeg kommer til å prøve og kjøre Genymotion en siste gang og se om det fungerer. 368 00:27:30,645 --> 00:27:35,160 369 00:27:35,160 --> 00:27:38,810 Hvis den ikke gjør det, er det helt greit. 370 00:27:38,810 --> 00:27:39,730 OK. 371 00:27:39,730 --> 00:27:41,970 Så jeg antar det ikke fungerer. 372 00:27:41,970 --> 00:27:48,960 373 00:27:48,960 --> 00:27:52,955 Egentlig, la meg prøve og gjøre dette. 374 00:27:52,955 --> 00:27:56,188 375 00:27:56,188 --> 00:27:57,174 Kan være dette. 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 OK. 382 00:28:33,980 --> 00:28:35,170 Ja, det fungerer. 383 00:28:35,170 --> 00:28:38,020 OK. 384 00:28:38,020 --> 00:28:39,250 Det var skremmende. 385 00:28:39,250 --> 00:28:40,890 OK. 386 00:28:40,890 --> 00:28:43,270 Jeg mente ikke å gjøre det. 387 00:28:43,270 --> 00:28:46,570 OK, så vi har denne Android-emulatoren. 388 00:28:46,570 --> 00:28:49,070 La meg slå dette av. 389 00:28:49,070 --> 00:28:52,290 390 00:28:52,290 --> 00:28:55,720 Så vi har vår Android emulator. 391 00:28:55,720 --> 00:28:59,750 Så vi kommer til å prøve og kjøre denne app som vi har gjort. 392 00:28:59,750 --> 00:29:04,100 Bare kommer til å klikke på Play-knappen, og det kommer til å si, venter på ADB. 393 00:29:04,100 --> 00:29:10,580 394 00:29:10,580 --> 00:29:12,780 Oh, mann. 395 00:29:12,780 --> 00:29:13,280 Starte på nytt. 396 00:29:13,280 --> 00:29:25,419 397 00:29:25,419 --> 00:29:30,150 OK, jeg antar at dette fortsatt ikke fungerer. 398 00:29:30,150 --> 00:29:31,280 OK, glem, da. 399 00:29:31,280 --> 00:29:33,841 400 00:29:33,841 --> 00:29:38,150 dette kommer til å være en synd. 401 00:29:38,150 --> 00:29:41,030 Men så la oss si at vi ønsker for å opprette en ny aktivitet, 402 00:29:41,030 --> 00:29:45,730 og vi kommer til å ha en Bildet i denne aktiviteten. 403 00:29:45,730 --> 00:29:52,120 For å gjøre det, kan vi bare klikke dette Fil, og deretter Ny. 404 00:29:52,120 --> 00:29:57,760 Og så her kan vi velge Aktivitet, og deretter Blank aktivitet. 405 00:29:57,760 --> 00:29:59,840 Her kommer vi til å kalle det kanskje CatActivity. 406 00:29:59,840 --> 00:30:03,030 407 00:30:03,030 --> 00:30:06,537 >> OK, så nå er det genererer to andre filer. 408 00:30:06,537 --> 00:30:08,245 Heter activity_cat, og den annen 409 00:30:08,245 --> 00:30:10,630 kalles catActivity, som er en klasse. 410 00:30:10,630 --> 00:30:13,250 411 00:30:13,250 --> 00:30:18,648 Så la oss si at vi ønsker å legge til et bilde av en katt her. 412 00:30:18,648 --> 00:30:21,790 413 00:30:21,790 --> 00:30:25,220 Så når du gjør det, skal vi å bruke Imageview klasse. 414 00:30:25,220 --> 00:30:28,076 415 00:30:28,076 --> 00:30:31,340 Vi kommer til å legge den inn her. 416 00:30:31,340 --> 00:30:35,350 Og deretter sette margin å være 20 DP. 417 00:30:35,350 --> 00:30:37,920 418 00:30:37,920 --> 00:30:41,240 >> Og nå skal vi finne et bilde av en katt på internett. 419 00:30:41,240 --> 00:30:43,270 Så la oss se. 420 00:30:43,270 --> 00:30:43,770 Katt. 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 Jeg antar dette er greit. 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 Så nå har vi vår image. 427 00:31:02,780 --> 00:31:07,720 Så vi kommer til å legge til det inn i vårt prosjekt. 428 00:31:07,720 --> 00:31:16,140 Kan gjøre dette ved å høyre klikke, og then-- vi 429 00:31:16,140 --> 00:31:25,965 kan faktisk bare åpne dette, gå nedlastinger, sorry, skrivebordet. 430 00:31:25,965 --> 00:31:28,310 Skal prøve og finne det. 431 00:31:28,310 --> 00:31:28,810 Katt. 432 00:31:28,810 --> 00:31:34,580 433 00:31:34,580 --> 00:31:35,790 Akkurat her. 434 00:31:35,790 --> 00:31:42,820 Jeg kommer til å kopiere den inn i mappen min. 435 00:31:42,820 --> 00:31:46,800 Nå, det kommer til å spørre meg noen alternativer. 436 00:31:46,800 --> 00:31:49,250 Nå, jeg bare vil at dette skal være i teikne mappe, 437 00:31:49,250 --> 00:31:54,390 og som kommer til å være for alle forskjellige skjermoppløsninger. 438 00:31:54,390 --> 00:31:57,100 Alternativt kan vi faktisk bare velge 439 00:31:57,100 --> 00:32:01,270 hvilken skjermoppløsning du ønsker dette bilde for å være i. 440 00:32:01,270 --> 00:32:06,150 Så kommer til å velge teikne mappe, klikker du på OK. 441 00:32:06,150 --> 00:32:08,660 442 00:32:08,660 --> 00:32:09,910 Bare kommer til å nevne det cat.jpg. 443 00:32:09,910 --> 00:32:12,560 444 00:32:12,560 --> 00:32:15,970 >> OK, så nå er det lagt inn i vår bildevisningen. 445 00:32:15,970 --> 00:32:18,800 446 00:32:18,800 --> 00:32:22,020 vi er nødt til å bruke denne kilden akkurat her, 447 00:32:22,020 --> 00:32:27,420 og så kan vi bruke denne dot dot dot knappen, og velg katten bilde. 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 Så nå ønsker jeg å gjøre det slik at det er akkurat passe stor. 451 00:32:39,480 --> 00:32:50,050 Så jeg kommer til å velge dette justere vise grensene alternativet akkurat her, 452 00:32:50,050 --> 00:32:54,960 og som automatisk setter det til riktig størrelse. 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 Nå, å faktisk lansere dette aktivitet fra vår forrige aktivitet, 456 00:33:09,380 --> 00:33:15,470 du er nødt til å bruke noe som kalles intensjonen. 457 00:33:15,470 --> 00:33:19,115 Så la oss si jeg kommer til å legge til en annen knappen som starter aktiviteten. 458 00:33:19,115 --> 00:33:26,640 459 00:33:26,640 --> 00:33:29,150 Jeg kommer til å legge det her, akkurat her. 460 00:33:29,150 --> 00:33:36,160 Og så kommer det til å har teksten aktivere den. 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 >> Nå, hvordan gjør vi faktisk åpne ny aktivitet innenfor denne aktiviteten? 466 00:33:47,560 --> 00:33:52,280 467 00:33:52,280 --> 00:33:54,650 Så samme avtale som før. 468 00:33:54,650 --> 00:34:01,120 Vi må legge en ID til dette knappen, og kaller det button_activate. 469 00:34:01,120 --> 00:34:09,489 470 00:34:09,489 --> 00:34:16,880 Og deretter i vår hovedaktivitet, går å ha denne nye Button activateButton. 471 00:34:16,880 --> 00:34:21,630 472 00:34:21,630 --> 00:34:26,150 Og da også bruke findViewByID metoden. 473 00:34:26,150 --> 00:34:29,449 474 00:34:29,449 --> 00:34:33,960 activateButton lik 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 Og da vi også kommer til å legge til i en 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 Og så kommer vi til å bruke dette som kalles Intent. 482 00:35:07,145 --> 00:35:10,070 483 00:35:10,070 --> 00:35:11,905 Intent lik ny Intent (denne). 484 00:35:11,905 --> 00:35:17,260 485 00:35:17,260 --> 00:35:20,699 Og deretter navnet på aktivitet som vi ønsker å vise opp. 486 00:35:20,699 --> 00:35:22,990 Så her i dette, skal vi å ha catActivity.class. 487 00:35:22,990 --> 00:35:30,412 488 00:35:30,412 --> 00:35:31,147 Unnskyld. 489 00:35:31,147 --> 00:35:33,230 Vi er nødt til å spesifisere @ MainActivity.this. 490 00:35:33,230 --> 00:35:36,100 491 00:35:36,100 --> 00:35:41,910 Så nå .this eiendom henviser til den aktuelle forekomst av objektet 492 00:35:41,910 --> 00:35:43,271 selv. 493 00:35:43,271 --> 00:35:43,770 OK. 494 00:35:43,770 --> 00:35:48,020 Opp til dette punktet, noen spørsmål? 495 00:35:48,020 --> 00:35:48,890 Alt bra? 496 00:35:48,890 --> 00:35:49,390 OK. 497 00:35:49,390 --> 00:35:52,890 498 00:35:52,890 --> 00:35:57,430 >> Og så hvis du ønsker å starte aktiviteten, er det ganske enkelt. 499 00:35:57,430 --> 00:35:59,904 Vi kaller den startActivity metoden. 500 00:35:59,904 --> 00:36:04,260 501 00:36:04,260 --> 00:36:07,355 Og da vi passerer i Intent objekt som vi nettopp har definert. 502 00:36:07,355 --> 00:36:10,640 503 00:36:10,640 --> 00:36:16,140 Dessverre, vi kan egentlig ikke vise dette. 504 00:36:16,140 --> 00:36:23,000 Jeg hadde håpet at vi faktisk kan kjøre dette og vise det sammen på seminaret, 505 00:36:23,000 --> 00:36:26,661 men dessverre ikke. 506 00:36:26,661 --> 00:36:28,980 Oh, mann. 507 00:36:28,980 --> 00:36:29,480 Jeg skjønner. 508 00:36:29,480 --> 00:36:32,134 Åh, vi kommer til å prøve og drepe 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 Starte på nytt. 512 00:36:45,714 --> 00:36:53,490 513 00:36:53,490 --> 00:36:56,262 Fungerte det? 514 00:36:56,262 --> 00:36:57,710 Oh, OK. 515 00:36:57,710 --> 00:37:00,660 Så nå er det faktisk kompilering. 516 00:37:00,660 --> 00:37:02,410 Oh. 517 00:37:02,410 --> 00:37:04,420 Dessverre er det ingen enheter som kjører. 518 00:37:04,420 --> 00:37:06,040 La oss prøve og starte min emulator. 519 00:37:06,040 --> 00:37:56,335 520 00:37:56,335 --> 00:37:57,880 Ah, der vi går. 521 00:37:57,880 --> 00:37:59,050 Det dukket opp. 522 00:37:59,050 --> 00:38:00,070 OK. 523 00:38:00,070 --> 00:38:06,010 Så jeg kommer til å lansere min app på Android emulator. 524 00:38:06,010 --> 00:38:08,330 Og vi har de tingene at vi definerte nettopp nå. 525 00:38:08,330 --> 00:38:13,620 Så vi har etiketten, tekstvisning tekstfeltet, og deretter knappen. 526 00:38:13,620 --> 00:38:18,449 Så jeg kommer til å legge inn navnet mitt akkurat her, 527 00:38:18,449 --> 00:38:19,990 og der vi går, den har endret teksten. 528 00:38:19,990 --> 00:38:25,980 Så hvis vi skriver i Foo, er det kommer til å endre til Foo. 529 00:38:25,980 --> 00:38:29,040 >> Og hvis jeg trykker på Aktiver knapp, som 530 00:38:29,040 --> 00:38:34,560 vi har knyttet til faktisk lansere en ny aktivitet, forhåpentligvis dette vil fungere, 531 00:38:34,560 --> 00:38:35,190 der vi går. 532 00:38:35,190 --> 00:38:36,760 Det lanserer den nye aktiviteten. 533 00:38:36,760 --> 00:38:40,001 534 00:38:40,001 --> 00:38:47,010 For å gå tilbake, kan vi trykke Tilbake-knappen til høyre her. 535 00:38:47,010 --> 00:38:47,510 Eller ikke. 536 00:38:47,510 --> 00:38:49,610 Oh, der vi går. 537 00:38:49,610 --> 00:38:51,450 Oops. 538 00:38:51,450 --> 00:38:52,611 Det var dårlig. 539 00:38:52,611 --> 00:38:53,890 OK. 540 00:38:53,890 --> 00:38:58,550 >> Så nå som vi har implementert noen grunnleggende ting i Android, 541 00:38:58,550 --> 00:39:04,800 vi kan prøve og gjøre noen mer komplisert ting. 542 00:39:04,800 --> 00:39:10,070 Så først, la oss prøve og passere meldinger fra en aktivitet til en annen. 543 00:39:10,070 --> 00:39:13,760 Så la oss si vi ønsker å passere i et navn fra hovedaktiviteten 544 00:39:13,760 --> 00:39:16,710 til CAT-aktivitet. 545 00:39:16,710 --> 00:39:19,740 Og et navn ville være hentet fra denne nameText. 546 00:39:19,740 --> 00:39:23,510 547 00:39:23,510 --> 00:39:30,160 >> OK, så første, skal vi hente navnet akkurat her. 548 00:39:30,160 --> 00:39:32,230 String navn lik 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 Og så kan vi bruke denne tingen kalt intent.putExtra (navn), 552 00:39:52,260 --> 00:39:57,650 og da er det faktisk også ønsker en nøkkel for dette ekstra felt. 553 00:39:57,650 --> 00:40:05,520 >> Så jeg kommer til å definere en ny nøkkel, vi kaller det EXTRA_NAME. 554 00:40:05,520 --> 00:40:11,570 555 00:40:11,570 --> 00:40:17,160 Så jeg kommer til å bruke denne nøkkel, CatActivity.EXTRA_NAME, 556 00:40:17,160 --> 00:40:21,010 og deretter passere i navnet selv. 557 00:40:21,010 --> 00:40:26,370 >> OK, så nå kan vi faktisk hente dette innenfor den nye CatActivity. 558 00:40:26,370 --> 00:40:38,650 For å gjøre det, må vi bruke hensikt tilsvarer getIntent metoden. 559 00:40:38,650 --> 00:40:41,360 Så nå kommer det til å hente den hensikt at 560 00:40:41,360 --> 00:40:45,070 ble brukt til å kalle denne nye aktiviteten. 561 00:40:45,070 --> 00:40:50,340 Så hvis du ønsker å hente strengen at vi faktisk satt inne i hensikt, 562 00:40:50,340 --> 00:41:00,255 du kan bruke en intent.getStringExtra og deretter passere i samme toneart, 563 00:41:00,255 --> 00:41:04,080 564 00:41:04,080 --> 00:41:10,570 >> OK, så nå la oss si vi deg ønsker å endre dette feltet. 565 00:41:10,570 --> 00:41:14,422 566 00:41:14,422 --> 00:41:15,630 Endre dette feltet her. 567 00:41:15,630 --> 00:41:18,400 568 00:41:18,400 --> 00:41:20,900 Og la oss gjøre skriften Størrelsen på dette feltet større. 569 00:41:20,900 --> 00:41:26,480 Så la oss si jeg vil at dette skal være 20 DP. 570 00:41:26,480 --> 00:41:28,340 OK. 571 00:41:28,340 --> 00:41:32,070 Og jeg kommer til å legge en ID for denne TextView, 572 00:41:32,070 --> 00:41:35,690 og jeg kommer til å kalle det text_cat. 573 00:41:35,690 --> 00:41:41,170 574 00:41:41,170 --> 00:41:41,670 Unnskyld. 575 00:41:41,670 --> 00:41:45,630 576 00:41:45,630 --> 00:41:51,310 >> Og tilbake i CatActivity, samme avtale som før. 577 00:41:51,310 --> 00:41:55,090 Vi kommer til å definere noen felt. 578 00:41:55,090 --> 00:41:58,890 Her kommer det til å være en TextView catText. 579 00:41:58,890 --> 00:42:03,500 580 00:42:03,500 --> 00:42:11,750 Og så catText lik 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 Og deretter tilbake i her, er jeg kommer til å sette tekst til høyre 584 00:42:24,100 --> 00:42:28,120 etter vi tar for det fra intensjonen. 585 00:42:28,120 --> 00:42:30,207 586 00:42:30,207 --> 00:42:30,790 setText (navn). 587 00:42:30,790 --> 00:42:36,020 588 00:42:36,020 --> 00:42:38,056 >> OK, så la oss prøve det ut. 589 00:42:38,056 --> 00:42:39,070 Klikk på Play-knappen. 590 00:42:39,070 --> 00:42:41,830 591 00:42:41,830 --> 00:42:43,445 Jeg kommer til å bruke den samme enheten. 592 00:42:43,445 --> 00:42:47,770 593 00:42:47,770 --> 00:42:50,380 Tilbake i her. 594 00:42:50,380 --> 00:42:57,030 Så la oss si at jeg ikke input-- hvis vi ikke spesifiserer noe navn, 595 00:42:57,030 --> 00:42:59,330 La oss se hva som skjer. 596 00:42:59,330 --> 00:43:02,150 Så nå er det ingenting som vises. 597 00:43:02,150 --> 00:43:10,390 Så vi går tilbake og innspill vårt navn, det er bare kommer til å si Fred. 598 00:43:10,390 --> 00:43:14,670 Så vi kan faktisk passere meldinger fra en aktivitet til en annen. 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 >> Så det er en haug med andre visninger som du kan bruke i Android. 602 00:43:22,590 --> 00:43:29,740 Så nå har vi fremdriftsindikatorer, vi har listevisninger, har vi vippeknapper, 603 00:43:29,740 --> 00:43:33,950 og hvis du virkelig ønsket for å lære mer om det, 604 00:43:33,950 --> 00:43:36,790 du kan faktisk besøke disse nettsidene. 605 00:43:36,790 --> 00:43:41,160 De inneholder mange forskjellige ressurser. 606 00:43:41,160 --> 00:43:45,230 Så for eksempel, API veilede rett her faktisk 607 00:43:45,230 --> 00:43:50,885 gir deg noen kodeeksempler for enkelte funksjoner i Android-biblioteket. 608 00:43:50,885 --> 00:43:53,692 609 00:43:53,692 --> 00:43:57,560 >> Og noen tutorials jeg fant nyttig når man lærer om Android. 610 00:43:57,560 --> 00:44:06,890 Det er den offisielle opplæringen selv, og også denne annen tutorial her. 611 00:44:06,890 --> 00:44:10,200 Og til slutt, kan du faktisk bruke ulike biblioteker 612 00:44:10,200 --> 00:44:12,710 for din Android-applikasjon. 613 00:44:12,710 --> 00:44:16,370 Nå, disse faktisk forlenge funksjonaliteten til programmet ditt 614 00:44:16,370 --> 00:44:19,665 uten å måtte egentlig skrive mye kode. 615 00:44:19,665 --> 00:44:21,540 Ulempen er, selvfølgelig, at du faktisk 616 00:44:21,540 --> 00:44:23,890 må lære bibliotekene selv. 617 00:44:23,890 --> 00:44:29,170 >> Så for eksempel, hvis du ønsker å gjøre bruk av Dropbox sky teknologi, 618 00:44:29,170 --> 00:44:33,400 Da kan du bruke Dropbox API. 619 00:44:33,400 --> 00:44:36,530 Lignende med Facebook API. 620 00:44:36,530 --> 00:44:40,490 Og så er det faktisk noen forskjellige andre diverse biblioteker 621 00:44:40,490 --> 00:44:41,700 som du kan bruke. 622 00:44:41,700 --> 00:44:45,560 Hvis du prøver å få, som, JSON fra et bestemt nettsted, 623 00:44:45,560 --> 00:44:49,560 så jeg tror Google JSON bibliotek ville være ganske nyttig. 624 00:44:49,560 --> 00:44:56,200 Så nå, som konverterer en JSON formatert tekst inn i en Java-objekt, 625 00:44:56,200 --> 00:44:58,600 og vice versa. 626 00:44:58,600 --> 00:45:01,110 >> Og så er det Retrofit og Picasso. 627 00:45:01,110 --> 00:45:07,240 Og det er hvis du ønsker å use-- det er for hvis du bruker en resten API. 628 00:45:07,240 --> 00:45:13,300 Og Picasso, hvis du bruker bilder for din Android-applikasjon. 629 00:45:13,300 --> 00:45:14,350 OK. 630 00:45:14,350 --> 00:45:18,030 Tusen takk, og ha det gøy koding. 631 00:45:18,030 --> 00:45:19,723