1 00:00:00,000 --> 00:00:02,610 [Powered by Google Translate] [Seminár] [Aplikácia pre Android (Teraz s želé!)] 2 00:00:02,610 --> 00:00:04,210 [Jordánsko Jozwiak] [Harvard University] 3 00:00:04,210 --> 00:00:06,780 [To je CS50.] [CS50.TV] 4 00:00:06,780 --> 00:00:11,600 >> Ahoj všetci, vitajte na Android Apps (Teraz s želé!) Seminár. 5 00:00:11,600 --> 00:00:14,530 Volá sa teraz s želé, samozrejme, pretože 6 00:00:14,530 --> 00:00:17,310 Najnovšia verzia operačného systému sa nazýva Jelly Bean. 7 00:00:17,310 --> 00:00:22,950 Keď som hovoril o Androide minulý rok a bolo to v podstate rovnaký seminár 8 00:00:22,950 --> 00:00:29,150 Bol som prezentáciu návrhové vzory a štylistické možnosti pre perníka, 9 00:00:29,150 --> 00:00:31,250 aj keď Ice Cream Sandwich prišiel v tej dobe, 10 00:00:31,250 --> 00:00:33,680 a to je niečo, čo budeme hovoriť o tom, do budúcna trochu. 11 00:00:33,680 --> 00:00:35,720 Android samozrejme má nejaké problémy s fragmentáciou, 12 00:00:35,720 --> 00:00:40,240 takže posledný Google operačný systém je zvyčajne 13 00:00:40,240 --> 00:00:44,710 nemienime sa bežné medzi užívateľmi potenciálne až na jeden rok, bohužiaľ. 14 00:00:44,710 --> 00:00:49,960 >> Ale bez ohľadu na to, že budeme hovoriť o mnoho dôvodov, prečo 15 00:00:49,960 --> 00:00:53,000 Android je oveľa lepší ako iOS. 16 00:00:53,000 --> 00:00:56,410 Dobre, budeme hovoriť o Androide oproti iOS, 17 00:00:56,410 --> 00:00:59,770 niektoré konštrukčné paradigmy, ako sa vám budú zriadené v jedinej snímke, 18 00:00:59,770 --> 00:01:03,410 a veľký rozdiel medzi týmto a poslednom roku sa chcem len 19 00:01:03,410 --> 00:01:06,860 zoom cez niektoré koncepčné veci pracujú s 20 00:01:06,860 --> 00:01:09,950 operačný systém a potom ísť do naozaj základnej príklad. 21 00:01:09,950 --> 00:01:13,730 V skutočnosti je len príklad, ktorý popisuje Google pre budovanie svojej prvej aplikácii, 22 00:01:13,730 --> 00:01:17,070 a pôjdeme cez to spolu a len popísať. 23 00:01:17,070 --> 00:01:22,100 >> Viem, že mnohí z vás majú len kódované v C, takže Java už bude 24 00:01:22,100 --> 00:01:27,220 iný pohľad, a tým budete mať vaše nohy mokré 25 00:01:27,220 --> 00:01:31,540 a cítiť trochu pohodlnejšie s ním nádejne. 26 00:01:31,540 --> 00:01:35,330 Rýchle zhrnutie, Android vs iOS. 27 00:01:35,330 --> 00:01:39,200 V Android tam je to jednorazový vývojár poplatok $ 25, 28 00:01:39,200 --> 00:01:42,390 nič z toho 100 dolárov ročne vec. 29 00:01:42,390 --> 00:01:45,440 Neexistujú žiadne obmedzenia, čo znamená, že ak chcem podať aplikácie, 30 00:01:45,440 --> 00:01:51,560 Len som predložila, a nie je schvaľovací proces, ako je tomu u iOS. 31 00:01:51,560 --> 00:01:53,890 Môžete si vytvoriť s pomocou Eclipse Java, 32 00:01:53,890 --> 00:01:57,090 ktorý je multiplatformný, takže nezáleží na tom, či máte Mac, 33 00:01:57,090 --> 00:01:59,600 Windows, Linux alebo nejaký stroj. 34 00:01:59,600 --> 00:02:03,730 Samozrejme, že s iOS budete musieť použiť Xcode na Mac, 35 00:02:03,730 --> 00:02:06,930 a Android je používaný mnoho ďalších ľudí, 36 00:02:06,930 --> 00:02:11,580 takže ak chcete, aby vaše aplikácie mať nejaký viditeľnosti alebo napríklad 37 00:02:11,580 --> 00:02:14,110 zarobiť trochu peňazí z reklamy 38 00:02:14,110 --> 00:02:17,450 ste pravdepodobne skôr ťažiť z Android. 39 00:02:17,450 --> 00:02:20,630 >> A ešte jedna vec, ktorá vždy vie o Androide 40 00:02:20,630 --> 00:02:25,100 je extrémne množstvo úprav, kým iOS je veľmi pevne vo svojich spôsoboch 41 00:02:25,100 --> 00:02:29,380 aby mohli udržiavať bezpečnosť a kontrolu nad každú malú aspektu 42 00:02:29,380 --> 00:02:34,180 konštrukcia v rámci svojho operačného systému a jednotlivými aplikáciami. 43 00:02:34,180 --> 00:02:40,180 Android je veľmi voľné forme, a je tu mnoho ďalších možností. 44 00:02:40,180 --> 00:02:42,530 Dobre, niektoré konštrukčné vzory. 45 00:02:42,530 --> 00:02:49,600 Všimnite si, rovnako ako iOS má tablet a iPhone a iPod Dotyky 46 00:02:49,600 --> 00:02:53,840 majú podporovať, povedzme, ako tucet zariadení, pokiaľ ich chcete podporiť 47 00:02:53,840 --> 00:02:55,450 historické veci rovnako. 48 00:02:55,450 --> 00:02:58,410 S operačným systémom Android máte podporovať stovky zariadení, 49 00:02:58,410 --> 00:03:01,240 tak tam sú niektoré veci, ktoré Google sa snaží realizovať 50 00:03:01,240 --> 00:03:04,970 aby si užívateľ zažiť trochu viac konzistentné, 51 00:03:04,970 --> 00:03:08,560 ale budeme tiež hovoriť o tom, ako to znamená, že existujú problémy fragmentácie 52 00:03:08,560 --> 00:03:11,700 že neustále musíte byť vedomí podporovať. 53 00:03:11,700 --> 00:03:16,140 Fragmentácia znamená, že existuje veľa rôznych operačných systémov, 54 00:03:16,140 --> 00:03:20,330 veľa rôznych telefónov s odlišným hardware s operačným systémom Android všetky naraz, 55 00:03:20,330 --> 00:03:29,680 takže tento graf tu siaha po dobu asi 6 mesiacov. 56 00:03:29,680 --> 00:03:36,460 Jo, 6 mesiacov, a môžete vidieť, ako najtemnejšie kapelu 57 00:03:36,460 --> 00:03:39,330 na dne je Jelly Bean, ktorý vyšiel v lete, 58 00:03:39,330 --> 00:03:42,970 a môžete vidieť práve teraz asi tak 2% z telefónov mať. 59 00:03:42,970 --> 00:03:45,520 >> Ice Cream Sandwich vyšiel pred viac ako rokom, 60 00:03:45,520 --> 00:03:47,770 a štvrtina telefónov mať. 61 00:03:47,770 --> 00:03:53,910 Existuje ešte veľa telefónov, ktoré používajú verziu operačného systému od rokmi. 62 00:03:53,910 --> 00:03:57,820 Jedna vec, že ​​Google sa snaží urobiť, aby sa užívateľské skúsenosti 63 00:03:57,820 --> 00:04:01,400 oveľa viac konzistentné aplikácie začína s Honeycomb, 64 00:04:01,400 --> 00:04:04,320 ktoré je tablet verzia, potom sa Ice Cream Sandwich a Jelly Bean, 65 00:04:04,320 --> 00:04:06,750 oni naozaj snažia zdôrazniť použitie tohto panelu akcií 66 00:04:06,750 --> 00:04:10,430 čo je to, čo môžete vidieť v hornej časti tu 67 00:04:10,430 --> 00:04:14,730 všetko tu, vrátane tejto malej tlačidlo Nastavenie. 68 00:04:14,730 --> 00:04:16,079 To je výber designu. 69 00:04:16,079 --> 00:04:18,000 Teraz, keď vidíte tri bodky, znamená to, kliknite na toto, 70 00:04:18,000 --> 00:04:21,880 a tam bude drop-down menu, ktoré má nejaký druh nastavenia. 71 00:04:21,880 --> 00:04:28,900 Toto sa zobrazí len preto, že som klikol na toto tlačidlo. 72 00:04:28,900 --> 00:04:32,040 To je niečo, čo sa snažíte použiť, aby sa aplikácia trochu viac konzistentné 73 00:04:32,040 --> 00:04:39,210 plošne, a tak užívateľ má lepší zmysel pre jednotné skúsenosti. 74 00:04:39,210 --> 00:04:42,640 >> Dobre, takže v prípade, že ste neurobili to už, alebo ak ste sledoval doma 75 00:04:42,640 --> 00:04:50,210 potom môžete takto nastaviť prostredie pre písanie kódu. 76 00:04:50,210 --> 00:04:52,630 To bude zahŕňať ísť na webových stránkach tu. 77 00:04:52,630 --> 00:04:56,260 Môžete Google, inštaláciu Android SDK 78 00:04:56,260 --> 00:04:59,130 a sledovať niektoré popisy tam. 79 00:04:59,130 --> 00:05:01,310 Oni ti všetko. 80 00:05:01,310 --> 00:05:05,160 Majú inštaláciu SDK, download Eclipse Classic verzia 81 00:05:05,160 --> 00:05:07,450 aj keď, samozrejme, my kódovanie v Jave. 82 00:05:07,450 --> 00:05:12,190 Odporúčajú toto, a potom tento nástroj ADT, Android Vývojové nástroje, 83 00:05:12,190 --> 00:05:17,300 je plugin, ktorý nainštalujete do Eclipse, ktorý umožňuje 84 00:05:17,300 --> 00:05:20,550 majú oveľa efektívnejšie skúsenosti s Androidom v rámci Eclipse. 85 00:05:20,550 --> 00:05:24,070 To vám dá nejaké grafické užívateľské rozhranie 86 00:05:24,070 --> 00:05:29,610 pre projektovanie názory, a to vám poskytne oveľa väčšiu podporu 87 00:05:29,610 --> 00:05:34,840 a schopnosť začať s emulátorom a všetky takéto veci. 88 00:05:34,840 --> 00:05:36,090 Aplikačný framework. 89 00:05:36,090 --> 00:05:41,590 >> Chcem hovoriť o tom, ako sú štruktúrované Projekty v rámci systému Android 90 00:05:41,590 --> 00:05:44,830 a potom pôjdeme do rýchleho napríklad, a dúfajme, že 91 00:05:44,830 --> 00:05:48,820 môžete klásť otázky na akomkoľvek mieste a cítiť na konci to. 92 00:05:48,820 --> 00:05:50,090 Máme nejaké žargónu ako prvý. 93 00:05:50,090 --> 00:05:55,330 Činnosť ako na obrazovke uvidíte pri spustení app. 94 00:05:55,330 --> 00:05:57,840 Celý zážitok je činnosť sama o sebe, 95 00:05:57,840 --> 00:06:00,790 takže si mohol myslieť na to ako obrazovky alebo zobrazenie, 96 00:06:00,790 --> 00:06:04,540 ale je to vlastne zdrojový kód strane. 97 00:06:04,540 --> 00:06:12,680 Stále volať skutočné rozhranie časť toho pohľadu. 98 00:06:12,680 --> 00:06:17,230 Je to niečo ako, ako v pset 7 sme mali regulátor a potom výhľad. 99 00:06:17,230 --> 00:06:20,690 Táto aktivita je viac či menej regulátor, 100 00:06:20,690 --> 00:06:23,360 a pohľad je to, čo robíme, pokiaľ ide o XML 101 00:06:23,360 --> 00:06:25,260 , Ktorý je spojený s touto činnosťou. 102 00:06:25,260 --> 00:06:29,340 Fragmenty sú niečo, čo je realizovaný v Ice Cream Sandwich do budúcna. 103 00:06:29,340 --> 00:06:36,380 Je to len nápad s časťou zobrazenie alebo činnosť 104 00:06:36,380 --> 00:06:39,990 a rozdeliť ich do samostatných oblastí, takže môžeme 105 00:06:39,990 --> 00:06:45,030 aby náš kód použiteľný pre viac týchto mnohých rôznych zariadení 106 00:06:45,030 --> 00:06:51,890 že musíme podporiť, a je to len spôsob, ako sa snaží 107 00:06:51,890 --> 00:06:54,290 tiež vytknúť viac kódu. 108 00:06:54,290 --> 00:07:01,090 Služby sú na pozadí veci ako prehrávanie hudby alebo navigačných smermi potenciálne. 109 00:07:01,090 --> 00:07:05,640 Poskytovatelia obsahu, jedná sa o API v rámci operačného systému 110 00:07:05,640 --> 00:07:09,070 , Ktoré vám umožní prístup k zdieľaných dát, ako sú kontaktné údaje, 111 00:07:09,070 --> 00:07:12,790 a zámer je niečo, čo budeme používať, keď chcete spustiť 112 00:07:12,790 --> 00:07:17,210 nová aktivita z našej aktuálnej činnosti. 113 00:07:17,210 --> 00:07:20,980 >> Dobrý deň, Android, to bude projekt, ktorý budeme hovoriť. 114 00:07:20,980 --> 00:07:25,410 Budem vlastne robiť to pre vás, a potom budeme robiť niečo, kde klikneme na tlačidlo 115 00:07:25,410 --> 00:07:27,650 s nejakým textom a začať novú činnosť. 116 00:07:27,650 --> 00:07:30,110 Veľmi jednoduché, ale ja chcem ísť cez 117 00:07:30,110 --> 00:07:34,480 čo sa ísť do projektu, ako je tento. 118 00:07:34,480 --> 00:07:39,260 Keď urobíte nový projekt uvidíte v Eclipse 119 00:07:39,260 --> 00:07:41,900 tam je to projekt s názvom Hello Android. 120 00:07:41,900 --> 00:07:43,470 Potom sú tu celá partia zložiek tu. 121 00:07:43,470 --> 00:07:46,760 Ty si naozaj zaoberajú, sú zdrojové zložky, 122 00:07:46,760 --> 00:07:54,540 zdroj zložky, res, a do istej miery aj libs zložky pre knižnice. 123 00:07:54,540 --> 00:08:00,070 A práve preto, že sme na rovnakej strane s tým 124 00:08:00,070 --> 00:08:03,240 ak by ste chceli vytvoriť nový projekt, 125 00:08:03,240 --> 00:08:08,270 môžete to urobiť tu, takže keď chcem hovoriť HelloAndroid, 126 00:08:08,270 --> 00:08:11,100 a potom to automaticky robí veľa informácií pre nás. 127 00:08:11,100 --> 00:08:14,110 Názov balíka by mal byť jedinečný identifikátor 128 00:08:14,110 --> 00:08:16,710 ktoré by normálne boli spojené s webovej stránky, ak ste mal. 129 00:08:16,710 --> 00:08:24,430 >> Napríklad, budem volať túto net.cs50.helloandroid. 130 00:08:24,430 --> 00:08:30,070 A už som urobil tento projekt raz. 131 00:08:30,070 --> 00:08:40,059 Dobre, ospravedlňujem sa. Hovorme tomu HelloCS50. 132 00:08:40,059 --> 00:08:42,929 A potom to bude pýtať, aké veci ako ikony chceme robiť. 133 00:08:42,929 --> 00:08:48,840 To je všetko kvôli Android Developer Tools rozhranie, 134 00:08:48,840 --> 00:08:53,350 plugin, ktorý sme pridali Eclipse, takže si môžeme vybrať veci, ako je 135 00:08:53,350 --> 00:08:58,320 čo ikona chceme, a že by išiel do tej hĺbky, ak chceme. 136 00:08:58,320 --> 00:09:04,360 Ale na konci, len aby projekt, 137 00:09:04,360 --> 00:09:07,040 a všetko, čo sa objaví tu. 138 00:09:07,040 --> 00:09:10,030 Ako som ukázal na druhej obrazovke, 139 00:09:10,030 --> 00:09:14,070 máme zdrojovú zložku, a budem hovoriť o tom, čo to všetko znamená, že čoskoro 140 00:09:14,070 --> 00:09:19,090 ale môžete vidieť, že to okamžite nás zavedie do HelloCS50 obrazovke. 141 00:09:19,090 --> 00:09:24,690 Tam sú niektoré tlačidlá cez tú pre pridávanie a textové polia rozloženia. 142 00:09:24,690 --> 00:09:28,910 Je to niečo ako Xcode, ale bohužiaľ nie tak zefektívniť. 143 00:09:28,910 --> 00:09:37,790 Ale klipy bude váš priateľ a ADT najmä pre robenie toto. 144 00:09:37,790 --> 00:09:40,920 >> Dobre, zdrojové zložky, kde je 145 00:09:40,920 --> 00:09:43,820 Java súbory sa konajú, a to je vlastne spustenie programu. 146 00:09:43,820 --> 00:09:45,990 Je to v podstate ako regulátory. 147 00:09:45,990 --> 00:09:49,020 Prostriedku alebo do zložky res je miesto, kde budeme držať rozloženie obrazovky, 148 00:09:49,020 --> 00:09:54,110 obrázky, zvuky, text, animácie a všetko ostatné, libs, samozrejme, knižnice. 149 00:09:54,110 --> 00:10:01,700 A Manifest, je to tak, že sa systém Android vie 150 00:10:01,700 --> 00:10:03,130 ako komunikovať s vašej aplikácie. 151 00:10:03,130 --> 00:10:07,980 Vypovedá to o oprávneniach a aké činnosti bude skutočne prevádzkovať. 152 00:10:07,980 --> 00:10:12,350 Je to všetko podstatné informácie, ktoré je potrebné na spustenie aplikácie. 153 00:10:12,350 --> 00:10:17,990 Zdrojová zložka je ak sme sa rozšíriť to, ako môžete vidieť práve tu. 154 00:10:17,990 --> 00:10:23,920 A príklad, ktorý by kód vyzerať, to je základný kód. 155 00:10:23,920 --> 00:10:27,930 Ako sme hovorili, MainActivity. 156 00:10:27,930 --> 00:10:33,230 V predvolenom nastavení sa dostaneme OnCreate, čo je funkcia, ktorá je volaná, keď túto činnosť zaťaženie, 157 00:10:33,230 --> 00:10:37,150 takže chcete volať OnCreate (savedInstanceState). 158 00:10:37,150 --> 00:10:40,440 To obnoví všetky kúsky informácií 159 00:10:40,440 --> 00:10:44,910 v prípade, že bol pozastavený app. 160 00:10:44,910 --> 00:10:48,790 >> Existuje celá činnosť životného cyklu schému, ktoré si môžete prezrieť na 161 00:10:48,790 --> 00:10:50,380 keď sa dostanete trochu viac do hĺbky v tom, 162 00:10:50,380 --> 00:10:56,210 ale najdôležitejšie riadok kódu je táto funkcia setContentView 163 00:10:56,210 --> 00:11:00,290 ktorý načíta súbor prostriedkov pre rozvrhnutie. 164 00:11:00,290 --> 00:11:03,590 Tak čo OnCreate tu je v podstate robí, je, že to hovorí 165 00:11:03,590 --> 00:11:07,010 keď som sa vytvoriť túto činnosť chcem nahrať toto rozloženie. 166 00:11:07,010 --> 00:11:12,030 A budeme hovoriť o tom, že rozloženie je v druhom. 167 00:11:12,030 --> 00:11:16,230 Ak by sme mali začať, že tu to vyzerá presne ako to, 168 00:11:16,230 --> 00:11:22,880 a v predvolenom nastavení, pretože sme Eclipse robí to a ADT robí to pre nás 169 00:11:22,880 --> 00:11:28,210 to je všetko, často používaný kód, ktorý je vytvorený pre nás, 170 00:11:28,210 --> 00:11:34,630 a môžeme ísť ďalej a zmeniť veci tak, ako sa nám páči. 171 00:11:34,630 --> 00:11:38,190 Zdroj zložka, ako som povedal, to je miesto, kde máme všetky layouty, 172 00:11:38,190 --> 00:11:41,150 obrazovkami, pokiaľ ide o akýkoľvek druh snímok- 173 00:11:41,150 --> 00:11:46,360 sa im hovorí obrazovkami A potom zvukové súbory, menu. 174 00:11:46,360 --> 00:11:51,170 Je to spôsob, ako celú partiou XML v peknom triedeného módy. 175 00:11:51,170 --> 00:11:58,030 Ako môžete vidieť, sú tu. Hdpi, ldpi, mdpi a xhdpi zložky pre obrazovkami. 176 00:11:58,030 --> 00:12:02,220 Jedná sa o rôzne hustoty obrazovky, takže s vysokou hustotou pixelov na palec, 177 00:12:02,220 --> 00:12:05,710 nízka hustota, stredná hustota, extra vysokou hustotou. 178 00:12:05,710 --> 00:12:08,900 >> To je opäť, takže môžeme podporovať všetky tieto rôzne zariadenia, 179 00:12:08,900 --> 00:12:15,100 a ideálne, budete mať rôzne obrazy pre každé iné rozlíšenie. 180 00:12:15,100 --> 00:12:20,740 Rozloženie tam, kde sme ich všetky rôzne rozloženie, ktoré budú použité v rôznych činnostiach. 181 00:12:20,740 --> 00:12:24,150 Takisto môžu obsahovať rozloženie pre fragmenty, 182 00:12:24,150 --> 00:12:26,670 čo znamená, že v podstate čiastkové aktivity. 183 00:12:26,670 --> 00:12:29,610 Ak chcete urobiť niečo zaujímavé, ako keď otočíte telefón 184 00:12:29,610 --> 00:12:33,900 Chcete to mať iné rozloženie, ktoré môžete urobiť layout-krajinu ako iné zložky, 185 00:12:33,900 --> 00:12:39,000 a automaticky Android má veľa týchto pravidiel v rámci zdrojov zložky, 186 00:12:39,000 --> 00:12:44,690 tak to bude vedieť, pozrieť sa na rôzne zložky na základe aktuálneho nastavenia telefónu, 187 00:12:44,690 --> 00:12:46,740 aký druh hardvéru, ktorý používate. 188 00:12:46,740 --> 00:12:52,350 Nie inak tomu hodnotách v11 tu a hodnoty-V14 189 00:12:52,350 --> 00:12:55,460 a predvolené hodnoty zložky je to pre- 190 00:12:55,460 --> 00:13:01,730 dobre, hodnoty od seba, bude to predvolené hodnoty naprieč všetkými verziami operačného systému. 191 00:13:01,730 --> 00:13:06,390 Na druhej strane, V11 a V14 zodpovedajú Honeycomb 192 00:13:06,390 --> 00:13:08,780 a Ice Cream Sandwich, resp. 193 00:13:08,780 --> 00:13:12,800 Opäť sa jedná o spôsoby, v týchto zložkách sú rôzne reťazce 194 00:13:12,800 --> 00:13:17,550 a štýlov, takže si môžete prispôsobiť vzhľad vašej aplikácie 195 00:13:17,550 --> 00:13:22,660 alebo potenciálne aj jeho funkčnosť, aj keď to bude pravdepodobne zlý nápad, 196 00:13:22,660 --> 00:13:25,890 na základe verzie operačného systému. 197 00:13:25,890 --> 00:13:28,760 >> Hovorila som o tom všetkom tu. 198 00:13:28,760 --> 00:13:35,870 Opäť, ťažný, surový, dispozície, hodnoty. 199 00:13:35,870 --> 00:13:41,380 Predvolené nastavenie, keď ideme do Hello Android alebo Hello CS50 práve teraz 200 00:13:41,380 --> 00:13:43,310 to bude vyzerať presne takto. 201 00:13:43,310 --> 00:13:45,800 Bude pozdraviť svet. 202 00:13:45,800 --> 00:13:58,430 Ako môžete vidieť tu s textom Android 203 00:13:58,430 --> 00:14:04,420 text tohto zobrazenie textu, ktorý je v podstate len označenie, 204 00:14:04,420 --> 00:14:06,900 je to, čo by sme nazvali ho iOS. 205 00:14:06,900 --> 00:14:11,580 Má tento legrační zápis @ string / hello_world. 206 00:14:11,580 --> 00:14:16,200 To je tak môžeme-sa snažíme získať všetky reťazce, 207 00:14:16,200 --> 00:14:19,740 všetky natvrdo kódovaných reťazcov v Android do samostatnej zložky, 208 00:14:19,740 --> 00:14:23,610 ktorý sa stane byť v values.strings. 209 00:14:23,610 --> 00:14:29,300 Ak sa pozrieme tu, môžeme vidieť, že máme pevne reťazec uložený tu 210 00:14:29,300 --> 00:14:33,910 pre Hello World, a je to len hello world, a to je druh 211 00:14:33,910 --> 00:14:39,230 obyčajný dizajn rozhodnutia v mnohých platformách, ktoré chcete, 212 00:14:39,230 --> 00:14:41,780 struny sú také veci, ktoré chceme, aby mohli byť schopní zmeniť. 213 00:14:41,780 --> 00:14:48,050 Nechceme kontrolovať F v našom súbore zdrojového kódu v našom XML. 214 00:14:48,050 --> 00:14:50,760 Chceme byť schopní zmeniť kedykoľvek dostaneme šancu. 215 00:14:50,760 --> 00:14:53,640 >> Tento súbor XML, strings.xml, je spôsob získavania 216 00:14:53,640 --> 00:14:56,710 hard-kódované reťazca, ktoré by inak boli v našich rozvrhnutí zdrojov 217 00:14:56,710 --> 00:15:03,530 alebo v našom zdrojovom kóde. 218 00:15:03,530 --> 00:15:08,190 Manifest je miesto, kde sme sa udržať túto základné informácie o aplikácii. 219 00:15:08,190 --> 00:15:11,050 To zahŕňa názov balíčka. To musí byť jedinečný identifikátor. 220 00:15:11,050 --> 00:15:16,020 Na rozdiel od App Store pre iOS menami aplikácií 221 00:15:16,020 --> 00:15:19,980 nemusí byť jedinečný, a môže v skutočnosti zmeniť názov aplikácie 222 00:15:19,980 --> 00:15:23,570 po odoslaní, takže keď som sa začať s Angry Birds, 223 00:15:23,570 --> 00:15:26,840 a potom urobím aktualizáciu, a ja nechcem, aby novú verziu 224 00:15:26,840 --> 00:15:34,230 Myslím, že by som mohol nazvať Angry Birds 2, zatiaľ čo ja som na rovnakom vývojovom cykle. 225 00:15:34,230 --> 00:15:36,780 To by len ukázať ako aktualizácia. 226 00:15:36,780 --> 00:15:39,790 Jediná vec, ktorá musí byť jedinečné, je to názov balíčka, 227 00:15:39,790 --> 00:15:41,280 čo nie je veľa ľudí uvidí. 228 00:15:41,280 --> 00:15:44,680 No, ja len, či ste sa pozerali na zdrojovom kóde, alebo ak tam je nejaký druh chyby. 229 00:15:44,680 --> 00:15:47,580 Komponenty zahŕňajú činnosti, takže musíme vyhlásiť, 230 00:15:47,580 --> 00:15:49,070 akýkoľvek druh činnosti používame. 231 00:15:49,070 --> 00:15:53,430 Jedná sa o povolenie veci. 232 00:15:53,460 --> 00:15:58,150 >> Pretože Android nemá tento prísny proces aplikácie 233 00:15:58,150 --> 00:16:02,210 pre predkladanie aplikácie namiesto toho len, že to všetko vychádza mimo oprávnenia 234 00:16:02,210 --> 00:16:04,300 a prehlasuje veci v manifeste. 235 00:16:04,300 --> 00:16:06,380 Verzia SDK je tiež dôležité. 236 00:16:06,380 --> 00:16:10,330 Môžeme nastaviť použitie ako minimálna verzia SDK niečo. 237 00:16:10,330 --> 00:16:16,010 Je zrejmé, že chcete vytvoriť kód 238 00:16:16,010 --> 00:16:18,570 a dizajn pre novšie operačné systémy. 239 00:16:18,570 --> 00:16:20,840 Možno, že nie je najnovšie, možno nie Jelly Bean. 240 00:16:20,840 --> 00:16:23,610 Možno, že chcete navrhnúť predovšetkým pre Ice Cream Sandwich, 241 00:16:23,610 --> 00:16:27,120 hoci oni sú skoro rovnaké, pokiaľ ide o rozhodnutie o návrhu 242 00:16:27,120 --> 00:16:30,550 a skutočnej knižnice a API. 243 00:16:30,550 --> 00:16:36,250 Ale skôr než mať ľudí 244 00:16:36,250 --> 00:16:40,050 z pôvodnej verzii Android-ako cesta späť, keď Donut- 245 00:16:40,050 --> 00:16:43,420 ktorí ešte stalo, že sa pomocou ktorej sa snažia sťahovať aplikácie a potom vyslovte 246 00:16:43,420 --> 00:16:46,160 nefunguje na mojom telefóne môžete nastaviť minimálnu verzia 247 00:16:46,160 --> 00:16:48,620 a majú byť perník alebo Ice Cream Sandwich 248 00:16:48,620 --> 00:16:53,300 alebo čo cítite na predkladanie. 249 00:16:53,300 --> 00:16:57,170 A to je príklad manifestu. Môžeme sa pozrieť na skutočné jeden v trochu. 250 00:16:57,170 --> 00:17:00,900 >> Dobre, budeme jednoducho ísť dopredu s demoverziu. 251 00:17:00,900 --> 00:17:08,900 Toto je demo, ak Google Android postaviť svoj prvý aplikáciu alebo niečo také. 252 00:17:08,900 --> 00:17:12,089 Pôjdeme cez všetko, čo sa deje tam, 253 00:17:12,089 --> 00:17:17,690 a ospravedlňujem, len s odkazom, ktorý tu pozná Java akomkoľvek rozsahu? 254 00:17:17,690 --> 00:17:28,310 Dobre, tak Java je nové kódovanie jazyka pre väčšinu ľudí, ktorí prichádzajú z CS50. 255 00:17:28,310 --> 00:17:31,850 Stručne povedané, ísť znova to, čo hovorí tu, 256 00:17:31,850 --> 00:17:35,580 čo chceme urobiť, je skôr než prispôsobiť túto aplikáciu Hello World 257 00:17:35,580 --> 00:17:38,620 že všetko, čo robí, je, že na trh a hovorí, že hello world 258 00:17:38,620 --> 00:17:43,580 a hovorí ahoj CS50 hore, pretože to je činnosť, názov 259 00:17:43,580 --> 00:17:47,190 budeme sa snažiť, aby sa textové pole a tlačidlo 260 00:17:47,190 --> 00:17:50,680 tak, že keď sme sa stlačením tohto tlačidla bude trvať text 261 00:17:50,680 --> 00:17:53,660 z textového poľa a začať novú aktivitu, a to bude hovoriť 262 00:17:53,660 --> 00:17:58,380 bez ohľadu na tento text uvedený v činnosti, a to je pomerne jednoduchý. 263 00:17:58,380 --> 00:18:00,650 Nie je to veľmi zaujímavé. Tie by nechcel, aby sa uvoľnilo aplikácie, ako je tento. 264 00:18:00,650 --> 00:18:03,880 Ale ukazuje niektoré dôležité veci návrhu. 265 00:18:03,880 --> 00:18:07,030 >> Budeme musieť spolupracovať s manifestu, s usporiadaním súborov, 266 00:18:07,030 --> 00:18:12,440 so zdrojovým kódom, a môžete vidieť, ako spustiť jednu činnosť od druhého. 267 00:18:19,740 --> 00:18:23,060 Začneme s rozložením pre naše prvé činnosti, 268 00:18:23,060 --> 00:18:27,320 o ktorom viem, že je to taká malá, 269 00:18:27,320 --> 00:18:32,660 ale ako môžete vidieť práve teraz, všetko, čo je ich, že má svoje logo, ktoré sme vytvorili, 270 00:18:32,660 --> 00:18:36,310 Názov aktivity, a hovorí, že hello world v centre. 271 00:18:36,310 --> 00:18:40,400 Namiesto toho som ako prvý ísť, aby sa to na lineárne usporiadanie, 272 00:18:40,400 --> 00:18:42,350 relatívna rozloženie a to všetko sú veci, 273 00:18:42,350 --> 00:18:45,870 by ste sa mohli pozrieť a stojí ísť cez na nejakom mieste, pokiaľ ide o alokáciu. 274 00:18:45,870 --> 00:18:47,310 Je to veľmi podobný HTML. 275 00:18:47,310 --> 00:18:52,640 Povedali sme, že to naozaj nie je dobré poznať, pokiaľ ide o programovej zmysle, 276 00:18:52,640 --> 00:18:55,840 ale tam je tak veľa rôznych rozvrhnutie môžete ovládať, 277 00:18:55,840 --> 00:18:57,970 a je to ako CSS, pokiaľ ide o štýly. 278 00:18:57,970 --> 00:19:01,590 >> Je tu veľa deje len z hľadiska estetiky tu, 279 00:19:01,590 --> 00:19:08,930 a jo, je to stojí za to učenie, ale je to jedna z tých vecí, mali by ste vyhľadať 280 00:19:08,930 --> 00:19:11,810 ako idete a máte pocit, že musíte niečo nové. 281 00:19:11,810 --> 00:19:17,030 Môžem využiť niektoré z ADT nástrojov tu aspoň začať s 282 00:19:17,030 --> 00:19:21,930 Urobím textové pole, a urobím tlačidlo. 283 00:19:21,930 --> 00:19:24,100 Dajte je hneď vedľa seba. 284 00:19:24,100 --> 00:19:28,200 Už veľkosť zodpovedajúcim spôsobom. 285 00:19:28,200 --> 00:19:31,320 Ospravedlňujeme sa, ale opäť vracia na rozdiel medzi lineárne usporiadanie a relatívnej usporiadanie, 286 00:19:31,320 --> 00:19:34,830 lineárne usporiadanie dáva trochu viac funkcií 287 00:19:34,830 --> 00:19:38,720 pokiaľ ide o plnenie miesto a uistite sa, 288 00:19:38,720 --> 00:19:42,790 Umiestnime veci vodorovne alebo zvisle. 289 00:19:42,790 --> 00:19:46,130 Veľký rozdiel medzi lineárne usporiadanie a rozloženie relatívnej 290 00:19:46,130 --> 00:19:50,250 je relatívna rozloženie pozícií všetko v porovnaní s inými názormi, 291 00:19:50,250 --> 00:19:52,630 a dobrá vec na tom je, že to trvá kratšiu dobu k tomu 292 00:19:52,630 --> 00:19:56,120 pretože operačný systém sa pozerá na všetky kódu a hovorí, že to ide 293 00:19:56,120 --> 00:19:58,270 vzhľadom k tomu tu, tu. 294 00:19:58,270 --> 00:20:03,170 To znamená, že je menej než meranie veľa vnorených lineárne usporiadanie, 295 00:20:03,170 --> 00:20:06,840 ktoré som musel urobiť, keby som chcel veci ísť vertikálne tu. 296 00:20:06,840 --> 00:20:10,510 >> Už som niektoré veci ísť vodorovne, takže by som potreboval iný lineárne usporiadanie 297 00:20:10,510 --> 00:20:14,560 hniezdiť zvisle, ale keď som robil relatívna rozloženie by som mohol povedať, 298 00:20:14,560 --> 00:20:18,140 si to na ľavej strane, to napravo a tieto veci nižšie. 299 00:20:18,140 --> 00:20:21,850 Ale pretože chcem, aby vyplniť teraz budem používať lineárne usporiadanie, 300 00:20:21,850 --> 00:20:24,510 a môžete vidieť, že už má veľa týchto vecí pre nás. 301 00:20:24,510 --> 00:20:28,890 Všetky pohľady musia mať vlastnosť šírky a výšky, 302 00:20:28,890 --> 00:20:33,410 a to sa stane, že hmotnosť 1, a to má váhu 1 303 00:20:33,410 --> 00:20:36,050 tak, aby vyplnil celý priestor. 304 00:20:36,050 --> 00:20:38,460 Ale šírka a výška sú najdôležitejšie. 305 00:20:38,460 --> 00:20:45,880 Toto pole ID tu nie je dôležité v skutočnom rozložení 306 00:20:45,880 --> 00:20:49,060 ak budeme pomocou relatívnej rozloženie a reči, môžeme odkazovať 307 00:20:49,060 --> 00:20:52,990 jeden pohľad pozíciu vo vzťahu k inému. 308 00:20:52,990 --> 00:20:56,170 Ak by sme mali relatívna usporiadanie by sa dalo povedať toto postavenie pod tento 309 00:20:56,170 --> 00:20:59,390 alebo nad týmto ID, ale ID bude dôležité 310 00:20:59,390 --> 00:21:01,660 keď sme použili v našom kóde, pretože sa môžeme odkazovať 311 00:21:01,660 --> 00:21:05,610 Tieto jednotlivé pohľady týmto spôsobom. 312 00:21:05,610 --> 00:21:10,350 >> A potom môžete vidieť requestFocus tag, čo je niečo, čo ste pravdepodobne videli v pset 7. 313 00:21:10,350 --> 00:21:15,370 Tam bol automatické zaostrovanie tag alebo niečo v tomto smere za jedného z polí. 314 00:21:15,370 --> 00:21:22,100 A ešte jedna vec, samozrejme, môžeme to urobiť rovnako ako v HTML, 315 00:21:22,100 --> 00:21:25,660 a všimnite si, jedna z krásnych vecí, o ADT je ​​to, že autocompletes tu. 316 00:21:25,660 --> 00:21:29,930 Možno nie tak pekne, ako tomu bolo v Xcode, ale to napriek tomu, 317 00:21:29,930 --> 00:21:32,860 a tak by sme mohli povedať, radu a dať mu nejaký reťazec 318 00:21:32,860 --> 00:21:37,070 Páči napísať správu, 319 00:21:37,070 --> 00:21:41,300 a keď som dať chvíľku, tiež všimnúť, že som si trochu chyba tu 320 00:21:41,300 --> 00:21:44,610 hovorí, že by sme mali použiť reťazec prostriedku za to, 321 00:21:44,610 --> 00:21:48,820 takže keď som nechať ju robiť niektoré tvrdej práce pre mňa 322 00:21:48,820 --> 00:21:57,320 Dokážem zvoliť tento reťazec, vykonajte Refractor Android a extrakt Android reťazec. 323 00:21:57,320 --> 00:22:00,570 Môžem dať toto meno, napísať správu, 324 00:22:00,570 --> 00:22:04,180 a čo to teraz je nahradený že pevne reťazec 325 00:22:04,180 --> 00:22:07,980 s odkazom na reťazec v reťazci v súbore XML., 326 00:22:07,980 --> 00:22:10,200 čo znamená, že teraz je to tu. 327 00:22:10,200 --> 00:22:15,560 >> A viem, že vyzerá trochu triviálne a rovnako ako práca navyše v tomto bode, 328 00:22:15,560 --> 00:22:17,840 ale keď máte veľa vecí, veľa reťazcov, 329 00:22:17,840 --> 00:22:20,750 to je naozaj dôležité, a to najmä pre lokalizáciu 330 00:22:20,750 --> 00:22:26,920 pretože ako som už spomenul, Android je veľmi celosvetovo používa operačný systém 331 00:22:26,920 --> 00:22:35,950 že môžete jednoducho urobiť hodnôt-en alebo hodnoty-SP 332 00:22:35,950 --> 00:22:44,320 alebo niečo pre anglicky alebo španielsky alebo iné jazyky. 333 00:22:44,320 --> 00:22:50,210 A potom ste pravdepodobne mali túto skúsenosť ešte 334 00:22:50,210 --> 00:22:53,030 pretože sme nemali robiť veľa JavaScript v zmysle programovanie pre web, 335 00:22:53,030 --> 00:22:56,850 ale môžeme aj to pole s názvom onClick pre tlačidlá, 336 00:22:56,850 --> 00:23:02,350 a toto je spôsob odkazovania v našom usporiadaní 337 00:23:02,350 --> 00:23:06,570 že chceme určitú funkciu, ktorá sa nazýva v našom zdrojovom kóde. 338 00:23:06,570 --> 00:23:09,420 Budem volať tento SendMessage, 339 00:23:09,420 --> 00:23:13,390 a aby túto prácu to znamená, že v hlavnej činnosti tu 340 00:23:13,390 --> 00:23:19,180 Budem musieť vytvoriť funkciu, ktorá je verejnosti 341 00:23:19,180 --> 00:23:22,250 tak, aby mohol byť prístupné usporiadanie. 342 00:23:22,250 --> 00:23:25,930 Je to neplatné, pretože jednoducho nechcú, že sa vráti nič. 343 00:23:25,930 --> 00:23:37,760 Nazveme to sendmessage, a to trvá nejaký názor 344 00:23:37,760 --> 00:23:43,690 ktorý je akýmsi kontexte môžeme ukotviť túto metódu 345 00:23:43,690 --> 00:23:47,160 sa daného pohľadu, keď sme spustením. 346 00:23:47,160 --> 00:23:50,090 >> A ja neviem, či ste si všimli, tak by ste si to nevšimli, 347 00:23:50,090 --> 00:24:02,370 ale v túto chvíľu tu 348 00:24:02,370 --> 00:24:06,930 Tento pohľad je typ, ktorý nebol doteraz, 349 00:24:06,930 --> 00:24:10,630 a samozrejme, že všetci viete, od CS50 o nezahŕňa typy. 350 00:24:10,630 --> 00:24:13,120 Krásna vec na tom ako Eclipse IDE je, že 351 00:24:13,120 --> 00:24:17,520 Ak zabudnete ak nejaký typ bude zdôrazniť s malou červenou kľukatou 352 00:24:17,520 --> 00:24:19,680 a potom vám možnosť importovať názor. 353 00:24:19,680 --> 00:24:23,130 Rýchly spôsob, ako to dosiahnuť, je ovládanie posunu O, a to bude importovať 354 00:24:23,130 --> 00:24:27,070 všetky súbory, že potrebuje. 355 00:24:27,070 --> 00:24:33,670 Teraz, keď máme túto funkciu SendMessage, 356 00:24:33,670 --> 00:24:46,560 ktorá pošle správu z MainActivity na nové činnosti, 357 00:24:46,560 --> 00:24:55,230 budeme musieť použiť zámer začať novú činnosť z tohto jedného, 358 00:24:55,230 --> 00:25:02,240 takže budeme pravdepodobne chcieť vytvoriť globálnu konštanty alebo tiež zvlášť verejné konštanty 359 00:25:02,240 --> 00:25:06,240 že nám pomôže vedieť, ako budeme odkazovať na reťazec 360 00:25:06,240 --> 00:25:09,090 pretože keď sme sa vytvoriť úmysel, že nie sme len volať novú aktivitu, 361 00:25:09,090 --> 00:25:11,520 ale môžeme tiež dať balík informácií. 362 00:25:11,520 --> 00:25:14,720 Zväzok je vlastne termín, ktorý používa Android, 363 00:25:14,720 --> 00:25:21,470 a je to spôsob, ako povedať, aby to ďalšie údaje, ktoré nemôžu byť z veľmi sofistikovaný dátový typ, 364 00:25:21,470 --> 00:25:24,510 ale rozhodne môžeme zahrnúť pravdivostná alebo reťazca alebo INT. 365 00:25:24,510 --> 00:25:29,750 Taká vec. 366 00:25:29,750 --> 00:25:34,230 >> Neváhajte sa opýtať na niektorý z týchto kvalifikačných tu, 367 00:25:34,230 --> 00:25:36,900 verejnosti, v konečnom znení, statické. 368 00:25:36,900 --> 00:25:38,610 Verejnosť je dôležitá. 369 00:25:38,610 --> 00:25:47,090 To znamená, že môžeme pristupovať k tejto premennej z iných súborov zdrojového kódu 370 00:25:47,090 --> 00:25:49,590 napríklad keď sa vytvoria nové aktivity. 371 00:25:49,590 --> 00:25:52,190 Môžeme odkazovať na reťazec v rámci tohto súboru. 372 00:25:52,190 --> 00:25:57,160 Ak je to súkromný, to znamená, že je obmedzená na tomto jednotlivých súborov tu. 373 00:25:57,160 --> 00:26:02,430 Ale my sme mu hovoriť niečo ako ďalšie správy. 374 00:26:16,260 --> 00:26:23,300 Teraz sme urobili túto funkciu, a ak kliknete na tlačidlo, bude táto funkcia nazýva. 375 00:26:23,300 --> 00:26:27,970 Ale my sme nič neurobili, samozrejme, s funkciou. 376 00:26:27,970 --> 00:26:33,130 To, čo chceme urobiť, je vytvoriť novú aktivitu, 377 00:26:33,130 --> 00:26:35,350 činnosť, ktorá bude skutočne zahájená. 378 00:26:35,350 --> 00:26:44,330 V Eclipse môžeme povedať nový, Android činnosť, prázdne činnosť. 379 00:26:44,330 --> 00:26:46,530 Môžeme dať mu meno. 380 00:26:46,530 --> 00:26:57,050 Hovorme tomu náš výsledok činnosti. 381 00:26:57,050 --> 00:27:04,430 A potom hierarchickej rodič poľa je možnosť špecifikovať 382 00:27:04,430 --> 00:27:08,180 ako sú činnosti súvisiace s sebou. 383 00:27:08,180 --> 00:27:11,020 Pretože toto bude spustená z inej činnosti 384 00:27:11,020 --> 00:27:27,520 by sme mali stanoviť, že sa má nadradený hlavnú činnosť. 385 00:27:27,520 --> 00:27:31,220 >> A mohol som klikol na ďalšie pole tam, ktorý by nám povedal, 386 00:27:31,220 --> 00:27:33,830 Niektoré voliteľné pole, ktoré bolo tiež, vrátane, 387 00:27:33,830 --> 00:27:38,800 ale pekná vec, o ADT, opäť je, že keď som prejdite sem 388 00:27:38,800 --> 00:27:45,740 V manifeste si uvedomiť, že to všetko bola skutočne implicitne zahrnutá 389 00:27:45,740 --> 00:27:48,930 keď sme pôvodne vytvorený projekt, 390 00:27:48,930 --> 00:27:53,090 a teraz, pretože sme to vytvoriť novú aktivitu, nie len 391 00:27:53,090 --> 00:27:58,610 pridať vlastný súbor triedy, pretože sme prešli ich GUI pre robenie toto 392 00:27:58,610 --> 00:28:01,930 to už znie všetko na manifestu pre nás, 393 00:28:01,930 --> 00:28:06,020 čo jednoducho znamená, že sa operačný systém nebude sťažovať 394 00:28:06,020 --> 00:28:09,400 keď sa snažíme začať túto činnosť. 395 00:28:09,400 --> 00:28:14,620 A tiež, samozrejme, dal označenie, čo sa prejavuje aj v reťazcoch. 396 00:28:14,620 --> 00:28:17,340 To robí veľa vecí na zadnom konci pre nás. 397 00:28:17,340 --> 00:28:20,140 Každopádne, teraz máme túto činnosť aj výsledok, 398 00:28:20,140 --> 00:28:23,810 skutočný zdrojový kód súbor v zdrojovej zložke, 399 00:28:23,810 --> 00:28:33,540 a môžete vidieť, krátko dotknúť this- 400 00:28:33,540 --> 00:28:37,790 pretože sme si povedali, že o tejto hierarchickej rodičia 401 00:28:37,790 --> 00:28:46,640 to dalo toto pole android.r.ide.home v tomto onOption vybranej veci. 402 00:28:46,640 --> 00:28:49,020 >> Čo to v podstate hovorí, je tam tlačidlo menu teraz 403 00:28:49,020 --> 00:28:53,110 že v ľavom hornom rohu obrazovky 404 00:28:53,110 --> 00:29:02,220 keď som sa vrátiť do programu PowerPoint, kde sme sa prvýkrát hovorili o paneli akcií 405 00:29:02,220 --> 00:29:05,380 z dôvodu hierarchického rodičia teraz je tu trochu šípka sem 406 00:29:05,380 --> 00:29:10,610 a to je klikacie, takže by sme mali byť schopní, potom, čo sme vlastne spustiť túto aplikáciu, 407 00:29:10,610 --> 00:29:15,360 vrátiť sa, a to je spôsob, ako ušetriť nám trochu kódu tam. 408 00:29:26,220 --> 00:29:40,180 Práve v rámci tejto No, zdá sa, že sa sťažujú, že na chvíľu. 409 00:29:40,180 --> 00:29:43,910 Poďme komentovať, že von. 410 00:29:43,910 --> 00:29:48,260 Teraz, aby sa skutočne interakciu s týmito činnosťami 2, 411 00:29:48,260 --> 00:29:55,020 musíme vytvoriť zámer, ktorý obsahuje všetky tieto údaje. 412 00:29:55,020 --> 00:29:58,950 V SendMessage teraz budem pre plavbu cez niektoré kúsky kódu 413 00:29:58,950 --> 00:30:00,700 a vysvetliť, že, ako som ísť. 414 00:30:00,700 --> 00:30:06,280 Zámer, ako som povedal, je spôsob, ako začať podnikať jeden od druhého. 415 00:30:06,280 --> 00:30:10,000 Zámer je ten typ. Budeme vytvárať variabilné myIntent. 416 00:30:10,000 --> 00:30:13,980 >> A to je vlastne objekt, čo je dôvod, prečo máme zavolať nový. 417 00:30:13,980 --> 00:30:18,500 Je bežné, že Java použitie tam, čo môže trvať trochu zvykať. 418 00:30:18,500 --> 00:30:23,900 To znamená, že používate činnosť alebo triedne MainActivity, 419 00:30:23,900 --> 00:30:28,630 a zámer týmto spôsobom sa činnosť, že to bude od 420 00:30:28,630 --> 00:30:36,060 a aktivita bude to, ktoré nazývame ResultActivity, 421 00:30:36,060 --> 00:30:38,170 a to je vlastná trieda. 422 00:30:38,170 --> 00:30:41,720 Zahrnúť to. 423 00:30:41,720 --> 00:30:47,370 A potom, keď som sa zmienil predtým, dali sme, že ID do poľa pre úpravy textu 424 00:30:47,370 --> 00:30:53,710 a text pohľad, tak aby programovo zachytiť 425 00:30:53,710 --> 00:31:01,860 text, ktorý existuje v EDITTEXT 426 00:31:01,860 --> 00:31:06,710 budeme používať túto funkciu s názvom findViewByID, 427 00:31:06,710 --> 00:31:13,660 ktorý je podobný niečomu, čo budete používať, keď sa snažia dostať z polí DOM. 428 00:31:13,660 --> 00:31:17,560 Možno, že Dávid hovorí o tom v prednáške. 429 00:31:17,560 --> 00:31:26,600 Ale je to len spôsob, ako sa tých-to je dôvod, prečo sme sa označiť tieto veci s týchto oblastiach. 430 00:31:26,600 --> 00:31:31,110 Id.editText1. 431 00:31:31,110 --> 00:31:35,220 Už autocompleting tam na mňa. 432 00:31:35,220 --> 00:31:42,010 >> A potom budeme patrí-to EDITTEXT teraz, že máme pole 433 00:31:42,010 --> 00:31:47,640 v rámci nášho programu, to všetko findViewByID to bol v podstate 434 00:31:47,640 --> 00:31:50,870 si mohol myslieť na to, ako nám dať odkaz na tento EDITTEXT. 435 00:31:50,870 --> 00:31:54,570 Teraz chceme, aby sa reťazec alebo správu 436 00:31:54,570 --> 00:32:00,670 v tomto EDITTEXT, ktoré môžeme urobiť pomocou- 437 00:32:00,670 --> 00:32:03,360 si mohol myslieť EDITTEXT ako struct- 438 00:32:03,360 --> 00:32:07,600 hovoríme, že objekt v Jave, s celou bandou rôznych metód 439 00:32:07,600 --> 00:32:10,650 alebo pole a atribúty k nej pripojené. 440 00:32:10,650 --> 00:32:15,510 Keď poviem, že EDITTEXT. to mi dáva možnosť prístupu 441 00:32:15,510 --> 00:32:19,770 metóda ako gettext, ktorý bude získať aktuálne znenie 442 00:32:19,770 --> 00:32:23,990 v tomto EDITTEXT a potom previesť že výslovne 443 00:32:23,990 --> 00:32:26,520 na reťazec, a my sme uložili správu. 444 00:32:26,520 --> 00:32:32,730 Teraz sme vlastne chcete urobiť niečo s tým zámerom, ktorý sme vytvorili len pred chvíľou. 445 00:32:32,730 --> 00:32:40,250 Dám navyše, ako sa tomu hovorí v úmysle, 446 00:32:40,250 --> 00:32:43,330 ktorá opäť, tak ako som povedal predtým, je to spôsob, ako vytvoriť zväzok 447 00:32:43,330 --> 00:32:45,980 s celou partiou dát. 448 00:32:45,980 --> 00:32:50,920 Extra správa je naša značka, takže vieme, čo to schovával pod, 449 00:32:50,920 --> 00:32:56,700 a potom som vrátane správy. 450 00:32:56,700 --> 00:33:04,870 >> A potom môžeme skutočne začať aktivitu tým, že mu parametra myIntent. 451 00:33:04,870 --> 00:33:10,630 A to bude skutočne začne činnosť, tak teraz, pretože som sa upgradovať na Windows 8 452 00:33:10,630 --> 00:33:15,870 tam by mohlo byť nejaké chyby, ktoré sa objavujú krátko, ale snažte sa ich ignorovať. 453 00:33:28,010 --> 00:33:30,310 A to je Android emulátor. 454 00:33:30,310 --> 00:33:33,540 Dúfajme, že kód bude skutočne vyskočí za chvíľu. 455 00:33:33,540 --> 00:33:36,680 Opäť platí, že ignorovať všetky tie maličkosti. 456 00:33:36,680 --> 00:33:42,290 Ale emulátor Android môžete napodobniť akúkoľvek verziu operačného systému 457 00:33:42,290 --> 00:33:45,180 od najranejších tie, Donut, Gingerbread. 458 00:33:45,180 --> 00:33:49,640 To je Jelly Bean 4.1. 459 00:33:49,640 --> 00:33:53,150 Ale ako môžete vidieť práve teraz, je to niečo, čo sme urobili. 460 00:33:53,150 --> 00:33:55,780 To má MainActivity The EDITTEXT, tlačidlo. 461 00:33:55,780 --> 00:34:01,550 Môžem niečo písať tu, ale čo sme chýba na tomto mieste? 462 00:34:01,550 --> 00:34:05,190 Urobili sme poľa v MainActivity, že sa to poslať správu 463 00:34:05,190 --> 00:34:08,570 na iné činnosti, ale v túto chvíľu 464 00:34:08,570 --> 00:34:12,330 neurobili sme nič iné činnosti, takže to nebude niečo dostane. 465 00:34:12,330 --> 00:34:18,800 Poďme dokončiť túto časť skôr, než budeme pokračovať. 466 00:34:18,800 --> 00:34:25,760 >> Tento výsledok činnosti, čo budete musieť urobiť, je, že budete musieť urobiť, je, že budete musieť- 467 00:34:25,760 --> 00:34:30,070 môžeme tiež odkazovať na zámer v rámci tejto aktivity, 468 00:34:30,070 --> 00:34:33,580 takže musíme zachytiť zámer, ktorý je naozaj jednoduché. 469 00:34:33,580 --> 00:34:40,780 Je to funkcia zaradená do triedy činnosti, 470 00:34:40,780 --> 00:34:47,610 takže môžeme len povedať "Získať správu od zámeru." 471 00:34:47,610 --> 00:34:56,260 "Zámer myIntent = getIntent." 472 00:34:56,260 --> 00:35:00,030 A to nám dá-myIntent teraz je objekt, 473 00:35:00,030 --> 00:35:05,380 čo je odkaz na zámeru, ktoré nás viedli k tejto činnosti. 474 00:35:05,380 --> 00:35:10,130 MainActivity volá a dáva ďalšie informácie viesť činnosť. 475 00:35:10,130 --> 00:35:14,070 Výsledok činnosť sa zameriava na zámeru, ktorý viedol to tu, 476 00:35:14,070 --> 00:35:23,540 a môžeme pristupovať k, ktorý sme vytvorili v druhom, 477 00:35:23,540 --> 00:35:26,370 getStringExtra, a to autocomplete pre mňa. 478 00:35:26,370 --> 00:35:31,190 A potom si spomeňte, ako sme označili, že bit dát 479 00:35:31,190 --> 00:35:38,400 bolo tým, že mu toto pole tu, to public String, 480 00:35:38,400 --> 00:35:42,080 čo je značka pre reťazec sme vlastne v cene. 481 00:35:42,080 --> 00:35:48,450 >> Keď poviem, že MainActivity.Extra_Message 482 00:35:48,450 --> 00:35:52,200 je to tu, a to je niečo ako názov parametra 483 00:35:52,200 --> 00:35:55,330 keď sme míňali kód z regulátora do šablóny, 484 00:35:55,330 --> 00:35:57,680 keď by som povedal, že titul šípky niečo. 485 00:35:57,680 --> 00:36:01,140 Je to rovnaký druh myšlienky tu. 486 00:36:01,140 --> 00:36:07,130 Teraz si pamätám. 487 00:36:07,130 --> 00:36:12,230 Tiež sme si to auto vytvorené alebo automatické generovaný kód 488 00:36:12,230 --> 00:36:16,410 pre výsledok činnosti, ktorý obsahuje text zobrazenie uprostred 489 00:36:16,410 --> 00:36:19,690 , Ktorý hovorí, hello world. 490 00:36:19,690 --> 00:36:27,510 Mohli by sme mohli robiť, že väčšia. 491 00:36:27,510 --> 00:36:33,980 Poďme to urobiť ako prvý. 492 00:36:33,980 --> 00:36:39,550 Mohli by sme robiť to hustota 40 nezávislých pixelov. 493 00:36:39,550 --> 00:36:42,670 Poďme sa pozrieť, to je výborný obrovský. To bude v poriadku. 494 00:36:42,670 --> 00:36:48,180 A potom, aby sa odkazovať na tento samostatný textový pohľad do nášho kódu 495 00:36:48,180 --> 00:36:53,890 budeme musieť dať identifikátor, 496 00:36:53,890 --> 00:36:58,350 a aby k tomu, že hovoríme @ + id, čo znamená, že jej priradiť ID. 497 00:36:58,350 --> 00:37:02,480 Ak sa práve povedal @ id by predpokladať sme odkazovanie na ID, ktorý už existuje, 498 00:37:02,480 --> 00:37:07,760 a nazvime to naše resultTextView. 499 00:37:07,760 --> 00:37:10,570 A zistíte, že v XML nie je potreba bodkočiarkami alebo tak niečo. 500 00:37:10,570 --> 00:37:12,380 Všetko, čo je v týchto značiek. 501 00:37:12,380 --> 00:37:15,530 Je to veľmi podobné HTML v mnohých zmysloch. 502 00:37:15,530 --> 00:37:22,760 >> To trvá trochu zvyknúť, ale nakoniec sa budete cítiť celkom pohodlne s ním. 503 00:37:22,760 --> 00:37:31,320 Poďme aktualizovať text nášho názoru výsledok texte, 504 00:37:31,320 --> 00:37:35,650 a ako sme robili, keď sme sa dostať, že textové pole pre úpravy v našom inej činnosti 505 00:37:35,650 --> 00:37:46,630 v MainActivity tu budeme tiež podobne- 506 00:37:46,630 --> 00:37:54,890 nájdeme zobrazenie podľa ID. 507 00:37:54,890 --> 00:37:59,640 A R, v prípade, nezmienil som sa o to skôr, je odkaz na naše zdroje zložky, 508 00:37:59,640 --> 00:38:05,350 a potom ID je odkaz na všetko, čo v adresári zdrojov, všetky IDS, 509 00:38:05,350 --> 00:38:10,060 a resultTextView. 510 00:38:10,060 --> 00:38:13,010 A rovnako ako predtým, resultTextView je objekt, 511 00:38:13,010 --> 00:38:15,780 čo znamená, že má všetky tieto vlastnosti, spojené s ním. 512 00:38:15,780 --> 00:38:20,610 Keď používame gettext pre úpravy textu pre toto textové pole alebo textového zobrazenia 513 00:38:20,610 --> 00:38:23,980 môžeme skutočne využiť SetText, 514 00:38:23,980 --> 00:38:26,960 a potom už sme našli správu od zámeru, 515 00:38:26,960 --> 00:38:35,760 takže môžem povedať správu, a to bude skutočne nastaviť správu. 516 00:38:35,760 --> 00:38:41,820 >> Je to chvíľu trvať, než začať, a potom vidíme, či je alebo nie je zrútenie, 517 00:38:41,820 --> 00:38:48,670 ale všetky otázky týkajúce sa tohto procesu priamo tam, také interakcie? 518 00:38:48,670 --> 00:38:51,490 V mnohých ohľadoch je to jednoduché. 519 00:38:51,490 --> 00:38:53,960 Dôvod, prečo som prechádza niečím relatívne jednoduché 520 00:38:53,960 --> 00:38:57,330 je, znova, pretože dostanete sa na interakciu medzi rozloženie, 521 00:38:57,330 --> 00:38:59,520 zdrojový kód, ako ste referenčnej veci 522 00:38:59,520 --> 00:39:07,680 a možno si trochu expozíciu, ako Java tam pracuje. 523 00:39:07,680 --> 00:39:16,500 Ak by som vlastne niečo písať sem, ako Ohai, a potom som kliknite na tlačidlo 524 00:39:16,500 --> 00:39:22,260 sa uvádza na trh novú aktivitu, a tento text pohľad hovorí Ohai. 525 00:39:22,260 --> 00:39:27,640 To je veľmi jednoduché, ale dúfajme, že po tomto príklade 526 00:39:27,640 --> 00:39:32,310 ste trochu vidieť, ako táto interakcia funguje, a teraz, keď neporiadok súborov 527 00:39:32,310 --> 00:39:36,870 na ľavej strane všetkých týchto zložiek projektov, dúfajme, že viete, kde hľadať dnes. 528 00:39:36,870 --> 00:39:38,700 Toto je váš zdrojový kód oblasti. 529 00:39:38,700 --> 00:39:41,760 >> Layout je naozaj to jediné, čo budete riešiť, kým sú obrázky 530 00:39:41,760 --> 00:39:46,370 a obrazovkami alebo čokoľvek, a hodnoty, bude, že patrí reťazca, 531 00:39:46,370 --> 00:39:51,960 Ako sme sa zmienili, a potom štýlov je niečo, čo to niečo ako CSS. 532 00:39:51,960 --> 00:39:56,410 Adresa, keď chceš, ale kým sa nebudete cítiť pohodlne s pridaním zvláštne vkus 533 00:39:56,410 --> 00:40:02,520 pre vašu aplikáciu nie je potrebné sa starať o to príliš veľa. 534 00:40:02,520 --> 00:40:07,410 Stačí zabaliť jednu ďalšiu vec, ktorú budete určite chcieť zahrnúť- 535 00:40:07,410 --> 00:40:13,010 za predpokladu, že chcete integrovať skvelých funkcií a ušetriť nejaké extra kódovanie, 536 00:40:13,010 --> 00:40:16,460 bude zahŕňať tretej strany knižnice. 537 00:40:16,460 --> 00:40:19,840 Tu je malý chlapec s Android Sherlocka Holmesa klobúka. 538 00:40:19,840 --> 00:40:23,040 To je akčná bar Sherlock knižnica, 539 00:40:23,040 --> 00:40:25,390 čo v podstate znamená, že akčné bar ste videli predtým, 540 00:40:25,390 --> 00:40:29,590 ktorý je teraz štandardom v Ice Cream Sandwich a Jelly Bean, 541 00:40:29,590 --> 00:40:33,100 Ak chcete, aby tento druh používateľského rozhrania pre používateľov na staršie verzie 542 00:40:33,100 --> 00:40:39,290 a zachrániť sa pred starostí o tom, ako sa užívateľ bude pohybovať 543 00:40:39,290 --> 00:40:42,490 Na starších verziách, keď tá vec nie je tam môžete zahrnúť túto knižnicu 544 00:40:42,490 --> 00:40:46,770 a potom stačí odkaz, skôr ako predvolené Android 545 00:40:46,770 --> 00:40:50,250 knižnice pre akčným baru, aby ste tento podporu knižnice. 546 00:40:50,250 --> 00:40:53,090 >> Veci ako Scoreloop, je to skvelé, ak budete zahŕňať hru. 547 00:40:53,090 --> 00:40:57,280 To vám umožní pridať vodca dosiek a úspechy na hry. 548 00:40:57,280 --> 00:41:00,900 AdMob je spôsob, ako dať reklamy do aplikácií 549 00:41:00,900 --> 00:41:02,900 v prípade, že chcete, aby sa trochu peňazí z nej. 550 00:41:02,900 --> 00:41:05,730 Samozrejme, že je Facebook a Twitter pre integráciu sa 551 00:41:05,730 --> 00:41:08,170 Ak chcete zdieľať veci jednoducho, et cetera. 552 00:41:08,170 --> 00:41:15,120 Dropbox, podobne, a Google Analytics je, že graf vyzerajúce tam. 553 00:41:15,120 --> 00:41:19,070 To bude veľmi dôležité, ak skutočne chcú vidieť, kto je interakcia 554 00:41:19,070 --> 00:41:25,800 s vašej aplikácie, alebo kto to je, ako sa vzájomne ovplyvňujú, et cetera. 555 00:41:25,800 --> 00:41:30,650 Google v predvolenom nastavení, vám povie veľa štatistických údajov o tom, kto má inštalovali aplikáciu 556 00:41:30,650 --> 00:41:35,020 a aké telefóny majú, čo verzie operačných systémov, ktoré majú. 557 00:41:35,020 --> 00:41:38,080 Ale ak chcete vidieť, kto ju používa na dennej báze, a ako používať 558 00:41:38,080 --> 00:41:42,860 potom budete chcieť zahrnúť nejaký sledovací systém, ako je to. 559 00:41:42,860 --> 00:41:44,990 >> Keď ste pripravení k distribúcii aplikácie 560 00:41:44,990 --> 00:41:46,930 Nepotrebujem ísť do toho príliš veľa hĺbky. 561 00:41:46,930 --> 00:41:49,090 Kliknite na odkaz tu, Google Play. 562 00:41:49,090 --> 00:41:51,080 Býval Android Marketu. 563 00:41:51,080 --> 00:41:53,470 Sú premenované všetko, čo s Google Play, 564 00:41:53,470 --> 00:41:55,230 Takže teraz, že predloží. 565 00:41:55,230 --> 00:41:57,140 Je to veľmi jednoduché. 566 00:41:57,140 --> 00:42:01,070 Musíte obsahovať opis, niekoľko snímok obrazovky. 567 00:42:01,070 --> 00:42:05,660 Ako som povedal, nie je schvaľovací proces ako iOS. 568 00:42:05,660 --> 00:42:07,270 A kam ísť teraz? 569 00:42:07,270 --> 00:42:09,450 Ukázal som vám naozaj jednoduchý príklad. 570 00:42:09,450 --> 00:42:13,270 Dúfajme, že ak sa to zdá strašne jednoduché 571 00:42:13,270 --> 00:42:15,740 potom je to asi dobré znamenie. 572 00:42:15,740 --> 00:42:20,080 Ak sa vôbec cítil trochu zmätený, alebo si nie ste istí, čo presne som písať 573 00:42:20,080 --> 00:42:26,160 to je tiež v poriadku, ale odtiaľ choďte na Google Guides. 574 00:42:26,160 --> 00:42:28,330 Je to skvelé miesto pre štart. 575 00:42:28,330 --> 00:42:31,460 Bude vás baviť, čo očakávajú z hľadiska návrhu aplikácie, 576 00:42:31,460 --> 00:42:33,380 ako užívatelia zvyčajne s ňou pracovať. 577 00:42:33,380 --> 00:42:36,450 Je to oveľa voľná forma ako iOS, povedal by som, 578 00:42:36,450 --> 00:42:41,330 ktoré vyzerá to, že zobrazenie tabuľky sú-Neviem, je to ich chleba a maslo. 579 00:42:41,330 --> 00:42:44,690 Všetko je zobrazenie tabuľky pohybu nahor a nadol. 580 00:42:44,690 --> 00:42:48,160 S operačným systémom Android, ktoré iste motivovať ľudí, aby sa na to pozrieť z 581 00:42:48,160 --> 00:42:51,720 celá partia rôznych perspektív. 582 00:42:51,720 --> 00:42:56,000 >> Ak je Software Development Kit v tejto ADT 583 00:42:56,000 --> 00:43:03,010 V predvolenom nastavení máte veľa ukážkových projektov v Android. 584 00:43:03,010 --> 00:43:05,470 Tu, Android, Android ukážkový projekt. 585 00:43:05,470 --> 00:43:11,870 Keď kliknem na to, potom si môžem vybrať verziu, pre ktorú vzorke projektov požiadať. 586 00:43:11,870 --> 00:43:13,300 Je tu celá partia rôznych vecí tu. 587 00:43:13,300 --> 00:43:16,690 Začína s kompatibilitou panela akcií 588 00:43:16,690 --> 00:43:24,610 akcelerometer hra, zálohovanie a obnovenie, Bluetooth, gesto staviteľ. 589 00:43:24,610 --> 00:43:28,930 Jetboat je ukážka hry, ktoré vám, ako je LunarLander. 590 00:43:28,930 --> 00:43:31,250 Existuje celá partia ukážkové aplikácie tu 591 00:43:31,250 --> 00:43:35,290 a všetci zamerané na rôzne aspekty API Androidu, 592 00:43:35,290 --> 00:43:41,520 a myšlienka je, že, ako si aplikáciu 593 00:43:41,520 --> 00:43:44,110 nemusíte sa učiť všetko o Androide, aby android aplikácie. 594 00:43:44,110 --> 00:43:47,300 Stačí sa len zoznámiť s dielami, ktoré ste vlastne ísť použiť. 595 00:43:47,300 --> 00:43:49,340 Pozrite sa na týchto vzorových knižníc. 596 00:43:49,340 --> 00:43:51,510 Neváhajte a skopírovať a vložiť kód, a znovu ju. 597 00:43:51,510 --> 00:43:53,850 Je to skvelá vec, pozrieť sa na zložitejšie kód 598 00:43:53,850 --> 00:43:57,060 a pokúsiť sa pochopiť, čo je samozrejme dôvod, prečo v CS50 599 00:43:57,060 --> 00:44:01,510 často vám veľké množstvo zdrojového kódu. 600 00:44:01,510 --> 00:44:04,620 Pozrite sa na niektoré z nich, ak sa chystáte používať podobné knižnice 601 00:44:04,620 --> 00:44:08,630 a potom použiť pre svoje vlastné kód. 602 00:44:08,630 --> 00:44:10,430 A samozrejme, tam sú návody. 603 00:44:10,430 --> 00:44:12,690 Hľadať cvičenia. 604 00:44:12,690 --> 00:44:17,020 Našiel som veľa dobrých on-line, ktoré môže priniesť až do rýchlosti 605 00:44:17,020 --> 00:44:20,080 s tým, čo Fragmenty naozaj sú a ako ich môžete použiť. 606 00:44:20,080 --> 00:44:22,240 >> Niektoré z týchto nových konštrukčných veci, ako fragmenty, 607 00:44:22,240 --> 00:44:26,840 Naozaj nemusíte sa obávať, ak robíte 608 00:44:26,840 --> 00:44:30,560 docela veľký v rozsahu projektu. 609 00:44:30,560 --> 00:44:32,510 Sú to veci, ktoré Google sa snaží postupne palcov 610 00:44:32,510 --> 00:44:35,570 StackOverflow je samozrejme váš priateľ. 611 00:44:35,570 --> 00:44:37,930 Dúfam, že tí predal trochu na Android, 612 00:44:37,930 --> 00:44:41,640 si uvedomil, že je to oveľa jednoduchšie pristupovať z hľadiska len kódovanie jazyka. 613 00:44:41,640 --> 00:44:45,970 Java je povedal by som, že oveľa zrozumiteľnejšie než Objective-C. 614 00:44:45,970 --> 00:44:50,780 Android je stále myslím, že oveľa viac než iOS. 615 00:44:50,780 --> 00:44:54,890 Myslím, že dáta sú tam taky, okrem toho, čo si myslím. 616 00:44:54,890 --> 00:44:56,920 To bude asi na chvíľu, 617 00:44:56,920 --> 00:45:00,880 a sú niekoľko rokov pozadu, pokiaľ ide o ich dizajne cyklov, 618 00:45:00,880 --> 00:45:04,690 takže je to trochu pochopiteľné, že stále pracujeme cez niektoré z nich 619 00:45:04,690 --> 00:45:09,080 konzistencie otázky, ako je tento paneli akcií je nová vec pre nich stále, 620 00:45:09,080 --> 00:45:16,010 druh vytvorenie podobnej skúsenosti užívateľov naprieč všetkými aplikáciami,. 621 00:45:16,010 --> 00:45:20,650 Dúfajme, že môžete ísť dopredu a teraz otvárajú Eclipse 622 00:45:20,650 --> 00:45:22,870 a vyrobiť si vlastný Android aplikácie. 623 00:45:22,870 --> 00:45:30,240 >> Má niekto nejaké otázky, než sa zabaliť o niečom? 624 00:45:30,240 --> 00:45:34,410 Môžem vám povedať, že odpoveď je 42. 625 00:45:34,410 --> 00:45:41,990 No, šťastný kódovanie všetkým, a veľa šťastia. 626 00:45:41,990 --> 00:45:44,990 [CS50.TV]