1 00:00:00,000 --> 00:00:09,620 2 00:00:09,620 --> 00:00:11,550 >> Fred WIDJAJA: Bone. 3 00:00:11,550 --> 00:00:12,600 Saluton, ĉiuj. 4 00:00:12,600 --> 00:00:19,450 Dankon bonvena por aliĝi min en ĉi tiu seminario. 5 00:00:19,450 --> 00:00:23,130 Do hodiaŭ ni iras por paroli pri kiom por disvolvi apps por Android, 6 00:00:23,130 --> 00:00:26,870 kaj aparte, ni tuj esti uzante Android Studio en ordo 7 00:00:26,870 --> 00:00:29,490 disvolvi nian apps. 8 00:00:29,490 --> 00:00:32,150 >> Do kiel vi cxiuj sciu. 9 00:00:32,150 --> 00:00:36,750 Android uzas Java, kaj tiaj ni estos irante tra mallonga enkonduko 10 00:00:36,750 --> 00:00:39,860 sur Java mem. 11 00:00:39,860 --> 00:00:45,830 Do mi scias multaj de vi nur havas sperto programado en C. Do 12 00:00:45,830 --> 00:00:48,760 tio tute delikata, kaj tio estas ĉar Java estas tre, tre 13 00:00:48,760 --> 00:00:53,750 simila al C, kun iom diferencojn. 14 00:00:53,750 --> 00:01:00,040 >> Do la tipojn en Java estas fiksitaj en la nombro de bajtoj. 15 00:01:00,040 --> 00:01:04,290 Do en C, ni havi shorts kaj sopiras, kaj oni 16 00:01:04,290 --> 00:01:07,880 diferenci en kvanto de bitoj laŭ la maŝinoj. 17 00:01:07,880 --> 00:01:10,990 En Java, ĝi estas jam fiksita kiel normo. 18 00:01:10,990 --> 00:01:16,320 Do bajtoj havas ok bitoj, shorts havas 16 bitoj, kaj tiel plu kaj tiel antaŭen. 19 00:01:16,320 --> 00:01:22,780 Ni ankaŭ havas signojn, booleans, kaj ankaŭ flosas kaj duobloj. 20 00:01:22,780 --> 00:01:27,150 Do la vojo vi plani en Java, ĝi estas tre simila. 21 00:01:27,150 --> 00:01:30,150 Do ekzemple, ni havas por maŝojn kaj dum maŝojn, 22 00:01:30,150 --> 00:01:39,090 kaj se kaj alie asertoj estas ĝuste la sama kiel vi faros en C. 23 00:01:39,090 --> 00:01:45,390 >> Bone, do la speciala afero pri Java estas ke ĝi estas objektema. 24 00:01:45,390 --> 00:01:46,560 Nun, kio estas celoj? 25 00:01:46,560 --> 00:01:49,220 Do se vi rigardas la aferojn ĉirkaŭ vi, vi devos 26 00:01:49,220 --> 00:01:54,540 rimarkos ke ĉiu reala mondo objekto havas du komunajn trajtojn. 27 00:01:54,540 --> 00:01:59,100 Kaj tio estas, ke ili havas staton kaj ili havas ian konduton. 28 00:01:59,100 --> 00:02:02,510 >> Do ekzemple, hundoj havus ŝtatoj kiuj 29 00:02:02,510 --> 00:02:07,360 estas nomo, haŭtkoloro, raso, eble se la hundo estas malsata aŭ ne. 30 00:02:07,360 --> 00:02:12,490 Kaj iuj kondutoj kiuj hundoj havus estus bojante, aŭ balancante voston, 31 00:02:12,490 --> 00:02:14,340 aŭ serĉos pilko. 32 00:02:14,340 --> 00:02:18,120 Do ni povas ankaŭ apliki ĉi al celoj inanimados. 33 00:02:18,120 --> 00:02:23,130 Do ekzemple, aŭtoj, ili havas la modelo, jaro, maks rapido, 34 00:02:23,130 --> 00:02:25,500 kaj tiel plu kaj tiel antaŭen. 35 00:02:25,500 --> 00:02:27,450 Kaj ili havas iun konduton. 36 00:02:27,450 --> 00:02:33,050 Ekzemple, akcelante, aŭ bremsita, aŭ irante inverse. 37 00:02:33,050 --> 00:02:38,910 >> Do Javo celoj provo modeligi tiu por havi kampoj kaj metodoj. 38 00:02:38,910 --> 00:02:45,050 Do kampoj estas la statoj kiu Java objekto povas havi, 39 00:02:45,050 --> 00:02:51,440 dum metodo reprezentus la konduto kiu Ĝava objekto havus. 40 00:02:51,440 --> 00:02:53,770 Do kiam mi diras metodoj kaj ludejoj, mi vere 41 00:02:53,770 --> 00:02:56,470 nur signifi variabloj kaj funkcioj. 42 00:02:56,470 --> 00:03:02,120 Ili estas ekzakte la sama, krom ke ili aplikas al certa objekto. 43 00:03:02,120 --> 00:03:04,880 >> OK, tiel pasi al klasoj. 44 00:03:04,880 --> 00:03:08,950 Java klasoj estas kiel la Blueprints por objekto. 45 00:03:08,950 --> 00:03:12,270 Ili diras al vi kion metodoj ĝi havas, kion kampoj pluvis! 46 00:03:12,270 --> 00:03:17,750 kaj eĉ tie, ni havas ion nomata aliro modifiloj kiu 47 00:03:17,750 --> 00:03:19,570 ni atingos en kiam. 48 00:03:19,570 --> 00:03:26,930 Do deklari Ĝava klaso, estas tre simila en sintakso al C struct. 49 00:03:26,930 --> 00:03:34,350 >> Ĉi tie ni dividas kun publika klaso Car, kaj tiam ni havas malfermita krampo kaj poste 50 00:03:34,350 --> 00:03:38,800 kelkaj nombro de kampoj kiuj Vi volas la celon havi. 51 00:03:38,800 --> 00:03:44,650 Kaj tiam tie ni havas kelkajn metodojn, kaj ni ankaŭ havas celon konstruilo. 52 00:03:44,650 --> 00:03:48,690 Nun kio estas tiu objekto konstruilo faras estas ĝi rakontas la objekto, 53 00:03:48,690 --> 00:03:53,370 OK, Mi volas pravalorizi ĉi kontesti kun ia kampoj. 54 00:03:53,370 --> 00:03:58,310 >> Do jen, ni volas ĉiu Aŭto havi modelo kaj jaro. 55 00:03:58,310 --> 00:04:01,480 Do ni havas konstruanto nur specife 56 00:04:01,480 --> 00:04:06,560 por la modelo kaj la jaro, kaj ĉi fiksus la modelo kampo 57 00:04:06,560 --> 00:04:12,510 al certa valoro, kaj la jaro kampo ankaŭ. 58 00:04:12,510 --> 00:04:16,019 >> Nun pri la aliro modifiloj mi parolas. 59 00:04:16,019 --> 00:04:21,560 Ni tie havas la publiko kaj privata aliro modifiloj. 60 00:04:21,560 --> 00:04:27,730 Do vi povas pensi pri ĉi tiel la RWX en via dosierujoj. 61 00:04:27,730 --> 00:04:33,020 Do ili permesi unu popolo legi kaj surloke 62 00:04:33,020 --> 00:04:35,150 al tiuj kampoj kaj metodoj. 63 00:04:35,150 --> 00:04:39,470 >> Do se mi diras ke modelo kaj jaro kaj rapido estas privataj, 64 00:04:39,470 --> 00:04:46,360 tio signifas ke aliaj objektoj ne povas provas aliri ĉi objekto kampoj 65 00:04:46,360 --> 00:04:47,760 tie estas privataj. 66 00:04:47,760 --> 00:04:52,280 Sed kiam mi difinis la aliro modifaj esti publika, 67 00:04:52,280 --> 00:04:57,630 nun ke signifas ke aliaj objektoj rajtas aliri kaj eĉ 68 00:04:57,630 --> 00:05:00,770 uzis la metodojn kiuj estas difinitaj tie. 69 00:05:00,770 --> 00:05:04,160 70 00:05:04,160 --> 00:05:09,210 >> Do tiu estas la baza Aŭto celo kiun mi havas. 71 00:05:09,210 --> 00:05:15,350 Ni havas la akceli, rompi, kaj getSpeed ​​metodoj. 72 00:05:15,350 --> 00:05:20,180 Al tia punkto, estas cxiu klara sur Java objektoj kaj kiel por deklari ilin? 73 00:05:20,180 --> 00:05:22,710 Cool, tute certe. 74 00:05:22,710 --> 00:05:29,120 Do se vi volas uzi la Java kontesti en programo mem, 75 00:05:29,120 --> 00:05:35,720 tiam ni povas uzi tiun nova Aŭto konstruilo. 76 00:05:35,720 --> 00:05:41,250 Do jen ni dirante ni volas deklari nova celo, kiu estas de tipo Aŭto. 77 00:05:41,250 --> 00:05:44,120 Kaj tie ĝi estas aplikanta la modelo kaj jaro, 78 00:05:44,120 --> 00:05:51,110 kiun ni difinis en tiu objekto ĝuste ĉi tie. 79 00:05:51,110 --> 00:05:55,150 >> Do ĉi tiu estas ankaŭ alia kontesti, se vi rimarkas. 80 00:05:55,150 --> 00:05:59,820 Estas klaso por la ĉefa programo mem. 81 00:05:59,820 --> 00:06:04,660 Kaj ni havas ĉi PSVM, aŭ publika statika void main, funkcion, 82 00:06:04,660 --> 00:06:08,200 kaj lia la ekkuron punkto de via programo, 83 00:06:08,200 --> 00:06:12,320 Simila al la ĉefa funkcio en via C programon. 84 00:06:12,320 --> 00:06:16,870 Tie, ni povas aliri kaj uzi la objekta funkcioj 85 00:06:16,870 --> 00:06:21,480 uzante la skalara kaj tiam la funkcio nomo skribmaniero. 86 00:06:21,480 --> 00:06:26,130 Kaj ni povas eĉ specifi certaj argumentoj aŭ parametroj 87 00:06:26,130 --> 00:06:28,260 por tiu funkcio. 88 00:06:28,260 --> 00:06:32,410 >> OK, do nun movas sur al heredo. 89 00:06:32,410 --> 00:06:37,670 Do reala mondo objektoj povas dividas la samajn karakterizaĵojn. 90 00:06:37,670 --> 00:06:42,490 Do ekzemple, estas malsamaj tipoj de bicikloj. 91 00:06:42,490 --> 00:06:47,280 Ekzemple, mountain bike, urbo bicikloj, aŭ tandemo bicikloj. 92 00:06:47,280 --> 00:06:50,320 Do ili havas tiun komunan karakterizaĵo de esti biciklo. 93 00:06:50,320 --> 00:06:55,740 >> Kaj tiel bicikloj povas havi du radoj kaj ili povas havi stirilo, eble eĉ 94 00:06:55,740 --> 00:06:58,750 vosto lumo aŭ iel simile. 95 00:06:58,750 --> 00:07:04,930 Do Javo donas al ni tiun potenco por reprezenti celojn 96 00:07:04,930 --> 00:07:10,170 kiuj havas iujn komunajn trajtojn tra heredo. 97 00:07:10,170 --> 00:07:18,370 Nun, kio heredaĵo faras, estas ĝi pasas sur objekto kampoj kaj metodoj 98 00:07:18,370 --> 00:07:20,920 al infano objekto. 99 00:07:20,920 --> 00:07:24,080 >> Do ekzemple, se mi havas aŭton, kaj ĝi havas 100 00:07:24,080 --> 00:07:28,570 la stato de havi kvar radojn kaj unu stirrado, 101 00:07:28,570 --> 00:07:31,120 tiam ni povas pasi ĉi al iuj malsamaj tipoj de aŭtoj. 102 00:07:31,120 --> 00:07:35,470 Ekzemple, ni havas la sedán, sporta aŭto, kaj SUV. 103 00:07:35,470 --> 00:07:38,940 Nun, ĉi tiuj tri malsamaj tipoj de aŭtoj ankoraŭ 104 00:07:38,940 --> 00:07:42,050 havas kvar radojn kaj unu stirrado, sed tiam ili 105 00:07:42,050 --> 00:07:43,900 povas havi iun specialaj karakterizaĵoj, 106 00:07:43,900 --> 00:07:49,980 kiel havanta kvin sidejoj kaj a por sedán, ekzemple. 107 00:07:49,980 --> 00:07:58,510 >> Do por fari uzon de tiu heredaĵo trajto, ni uzas ĉi etendas ŝlosilvorto. 108 00:07:58,510 --> 00:08:04,570 Do memoru reen al la Aŭto kontesti ke mi difinis antaŭe. 109 00:08:04,570 --> 00:08:06,730 Nun mi difini Sedan objekto. 110 00:08:06,730 --> 00:08:09,930 111 00:08:09,930 --> 00:08:17,850 Do ĉi Sedan objekto havus la samaj kampoj kaj funkcioj, aŭ metodoj, 112 00:08:17,850 --> 00:08:19,660 ke la aŭto devus. 113 00:08:19,660 --> 00:08:24,830 Sed tiam, tie mi specifi iuj aldonaj funkcioj, 114 00:08:24,830 --> 00:08:26,830 ekzemple, la aro nombro de pasaĝeroj 115 00:08:26,830 --> 00:08:29,150 kaj la preni la nombron de pasaĝeroj. 116 00:08:29,150 --> 00:08:32,000 >> Tie, vi povas rimarki ankaŭ ke ni povas nuligi metodoj, 117 00:08:32,000 --> 00:08:34,840 kaj tio signifas ni ĵus anstataŭante la konduto 118 00:08:34,840 --> 00:08:38,549 agi malsame en iuj kazoj. 119 00:08:38,549 --> 00:08:42,710 Do, ekzemple, mi volas kontrauxmeti max rapido por nia aŭto. 120 00:08:42,710 --> 00:08:49,840 Kaj por fari tion, mi kontrolu ĉu tiu rapido irus super la max rapido. 121 00:08:49,840 --> 00:08:54,180 Kaj se ne, tiam mi vokos la Super klaso akceli metodo. 122 00:08:54,180 --> 00:09:00,350 Do tiu estas la super.accelerate () alvokoj la super klason 'akceli metodo. 123 00:09:00,350 --> 00:09:05,390 124 00:09:05,390 --> 00:09:09,940 >> Fine, ni tuj paroli pri interfacoj. 125 00:09:09,940 --> 00:09:18,090 Do interfacoj estas maniero elmontri nur certaj metodoj por la ekstera mondo. 126 00:09:18,090 --> 00:09:19,980 Do ili estas kiel tablo de enhavoj, kaj vi 127 00:09:19,980 --> 00:09:25,900 povas pensi pri ili kiel ŝatas la C kaplinio dosierojn, nur 128 00:09:25,900 --> 00:09:33,680 kiel metodoj kun malplenaj korpoj, kaj ili ekzaktigis la objekto aŭ la klaso 129 00:09:33,680 --> 00:09:37,710 devas havi, aŭ kion metodoj la celo aŭ klaso devas havi. 130 00:09:37,710 --> 00:09:41,360 >> Do ekzemple, se mi havas biciklon interfacon, 131 00:09:41,360 --> 00:09:46,530 kaj ĝi havas tri malsamajn metodojn, kaj tie, se mi implementar ĉi tiu interfaco, 132 00:09:46,530 --> 00:09:49,864 tiam tio signifas ke ĉi Biciklo bezonus por implementar la samaj tri 133 00:09:49,864 --> 00:09:51,530 metodoj kiujn mi difinis en la interfaco. 134 00:09:51,530 --> 00:09:57,076 135 00:09:57,076 --> 00:10:01,390 >> Ĝis tiu punkto, ajna alia demandojn? 136 00:10:01,390 --> 00:10:03,240 Bone, malvarmeta. 137 00:10:03,240 --> 00:10:07,770 Do tiu estis tre mallonga kaj rapidan lernilo sur Java. 138 00:10:07,770 --> 00:10:14,560 Estas vojo pli karakterizaj kaj temoj en Java, ke vi povas reale trairu. 139 00:10:14,560 --> 00:10:17,690 Ekzemple, ekzistas genéricos, ekzistas datumtipoj, 140 00:10:17,690 --> 00:10:19,780 ekzistas eĉ enums kaj vazojn. 141 00:10:19,780 --> 00:10:23,400 Do se vi volas lerni pli pri tio, do sekvu tiujn ligilojn, 142 00:10:23,400 --> 00:10:25,840 kaj ili instruos vin pli pri ili. 143 00:10:25,840 --> 00:10:30,220 >> OK, do, ni pluiru al la reala karno de la seminario, 144 00:10:30,220 --> 00:10:34,080 kaj kiu estas reale Android programado. 145 00:10:34,080 --> 00:10:37,660 Do antaŭ ol ni efektive akiri al programado, 146 00:10:37,660 --> 00:10:40,800 Mi volas paroli pri iu slango. 147 00:10:40,800 --> 00:10:46,980 Do aktiveco estas Android la maniero diri 148 00:10:46,980 --> 00:10:52,870 ĝi estas sola ekrano ene de la apliko. 149 00:10:52,870 --> 00:11:01,100 >> Do, ekzemple, se vi havas Gmail app, ni havas la vidon retmesaĝoj aktiveco. 150 00:11:01,100 --> 00:11:02,990 Kaj tiam se vi klakas unu retpoŝto, ke 151 00:11:02,990 --> 00:11:08,850 montros alian aktiveco kie ĝi estas vido retpoŝto aktiveco. 152 00:11:08,850 --> 00:11:14,740 Kaj tiam ni ankaŭ havas la Compose aktiveco, aŭ la redakto mesaĝon aktiveco. 153 00:11:14,740 --> 00:11:18,380 Kaj tiel aktivecoj estas ĝenerale nur sola ekrano 154 00:11:18,380 --> 00:11:21,800 ene de la aplikaĵo mem. 155 00:11:21,800 --> 00:11:28,410 >> Nun, rigardoj estas la komponantoj kiuj faras ĝis la ekrano, aŭ la agado mem. 156 00:11:28,410 --> 00:11:34,430 Do ili desegni iun afero en via ekrano. 157 00:11:34,430 --> 00:11:37,840 Do ekzemple, ĝi povus esti tekstujon, ĝi povus esti etiketo, 158 00:11:37,840 --> 00:11:40,090 ĝi povus esti ĉekojn skatolo. 159 00:11:40,090 --> 00:11:44,110 Tiel Estas multaj malsamaj tipoj de vidoj. 160 00:11:44,110 --> 00:11:47,780 Do nun ni havas intencojn, kaj tio mesaĝon 161 00:11:47,780 --> 00:11:51,070 kiu preterpasis al alia aktiveco. 162 00:11:51,070 --> 00:11:58,997 Kaj ili enhavas informon pri kion vi volas ĉi aktiveco ekzekuti. 163 00:11:58,997 --> 00:12:00,830 Laste, ni havas la Evidentaj dosiero, kaj ke 164 00:12:00,830 --> 00:12:07,900 estas XML dosiero kiu donas via telefono ĉiuj informoj pri via app. 165 00:12:07,900 --> 00:12:12,230 Do tio inkludas la version, kaj la aktivecoj kiujn vi havos. 166 00:12:12,230 --> 00:12:17,480 >> OK, do ni komencu. 167 00:12:17,480 --> 00:12:21,460 Do ni tuj estos uzante Android Studio. 168 00:12:21,460 --> 00:12:26,960 Do se vi infanoj havas tiu jam instalita, ni invitas vin sekvi kune. 169 00:12:26,960 --> 00:12:29,790 Ni penos kaj rekomencos el nulo. 170 00:12:29,790 --> 00:12:35,260 Kaj tial mi iros por provi kaj krei novan projekton. 171 00:12:35,260 --> 00:12:40,370 Kaj mi tuj vokas mia projekto Android 101. 172 00:12:40,370 --> 00:12:45,770 Kaj tie ni enmetas la nomon de la projekton en la apliko nomo kampo. 173 00:12:45,770 --> 00:12:48,500 >> Kompanio Domain, vi ne vere devas maltrankviligi ke. 174 00:12:48,500 --> 00:12:57,000 Tiu estas precize kiel Android identigas via kandidatiĝo. 175 00:12:57,000 --> 00:13:01,350 Do vi havas domajnnomon, vi povas tajpi en via domajna nomo ene de tie. 176 00:13:01,350 --> 00:13:05,370 Sed se ne, vi povas senti libera enmeti ion vi deziras. 177 00:13:05,370 --> 00:13:08,226 Do jen mi simple entajpu frederickw.com. 178 00:13:08,226 --> 00:13:14,660 >> Kaj poste, fine, mi elektas kie Mi volas konservi mia projekto en. 179 00:13:14,660 --> 00:13:21,080 Kaj mi tuj simple elektas mia labortablo. 180 00:13:21,080 --> 00:13:28,670 Do Uzantoj, Frederiko Widjaja, kaj Desktop. 181 00:13:28,670 --> 00:13:31,340 Akcepti. 182 00:13:31,340 --> 00:13:34,090 Tiam alklaku Sekva. 183 00:13:34,090 --> 00:13:39,630 Ĉi tie, mi tuj elektos la minimuma API por esti apogita. 184 00:13:39,630 --> 00:13:44,910 Do en ĉi tiu kazo, kiu estas tuj elekti API 15. 185 00:13:44,910 --> 00:13:51,530 Kaj estas delikata se vi fakte ĝuste elektu 4.4 kiu estas la lasta API. 186 00:13:51,530 --> 00:13:53,560 Aŭ 5, fakte. 187 00:13:53,560 --> 00:13:57,714 Sed tiam vi nur bezonas zorgi pri kiu telefonoj vi vere apogas, 188 00:13:57,714 --> 00:13:59,130 kaj kiu telefonoj vi celado. 189 00:13:59,130 --> 00:14:04,230 190 00:14:04,230 --> 00:14:06,260 Klakas Progresa. 191 00:14:06,260 --> 00:14:09,780 >> OK, do ni venis al tiu ekrano, kaj ni ĵus 192 00:14:09,780 --> 00:14:15,110 tuj uzos krei aktiveco tra ĉi. 193 00:14:15,110 --> 00:14:19,890 Do mi tuj klaku malplenan aktiveco kaj tiam Next. 194 00:14:19,890 --> 00:14:23,110 Ni tuj nomas ĝin ĉefa aktiveco, mi pensas ke estas bone. 195 00:14:23,110 --> 00:14:27,800 Nur tuj nomas ĝin, gazetaro Finiĝi dekstra tie. 196 00:14:27,800 --> 00:14:36,250 Atendi ĝin ŝarĝi, kaj tie ni iru. 197 00:14:36,250 --> 00:14:40,600 >> Do jen ni rimarkos tri malsamaj dosierujoj. 198 00:14:40,600 --> 00:14:44,290 Ni havas la manifestoj dosierujo kiu enhavas nian manifestas. 199 00:14:44,290 --> 00:14:48,360 Se vi malfermas ĝin, ni vidos niajn pako. 200 00:14:48,360 --> 00:14:54,000 Aŭ kiel Android identigas via aplikaĵo 201 00:14:54,000 --> 00:14:58,990 kaj tiam ni havas ĉi apliko etikedo, kiu 202 00:14:58,990 --> 00:15:05,420 enhavas la titolo de nia apliko tiel kiel la ikono por la aplikaĵo. 203 00:15:05,420 --> 00:15:08,050 204 00:15:08,050 --> 00:15:11,950 >> Ni povas fakte kuri ĉi apliko rekte. 205 00:15:11,950 --> 00:15:14,600 Do kial ni ne provu fari tion? 206 00:15:14,600 --> 00:15:16,310 Mi tuj uzos Genymotion. 207 00:15:16,310 --> 00:15:22,150 Se vi venigis vian propran telefonon, sed vi povas ligi ĝin kaj ruli ĝin, se vi volas. 208 00:15:22,150 --> 00:15:31,213 Sed mi simple tuj uzi emulador, kaj mi tuj komencos ĉi. 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 Nu mi kredas ke tio estas tuj prenos tempon, 212 00:15:42,780 --> 00:15:49,580 do mi opinias ke ni nur akiri rekte en klarigante pli pri tio. 213 00:15:49,580 --> 00:15:56,200 Do jen ni havas la Java dosierujo, aŭ kie viaj dosieroj fonto estas enhavitaj. 214 00:15:56,200 --> 00:16:02,500 Ni tie havas la ĉefa aktiveco mem. 215 00:16:02,500 --> 00:16:07,120 Vi povas vidi ke ĝi etendas la aktiveco klaso. 216 00:16:07,120 --> 00:16:12,750 Do nia ĉefa aktiveco estas ekrano ke estos en nia apliko. 217 00:16:12,750 --> 00:16:21,790 Kaj tiam tie ni rimarkas ke nombro de funkcioj estas aŭtomata generita por ni. 218 00:16:21,790 --> 00:16:26,037 Ni havas la onCreate funkcio, kaj kiu estos nomita whenever-- 219 00:16:26,037 --> 00:16:27,870 Lernanto: Ĉu vi kontraŭus farante la teksto pli granda? 220 00:16:27,870 --> 00:16:28,940 Fred WIDJAJA: OK, sekura. 221 00:16:28,940 --> 00:16:38,380 222 00:16:38,380 --> 00:16:41,640 Mi provos kaj pligrandigi la tiparon. 223 00:16:41,640 --> 00:17:03,570 224 00:17:03,570 --> 00:17:06,490 Pensu ke devus esti bona. 225 00:17:06,490 --> 00:17:07,020 Tio estas bona? 226 00:17:07,020 --> 00:17:09,480 >> Student: malmulta pli alta, kiel 20 aŭ io. 227 00:17:09,480 --> 00:17:09,829 >> Fred WIDJAJA: 20? 228 00:17:09,829 --> 00:17:10,329 Akcepti. 229 00:17:10,329 --> 00:17:17,380 230 00:17:17,380 --> 00:17:20,990 OK, all right. 231 00:17:20,990 --> 00:17:24,740 Do jen ni havas onCreate metodo kiu farus 232 00:17:24,740 --> 00:17:29,750 nomi kiam nia aktiveco estas kreita en la [? montri?]. 233 00:17:29,750 --> 00:17:32,100 Ni havas la onCreateOptionsMenu, kaj ni 234 00:17:32,100 --> 00:17:38,370 vidas ke estas vere ago trinkejo, kaj tiam 235 00:17:38,370 --> 00:17:42,920 ni povas aldoni iujn menueroj sur ĝin. 236 00:17:42,920 --> 00:17:45,710 Kaj tiam tie ni havas la onOptionsItemSelected. 237 00:17:45,710 --> 00:17:52,210 Do ĉi tiu estas kiel okazaĵo aŭskultanto, do kiam ajn eblo en nia agado trinkejo 238 00:17:52,210 --> 00:17:58,450 estas clicked, ĉi funkcio estos vokita, 239 00:17:58,450 --> 00:18:01,270 kaj ĝi estos pasinta kun certaj ítem kiu estis klakita. 240 00:18:01,270 --> 00:18:05,670 241 00:18:05,670 --> 00:18:11,576 >> OK, Mi tuj see-- tio ne funkcias bone. 242 00:18:11,576 --> 00:18:13,028 Ni provu kaj komenci. 243 00:18:13,028 --> 00:18:16,416 244 00:18:16,416 --> 00:18:17,384 Ho kara. 245 00:18:17,384 --> 00:18:21,740 246 00:18:21,740 --> 00:18:23,560 Akcepti. 247 00:18:23,560 --> 00:18:24,320 Tio estas preocupante. 248 00:18:24,320 --> 00:18:39,390 249 00:18:39,390 --> 00:18:41,500 OK, do ĉiuokaze. 250 00:18:41,500 --> 00:18:44,940 Ni tie havas la aranĝo por nia aktiveco mem. 251 00:18:44,940 --> 00:18:50,150 Tio estas nia ĉefa aktiveco, kaj tie ni rimarkos ke estas la ago trinkejo. 252 00:18:50,150 --> 00:18:54,460 Kaj tiam ni havas ĉi hello mondo discográfico, kaj ni povas reale 253 00:18:54,460 --> 00:18:57,830 redakti tekston ĉi tie. 254 00:18:57,830 --> 00:19:03,260 Se vi ne eniros kaj voluta malsupren al la Hello World, 255 00:19:03,260 --> 00:19:06,360 Ni povas ŝanĝi ĝin al kion ni volas. 256 00:19:06,360 --> 00:19:10,070 Ekzemple, ĝi povus esti, Hi tie. 257 00:19:10,070 --> 00:19:12,820 Bonvenon. 258 00:19:12,820 --> 00:19:14,345 Kaj tie ni iru, ĝi ŝanĝas. 259 00:19:14,345 --> 00:19:20,380 260 00:19:20,380 --> 00:19:20,880 Ho kara. 261 00:19:20,880 --> 00:19:24,310 262 00:19:24,310 --> 00:19:26,010 Tiu stilo ne laboras. 263 00:19:26,010 --> 00:19:28,320 OK, estas preocupante. 264 00:19:28,320 --> 00:19:32,000 OK, ĉiuokaze, ni povas movi sur sen tio. 265 00:19:32,000 --> 00:19:38,560 Do nuntempe, ni provu kaj fari iun vere bazaj ajxoj. 266 00:19:38,560 --> 00:19:42,450 Do jen ni tuj havos etiketo, kaj tiam ni 267 00:19:42,450 --> 00:19:47,005 tuj havos tekston view-- Pardonu, ne estas teksto vido, 268 00:19:47,005 --> 00:19:49,310 ni tuj havos redaktan tekston. 269 00:19:49,310 --> 00:19:53,900 Kaj ke estas komponanto por vi tajpi kaj vazojn. 270 00:19:53,900 --> 00:19:56,590 271 00:19:56,590 --> 00:20:07,240 Do ni havas simplan tekston, kaj poste Ni nur aldonu gxin sur nia interfaco. 272 00:20:07,240 --> 00:20:13,520 >> Ĉi tie, mi volas aldoni ankaŭ kelkajn rando la supron tiel ke ĝi aspektas pli bela. 273 00:20:13,520 --> 00:20:19,190 Do ni tuj iru al la propraĵoj, kaj tiam ĉe la supro rando, 274 00:20:19,190 --> 00:20:23,120 Ni tuj aldonos en 20 DPS. 275 00:20:23,120 --> 00:20:28,170 Do nun, DPS estas nur unueco de mezuro en Android, 276 00:20:28,170 --> 00:20:31,240 kaj ili reprezentas denseco sendependa rastrumeroj. 277 00:20:31,240 --> 00:20:35,380 Do, kiel vi eble scias, Android, ekzistas multaj malsamaj specoj de ekranoj 278 00:20:35,380 --> 00:20:38,410 kaj tiam ili devos malsama ekrano densecoj. 279 00:20:38,410 --> 00:20:42,584 Do jen estas nur tuj estos denseca sendependa bildero, 280 00:20:42,584 --> 00:20:44,750 Do estas tuj estos sama tra ĉiuj ekranoj. 281 00:20:44,750 --> 00:20:49,046 282 00:20:49,046 --> 00:20:55,270 >> Irante al etendi ĉi redakti tekston, kaj tiam mi ankaŭ tuj aldoni butonon. 283 00:20:55,270 --> 00:21:02,900 284 00:21:02,900 --> 00:21:04,370 Kaj ĝi tuj diros 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 Akcepti. 289 00:21:16,630 --> 00:21:20,060 Do nun ni havas tri malsamaj komponantoj. 290 00:21:20,060 --> 00:21:25,630 Kaj la vojo ni povas raporti al tiuj en nia ĉefa aktiveco klaso 291 00:21:25,630 --> 00:21:29,620 estas per uzo ĉi metodo nomata findViewByID. 292 00:21:29,620 --> 00:21:36,790 Do mi iros por difini iujn kampojn. 293 00:21:36,790 --> 00:21:48,290 Do ni havas en TextView, tiel diru helloText. 294 00:21:48,290 --> 00:21:55,400 295 00:21:55,400 --> 00:21:59,930 Kaj tiam se vi uzas Android Studio, Vi povas uzi la serĉpeton alternaj, 296 00:21:59,930 --> 00:22:01,120 eniri. 297 00:22:01,120 --> 00:22:07,400 Kaj klaku Import Klaso aŭtomate importi la responda klasoj 298 00:22:07,400 --> 00:22:07,950 ke ni bezonas. 299 00:22:07,950 --> 00:22:10,590 300 00:22:10,590 --> 00:22:20,800 Kaj tiam tie Mi tuj aldonas tie IRU por ĉi TextView kaj nomas ĝin text_hello. 301 00:22:20,800 --> 00:22:28,320 302 00:22:28,320 --> 00:22:32,050 Nun ke ni jam difinis IRU por ĉi TextView, 303 00:22:32,050 --> 00:22:38,020 ni povas uzi tion por referi al la textview ke ni ĵus difinis. 304 00:22:38,020 --> 00:22:47,970 Do helloText egalas TextView findViewByID, 305 00:22:47,970 --> 00:22:52,630 kaj tiam ni specifi la IRU ke ni volas, kiu estas r.ID.text_hello. 306 00:22:52,630 --> 00:22:55,360 307 00:22:55,360 --> 00:22:59,560 >> Do tiu estas tre simila al Ĝavoskripto kaj jQuery, kie ni povas reale nur 308 00:22:59,560 --> 00:23:05,430 referi al certaj elementoj en la aranĝo ĝuste 309 00:23:05,430 --> 00:23:08,330 uzante la IRU ke ni specifis. 310 00:23:08,330 --> 00:23:17,240 Do ĝenerale, konsenti certa objekto aŭ determinita kampo 311 00:23:17,240 --> 00:23:22,030 en nia aranĝo, vi tuj devos uzi ĉi findViewByID metodo. 312 00:23:22,030 --> 00:23:26,290 Kaj tiam ni tuj faros la saman aĵojn por la aliaj du eroj. 313 00:23:26,290 --> 00:23:29,570 314 00:23:29,570 --> 00:23:36,683 Ĉi tie, mi tuj aldonu la ID text_name. 315 00:23:36,683 --> 00:23:40,760 316 00:23:40,760 --> 00:23:42,770 Jes. 317 00:23:42,770 --> 00:23:46,610 Tiel kiel por tiu ĉi. 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 >> Nun kion mi volas tion fari estas kiam ni klaku la butonon, 322 00:23:58,120 --> 00:24:02,110 kaj ni inputted ian de nomo en la teksto kampo, 323 00:24:02,110 --> 00:24:10,880 tiam tuj ĝisdatigi ĉi label diri, Hi, Nomo, bonvenaj. 324 00:24:10,880 --> 00:24:16,520 Do, reen en nia ĉefa aktiveco klaso, ni estas 325 00:24:16,520 --> 00:24:23,210 ankaŭ tuj provi kaj raporti al tiuj elementoj kiujn ni havas por trovi. 326 00:24:23,210 --> 00:24:30,860 >> Do ni havas la EditText nameText. 327 00:24:30,860 --> 00:24:33,615 328 00:24:33,615 --> 00:24:36,000 Oops. 329 00:24:36,000 --> 00:24:38,500 Eniri kaj alternaj, importado klaso. 330 00:24:38,500 --> 00:24:41,060 Kaj poste ankaŭ la butonon Akcepti. 331 00:24:41,060 --> 00:24:45,660 332 00:24:45,660 --> 00:24:48,980 Simile, ni tuj fari la samon ĉiam tie. 333 00:24:48,980 --> 00:24:54,900 nameText egalas EditText findViewByID, r.ID.text_name. 334 00:24:54,900 --> 00:25:01,430 335 00:25:01,430 --> 00:25:03,380 Kaj tiam la OK butono. 336 00:25:03,380 --> 00:25:10,180 337 00:25:10,180 --> 00:25:13,840 findViewByID, r.ID, kaj tiam button_ok. 338 00:25:13,840 --> 00:25:16,400 339 00:25:16,400 --> 00:25:22,240 >> OK, do nun ni havas ĉiujn tri elementoj kiujn ni volas raporti al. 340 00:25:22,240 --> 00:25:27,630 Do nun mi iros al alfiksi la sur alklaku aŭskultanto nia butono 341 00:25:27,630 --> 00:25:30,440 aŭskulti por uzanto klakoj. 342 00:25:30,440 --> 00:25:35,780 Por ke ni nur uzu la setOnClickListener okazaĵo. 343 00:25:35,780 --> 00:25:38,860 344 00:25:38,860 --> 00:25:44,010 Nun, Ĉi tie estas dirante ke ni bezonas specifi setOnClickListener, 345 00:25:44,010 --> 00:25:51,030 kaj vi povas fari tion por nur havi nova onClickListener, kaj premu Enter. 346 00:25:51,030 --> 00:25:56,935 >> Kaj tiam vi havas ĉi anonimaj klaso, aŭ anonima objekto. 347 00:25:56,935 --> 00:25:59,530 348 00:25:59,530 --> 00:26:02,790 Kaj ni ankaŭ havas ĉi onClick metodo, kaj tio estas esence 349 00:26:02,790 --> 00:26:05,580 kio okazos al nomi kiam ajn nia butonon La klakis. 350 00:26:05,580 --> 00:26:15,860 >> Do jen, mi volas ricevi la nomon kiu Estis input enen tekstujon unuaj Do 351 00:26:15,860 --> 00:26:17,700 String nomo egalas al nameText.getText (). 352 00:26:17,700 --> 00:26:21,670 353 00:26:21,670 --> 00:26:26,400 Denove, ĉi tio estas kiel la Java sintakson por raportante 354 00:26:26,400 --> 00:26:29,130 al funkcioj ene de la objekto. 355 00:26:29,130 --> 00:26:36,290 Do nameText.getText, kaj tiam ni tuj konverti ĝin al ŝnuro. 356 00:26:36,290 --> 00:26:41,090 Ni nun havas la nomo kiun Estis enigo de la uzanto. 357 00:26:41,090 --> 00:26:46,140 >> Kaj tiam ni tuj generi novan ĉenon, 358 00:26:46,140 --> 00:26:48,980 Do estas tuj estos nomita Hello. 359 00:26:48,980 --> 00:26:56,325 Mi intencis diri, Hi, Nomo, bonvenaj. 360 00:26:56,325 --> 00:27:00,810 361 00:27:00,810 --> 00:27:05,265 Kaj fine, vi volas ĝisdatigi la helloText. 362 00:27:05,265 --> 00:27:09,190 Do fari tion, ni simple vokas helloText.setText (saluton). 363 00:27:09,190 --> 00:27:16,940 364 00:27:16,940 --> 00:27:17,440 Akcepti. 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 >> Mi tuj provos kaj re-ekzekuti Genymotion unu fina tempo kaj vidi se ĝi funkcias. 368 00:27:30,645 --> 00:27:35,160 369 00:27:35,160 --> 00:27:38,810 Se ne, ĝi estas tute bone. 370 00:27:38,810 --> 00:27:39,730 Akcepti. 371 00:27:39,730 --> 00:27:41,970 Do mi supozas ke tio ne funkcias. 372 00:27:41,970 --> 00:27:48,960 373 00:27:48,960 --> 00:27:52,955 Reale, mi provu kaj faru tion. 374 00:27:52,955 --> 00:27:56,188 375 00:27:56,188 --> 00:27:57,174 Eblus ĉi. 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 Akcepti. 380 00:28:26,261 --> 00:28:33,240 381 00:28:33,240 --> 00:28:33,980 Bone. 382 00:28:33,980 --> 00:28:35,170 Jes, ĝi funkcias. 383 00:28:35,170 --> 00:28:38,020 Akcepti. 384 00:28:38,020 --> 00:28:39,250 Tio estis timiga. 385 00:28:39,250 --> 00:28:40,890 Akcepti. 386 00:28:40,890 --> 00:28:43,270 Mi ne intencis fari tion. 387 00:28:43,270 --> 00:28:46,570 OK, do ni havas ĉi Android emulador. 388 00:28:46,570 --> 00:28:49,070 Nun mi turniĝu ĉi ekstere. 389 00:28:49,070 --> 00:28:52,290 390 00:28:52,290 --> 00:28:55,720 Do ni havas nian Android emulador. 391 00:28:55,720 --> 00:28:59,750 Do ni tuj provi kaj kuri ĉi app kiu ni faris. 392 00:28:59,750 --> 00:29:04,100 Nur tuj klaku la Play butonon, kaj ĝin tuj diros, atendante ADB. 393 00:29:04,100 --> 00:29:10,580 394 00:29:10,580 --> 00:29:12,780 Ho, viro. 395 00:29:12,780 --> 00:29:13,280 Rekomenci. 396 00:29:13,280 --> 00:29:25,419 397 00:29:25,419 --> 00:29:30,150 OK, mi supozas ĉi ankoraŭ ne funkcias. 398 00:29:30,150 --> 00:29:31,280 OK, Nevermind, tiam. 399 00:29:31,280 --> 00:29:33,841 400 00:29:33,841 --> 00:29:38,150 ĉi tiu tuj estos domaĝe. 401 00:29:38,150 --> 00:29:41,030 Sed tiel ni diru, ke ni volas krei novan aktivecon, 402 00:29:41,030 --> 00:29:45,730 kaj ni tuj havos Bildo en tiu aktiveco. 403 00:29:45,730 --> 00:29:52,120 Por fari tion, ni povas simple alklaki Ĉi tiu dosiero kaj tiam Nov. 404 00:29:52,120 --> 00:29:57,760 Kaj tiam tie ni povos selekti Aktiveco, kaj tiam Blank Aktiveco. 405 00:29:57,760 --> 00:29:59,840 Ĉi tie, ni iras por voki ĝi eble CatActivity. 406 00:29:59,840 --> 00:30:03,030 407 00:30:03,030 --> 00:30:06,537 >> OK, do nun ĝi generas du aliaj dosieroj. 408 00:30:06,537 --> 00:30:08,245 Unu nomiĝas activity_cat, kaj la aliaj 409 00:30:08,245 --> 00:30:10,630 nomas catActivity, kiu estas klaso. 410 00:30:10,630 --> 00:30:13,250 411 00:30:13,250 --> 00:30:18,648 Do ni diru, ke ni volas aldoni bildon de kato dekstra tie. 412 00:30:18,648 --> 00:30:21,790 413 00:30:21,790 --> 00:30:25,220 Do kiam vi faras tion, ni iras uzi la ImageView klaso. 414 00:30:25,220 --> 00:30:28,076 415 00:30:28,076 --> 00:30:31,340 Ni tuj aldonos ĝin en ĉi tie. 416 00:30:31,340 --> 00:30:35,350 Kaj tiam starigis la rando por esti 20 DP. 417 00:30:35,350 --> 00:30:37,920 418 00:30:37,920 --> 00:30:41,240 >> Kaj nun ni iras por trovi bildo de kato sur interreto. 419 00:30:41,240 --> 00:30:43,270 Do ni vidu. 420 00:30:43,270 --> 00:30:43,770 Kato. 421 00:30:43,770 --> 00:30:48,280 422 00:30:48,280 --> 00:30:50,270 Akcepti. 423 00:30:50,270 --> 00:30:51,145 Mi supozas ke ĉi tio estas tre bone. 424 00:30:51,145 --> 00:30:59,070 425 00:30:59,070 --> 00:31:01,032 Akcepti. 426 00:31:01,032 --> 00:31:02,780 Do nun ni havas niajn bildo. 427 00:31:02,780 --> 00:31:07,720 Do ni tuj aldonu ĝin en nia projekto. 428 00:31:07,720 --> 00:31:16,140 Povas fari tion per dekstra alklakinte, kaj then-- ni 429 00:31:16,140 --> 00:31:25,965 povas reale simple malfermu ĉi, iri malŝarĝoj, pardonon, labortablo. 430 00:31:25,965 --> 00:31:28,310 Tuj provi kaj trovi ĝin. 431 00:31:28,310 --> 00:31:28,810 Kato. 432 00:31:28,810 --> 00:31:34,580 433 00:31:34,580 --> 00:31:35,790 Ĝuste ĉi tie. 434 00:31:35,790 --> 00:31:42,820 Mi tuj kopii ĝin en mia dosierujo. 435 00:31:42,820 --> 00:31:46,800 Nun, ĝi estas tuj demandos al mi malmultaj ebloj. 436 00:31:46,800 --> 00:31:49,250 Nun, mi nur volas tion esti en la drawable dosierujon, 437 00:31:49,250 --> 00:31:54,390 kaj ke tuj estos por ĉiuj malsamaj ekrano rezolucioj. 438 00:31:54,390 --> 00:31:57,100 Alternative, ni povas fakte ĝuste elekti 439 00:31:57,100 --> 00:32:01,270 kiun ekrano rezolucio vin volas tiun bildon esti en. 440 00:32:01,270 --> 00:32:06,150 Do tuj selektos la drawable dosierujo, alklaku OK. 441 00:32:06,150 --> 00:32:08,660 442 00:32:08,660 --> 00:32:09,910 Nur tuj enoficigi ĝin cat.jpg. 443 00:32:09,910 --> 00:32:12,560 444 00:32:12,560 --> 00:32:15,970 >> OK, do, nun ĝi estas aldonita en nian bildon vido. 445 00:32:15,970 --> 00:32:18,800 446 00:32:18,800 --> 00:32:22,020 ni tuj devas uzi tiu fonto ĉi tie, 447 00:32:22,020 --> 00:32:27,420 kaj tiam ni povas uzi ĉi dot dot dot butono, kaj elektu la kato bildo. 448 00:32:27,420 --> 00:32:30,010 449 00:32:30,010 --> 00:32:32,620 Akcepti. 450 00:32:32,620 --> 00:32:39,480 Do nun mi volas igi ĝin tia ke estas nur la dekstran grandeco. 451 00:32:39,480 --> 00:32:50,050 Do mi iros por elekti ĉi alĝustigi vidi limojn eblo ĝuste ĉi tie, 452 00:32:50,050 --> 00:32:54,960 kaj kiu aŭtomate diferencigas ĝin dekstren grandeco. 453 00:32:54,960 --> 00:32:55,460 Akcepti. 454 00:32:55,460 --> 00:33:02,410 455 00:33:02,410 --> 00:33:09,380 Nun, por vere ĵeti ĉi aktiveco de nia antaŭa aktiveco, 456 00:33:09,380 --> 00:33:15,470 vi tuj devos uzi iu nomita la intenco. 457 00:33:15,470 --> 00:33:19,115 Do diru Mi tuj aldonos alian butonon kiu ĵetas la aktiveco. 458 00:33:19,115 --> 00:33:26,640 459 00:33:26,640 --> 00:33:29,150 Mi tuj aldonos ĝin ĉi tie, ĉi tie. 460 00:33:29,150 --> 00:33:36,160 Kaj tiam tuj havas la tekston aktivigi ĝin. 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 Akcepti. 465 00:33:43,320 --> 00:33:47,560 >> Nun, kiel ni vere malfermi la nova aktiveco ene tiu agado? 466 00:33:47,560 --> 00:33:52,280 467 00:33:52,280 --> 00:33:54,650 Do saman interkonsenton kiel antaŭe. 468 00:33:54,650 --> 00:34:01,120 Ni bezonas aldoni IRU por tiu butonon, kaj nomas ĝin button_activate. 469 00:34:01,120 --> 00:34:09,489 470 00:34:09,489 --> 00:34:16,880 Kaj tiam en nia ĉefa aktiveco, irante havi tiun novan Buton activateButton. 471 00:34:16,880 --> 00:34:21,630 472 00:34:21,630 --> 00:34:26,150 Kaj tiam ankaŭ uzas la findViewByID metodo. 473 00:34:26,150 --> 00:34:29,449 474 00:34:29,449 --> 00:34:33,960 activateButton egalas Buton findViewByID r.ID.button_activate. 475 00:34:33,960 --> 00:34:43,960 476 00:34:43,960 --> 00:34:45,830 >> Akcepti. 477 00:34:45,830 --> 00:34:48,500 Kaj tiam ni ankaŭ tuj aldoni en onClickListener. 478 00:34:48,500 --> 00:34:56,360 479 00:34:56,360 --> 00:34:57,294 Novaj onClickListener. 480 00:34:57,294 --> 00:35:01,870 481 00:35:01,870 --> 00:35:07,145 Kaj tiam ni tuj uzos tion nomis Intent. 482 00:35:07,145 --> 00:35:10,070 483 00:35:10,070 --> 00:35:11,905 Intent egalas nova Intent (ĉi). 484 00:35:11,905 --> 00:35:17,260 485 00:35:17,260 --> 00:35:20,699 Kaj tiam la nomo de la aktiveco kiu ni volas montri supren. 486 00:35:20,699 --> 00:35:22,990 Do jen en tiu, ni iras havi catActivity.class. 487 00:35:22,990 --> 00:35:30,412 488 00:35:30,412 --> 00:35:31,147 Pardonu. 489 00:35:31,147 --> 00:35:33,230 Ni tuj devas entajpi @ MainActivity.this. 490 00:35:33,230 --> 00:35:36,100 491 00:35:36,100 --> 00:35:41,910 Do nun la .this proprieto raportas al la aktuala kazo de la objekto 492 00:35:41,910 --> 00:35:43,271 mem. 493 00:35:43,271 --> 00:35:43,770 Akcepti. 494 00:35:43,770 --> 00:35:48,020 Ĝis tiu punkto, ajna demandoj? 495 00:35:48,020 --> 00:35:48,890 Ĉiuj bonaj? 496 00:35:48,890 --> 00:35:49,390 Bone. 497 00:35:49,390 --> 00:35:52,890 498 00:35:52,890 --> 00:35:57,430 >> Kaj tiam, se vi volas komenci la aktiveco, estas sufiĉe simpla. 499 00:35:57,430 --> 00:35:59,904 Ni nur alvoki la startActivity metodo. 500 00:35:59,904 --> 00:36:04,260 501 00:36:04,260 --> 00:36:07,355 Kaj tiam ni pasas en la Intent celo kiun ni ĵus difinis. 502 00:36:07,355 --> 00:36:10,640 503 00:36:10,640 --> 00:36:16,140 Bedaŭrinde, ni ne povas vere montri ĉi. 504 00:36:16,140 --> 00:36:23,000 Mi esperis, ke ni povas reale kuri ĉi kaj montri ĝin kune en la seminario, 505 00:36:23,000 --> 00:36:26,661 sed bedaŭrinde ne. 506 00:36:26,661 --> 00:36:28,980 Ho, viro. 507 00:36:28,980 --> 00:36:29,480 Mi vidu. 508 00:36:29,480 --> 00:36:32,134 Ho, ni tuj provos kaj mortigos ATB.exe. 509 00:36:32,134 --> 00:36:43,510 510 00:36:43,510 --> 00:36:45,214 Akcepti. 511 00:36:45,214 --> 00:36:45,714 Rekomenci. 512 00:36:45,714 --> 00:36:53,490 513 00:36:53,490 --> 00:36:56,262 Ĉu ĝi funkcias? 514 00:36:56,262 --> 00:36:57,710 Ho, OK. 515 00:36:57,710 --> 00:37:00,660 Do nun estas reale kompili. 516 00:37:00,660 --> 00:37:02,410 Oh. 517 00:37:02,410 --> 00:37:04,420 Bedaŭrinde, ne estas neniu mekanismoj kurante. 518 00:37:04,420 --> 00:37:06,040 Ni provu kaj restartu mia emulador. 519 00:37:06,040 --> 00:37:56,335 520 00:37:56,335 --> 00:37:57,880 Ha, tie ni iru. 521 00:37:57,880 --> 00:37:59,050 Ĝi aperis. 522 00:37:59,050 --> 00:38:00,070 Akcepti. 523 00:38:00,070 --> 00:38:06,010 Do mi tuj ĵetos mian app sur mia Android emulador. 524 00:38:06,010 --> 00:38:08,330 Kaj ni havas tion ke ni difinis nur nun. 525 00:38:08,330 --> 00:38:13,620 Do ni havas la etikedon, la teksto vido, la teksto kampo kaj tiam la butono. 526 00:38:13,620 --> 00:38:18,449 Do Mi tuj enigo mia nomo ĉi tie, 527 00:38:18,449 --> 00:38:19,990 kaj tie ni iru, tio ŝanĝis la tekston. 528 00:38:19,990 --> 00:38:25,980 Do se ni tajpi en Foo, estas tuj ŝanĝos al Foo. 529 00:38:25,980 --> 00:38:29,040 >> Kaj se mi klaku la Aktivigi butonon, kiu 530 00:38:29,040 --> 00:38:34,560 Ni kunligis al reale ĵeti nova aktiveco, espereble tiu funkcios, 531 00:38:34,560 --> 00:38:35,190 tie ni iru. 532 00:38:35,190 --> 00:38:36,760 Ĝi ĵetas la nova aktiveco. 533 00:38:36,760 --> 00:38:40,001 534 00:38:40,001 --> 00:38:47,010 Reiri, ni povas premi la Back butonon dekstre tie. 535 00:38:47,010 --> 00:38:47,510 Aŭ ne. 536 00:38:47,510 --> 00:38:49,610 Ho, tie ni iru. 537 00:38:49,610 --> 00:38:51,450 Oops. 538 00:38:51,450 --> 00:38:52,611 Tio estis malbona. 539 00:38:52,611 --> 00:38:53,890 Akcepti. 540 00:38:53,890 --> 00:38:58,550 >> Do nun ke ni implementado iuj bazaj havajxoj en Android, 541 00:38:58,550 --> 00:39:04,800 ni povas provi fari iun pli altnivelaj informoj. 542 00:39:04,800 --> 00:39:10,070 Do unue, ni provu migru mesaĝojn de unu aktiveco al alia. 543 00:39:10,070 --> 00:39:13,760 Do diru ni volas pasi en nomo de la ĉefa aktiveco 544 00:39:13,760 --> 00:39:16,710 al la kato aktiveco. 545 00:39:16,710 --> 00:39:19,740 Kaj nomon estus Konsultita de ĉi nameText. 546 00:39:19,740 --> 00:39:23,510 547 00:39:23,510 --> 00:39:30,160 >> OK, do unue, ni tuj rekuperi la nomon ĝuste ĉi tie. 548 00:39:30,160 --> 00:39:32,230 String nomo egalas nameText.getText (). toString (). 549 00:39:32,230 --> 00:39:39,588 550 00:39:39,588 --> 00:39:41,420 Akcepti. 551 00:39:41,420 --> 00:39:52,260 Kaj tiam ni povas uzi tion nomata intent.putExtra (nomo), 552 00:39:52,260 --> 00:39:57,650 kaj poste ĝi efektive ankaŭ volas ŝlosila por tiu ekstra kampo. 553 00:39:57,650 --> 00:40:05,520 >> Do mi tuj difini nova klavo, ni nomas ĝin EXTRA_NAME. 554 00:40:05,520 --> 00:40:11,570 555 00:40:11,570 --> 00:40:17,160 Do mi tuj uzos ĉi klavo, CatActivity.EXTRA_NAME, 556 00:40:17,160 --> 00:40:21,010 kaj tiam pasas en la nomo mem. 557 00:40:21,010 --> 00:40:26,370 >> OK, do nun ni povas fakte elsxuti ĉi ene la nova CatActivity. 558 00:40:26,370 --> 00:40:38,650 Por fari tion, ni devas uzi la intenco egalas getIntent metodo. 559 00:40:38,650 --> 00:40:41,360 Do nun estas tuj elsxuti intenco, 560 00:40:41,360 --> 00:40:45,070 estis uzata por voki ĉi nova aktiveco. 561 00:40:45,070 --> 00:40:50,340 Do se vi volas preni la kordo ke ni efektive metu ene la intenco, 562 00:40:50,340 --> 00:41:00,255 vi povas uzi intent.getStringExtra kaj tiam pasas en la sama tonalo, 563 00:41:00,255 --> 00:41:04,080 564 00:41:04,080 --> 00:41:10,570 >> OK, do nun diru ni vin volas ŝanĝi ĉi kampo. 565 00:41:10,570 --> 00:41:14,422 566 00:41:14,422 --> 00:41:15,630 Ŝanĝi ĉi kampo dekstra tie. 567 00:41:15,630 --> 00:41:18,400 568 00:41:18,400 --> 00:41:20,900 Kaj ni akiru la tiparo grandeco de ĉi tiu kampo pli granda. 569 00:41:20,900 --> 00:41:26,480 Do diru Mi volas ĉi esti 20 DP. 570 00:41:26,480 --> 00:41:28,340 Akcepti. 571 00:41:28,340 --> 00:41:32,070 Kaj mi tuj aldonas tie IRU por ĉi TextView, 572 00:41:32,070 --> 00:41:35,690 kaj mi tuj vokos ŝin text_cat. 573 00:41:35,690 --> 00:41:41,170 574 00:41:41,170 --> 00:41:41,670 Pardonu. 575 00:41:41,670 --> 00:41:45,630 576 00:41:45,630 --> 00:41:51,310 >> Kaj reen en CatActivity, saman traktadon kiel antaŭe. 577 00:41:51,310 --> 00:41:55,090 Ni intencas difini iujn kampojn. 578 00:41:55,090 --> 00:41:58,890 Tie tuj estos oni TextView catText. 579 00:41:58,890 --> 00:42:03,500 580 00:42:03,500 --> 00:42:11,750 Kaj tiam catText egalas TextView findViewByID, r.ID.text_cat. 581 00:42:11,750 --> 00:42:17,230 582 00:42:17,230 --> 00:42:18,780 Akcepti. 583 00:42:18,780 --> 00:42:24,100 Kaj tiam reen en ĉi tie, Mi estas tuj almetis la tekston dekstren 584 00:42:24,100 --> 00:42:28,120 post ni elsxuti por ĝin de la intenco. 585 00:42:28,120 --> 00:42:30,207 586 00:42:30,207 --> 00:42:30,790 setText (nomo). 587 00:42:30,790 --> 00:42:36,020 588 00:42:36,020 --> 00:42:38,056 >> OK, do ni provu tion diveni. 589 00:42:38,056 --> 00:42:39,070 Klaku la Play butonon. 590 00:42:39,070 --> 00:42:41,830 591 00:42:41,830 --> 00:42:43,445 Mi iras al uzi la sama mekanismo. 592 00:42:43,445 --> 00:42:47,770 593 00:42:47,770 --> 00:42:50,380 Reen en ĉi tie. 594 00:42:50,380 --> 00:42:57,030 Do diru mi ne input-- se ni ne specifas neniun nomon, 595 00:42:57,030 --> 00:42:59,330 ni vidu kio okazas. 596 00:42:59,330 --> 00:43:02,150 Do nun nenio estas, ke aperas. 597 00:43:02,150 --> 00:43:10,390 Do ni iru reen kaj enigo nia nomo, Estas nur tuj diros Fred. 598 00:43:10,390 --> 00:43:14,670 Do ni povas reale pasi mesaĝojn de unu aktiveco al alia. 599 00:43:14,670 --> 00:43:15,170 Akcepti. 600 00:43:15,170 --> 00:43:18,040 601 00:43:18,040 --> 00:43:22,590 >> Do tie estas faskon da aliaj vidpunktoj ke vi povas uzi en Android. 602 00:43:22,590 --> 00:43:29,740 Do nun ni havas la progres-barojn, ni havas listrigardoj, ni havas Baskuli butonojn, 603 00:43:29,740 --> 00:43:33,950 kaj se vi vere volis lerni pli pri tio, 604 00:43:33,950 --> 00:43:36,790 vi povas vere viziti tiujn retpaĝojn. 605 00:43:36,790 --> 00:43:41,160 Ili enhavas multaj malsamaj rimedoj. 606 00:43:41,160 --> 00:43:45,230 Do ekzemple, la API gvidi dekstran tie reale 607 00:43:45,230 --> 00:43:50,885 donas al vi kelkajn kodo ekzemploj por certaj karakterizaĵoj en la Android biblioteko. 608 00:43:50,885 --> 00:43:53,692 609 00:43:53,692 --> 00:43:57,560 >> Kaj kelkaj tutoriales mi trovis utila kiam lernante pri Android. 610 00:43:57,560 --> 00:44:06,890 Tio estas la oficiala lernilo mem, kaj ankaŭ ĉi tiu alia lernilo dekstra tie. 611 00:44:06,890 --> 00:44:10,200 Kaj fine, vi povas reale uzi malsamaj bibliotekoj 612 00:44:10,200 --> 00:44:12,710 por via Android apliko. 613 00:44:12,710 --> 00:44:16,370 Nun, tiuj efektive plilongigi la funcionalidad de via app 614 00:44:16,370 --> 00:44:19,665 sen devi vere skribi multe kodo. 615 00:44:19,665 --> 00:44:21,540 La malavantaĝo estas, Kompreneble, ke vi efektive 616 00:44:21,540 --> 00:44:23,890 devas lerni la bibliotekoj mem. 617 00:44:23,890 --> 00:44:29,170 >> Do ekzemple, se vi volas fari uzi de Dropbox nubo teknologio, 618 00:44:29,170 --> 00:44:33,400 tiam vi povas uzi la Dropbox API. 619 00:44:33,400 --> 00:44:36,530 Similaj per la Facebook API. 620 00:44:36,530 --> 00:44:40,490 Kaj tiam tie estas reale kelkaj malsamaj aliaj Miscellaneous bibliotekoj 621 00:44:40,490 --> 00:44:41,700 ke vi povas uzi. 622 00:44:41,700 --> 00:44:45,560 Se vi provas atingi, kiel, JSON de iu retejo, 623 00:44:45,560 --> 00:44:49,560 tiam mi kredas ke la Google JSON biblioteko estus bela helpema. 624 00:44:49,560 --> 00:44:56,200 Do nun, kiu konvertas JSON formatitan tekston al Javo objekto, 625 00:44:56,200 --> 00:44:58,600 kaj inverse. 626 00:44:58,600 --> 00:45:01,110 >> Kaj tiam tie estas Retrofit kaj Picasso. 627 00:45:01,110 --> 00:45:07,240 Kaj tio estas, se vi volas use-- tio estas ĉar se vi uzas ripozon API. 628 00:45:07,240 --> 00:45:13,300 Kaj Picasso, se vi uzas bildojn por via Android apliko. 629 00:45:13,300 --> 00:45:14,350 Bone. 630 00:45:14,350 --> 00:45:18,030 Koran dankon, kaj amuzi kodigo. 631 00:45:18,030 --> 00:45:19,723