[Powered by Google Translate] [Seminár] [Aplikácia pre Android (Teraz s želé!)] [Jordánsko Jozwiak] [Harvard University] [To je CS50.] [CS50.TV] Ahoj všetci, vitajte na Android Apps (Teraz s želé!) Seminár. Volá sa teraz s želé, samozrejme, pretože Najnovšia verzia operačného systému sa nazýva Jelly Bean. Keď som hovoril o Androide minulý rok a bolo to v podstate rovnaký seminár Bol som prezentáciu návrhové vzory a štylistické možnosti pre perníka, aj keď Ice Cream Sandwich prišiel v tej dobe, a to je niečo, čo budeme hovoriť o tom, do budúcna trochu. Android samozrejme má nejaké problémy s fragmentáciou, takže posledný Google operačný systém je zvyčajne nemienime sa bežné medzi užívateľmi potenciálne až na jeden rok, bohužiaľ. Ale bez ohľadu na to, že budeme hovoriť o mnoho dôvodov, prečo Android je oveľa lepší ako iOS. Dobre, budeme hovoriť o Androide oproti iOS, niektoré konštrukčné paradigmy, ako sa vám budú zriadené v jedinej snímke, a veľký rozdiel medzi týmto a poslednom roku sa chcem len zoom cez niektoré koncepčné veci pracujú s operačný systém a potom ísť do naozaj základnej príklad. V skutočnosti je len príklad, ktorý popisuje Google pre budovanie svojej prvej aplikácii, a pôjdeme cez to spolu a len popísať. Viem, že mnohí z vás majú len kódované v C, takže Java už bude iný pohľad, a tým budete mať vaše nohy mokré a cítiť trochu pohodlnejšie s ním nádejne. Rýchle zhrnutie, Android vs iOS. V Android tam je to jednorazový vývojár poplatok $ 25, nič z toho 100 dolárov ročne vec. Neexistujú žiadne obmedzenia, čo znamená, že ak chcem podať aplikácie, Len som predložila, a nie je schvaľovací proces, ako je tomu u iOS. Môžete si vytvoriť s pomocou Eclipse Java, ktorý je multiplatformný, takže nezáleží na tom, či máte Mac, Windows, Linux alebo nejaký stroj. Samozrejme, že s iOS budete musieť použiť Xcode na Mac, a Android je používaný mnoho ďalších ľudí, takže ak chcete, aby vaše aplikácie mať nejaký viditeľnosti alebo napríklad zarobiť trochu peňazí z reklamy ste pravdepodobne skôr ťažiť z Android. A ešte jedna vec, ktorá vždy vie o Androide je extrémne množstvo úprav, kým iOS je veľmi pevne vo svojich spôsoboch aby mohli udržiavať bezpečnosť a kontrolu nad každú malú aspektu konštrukcia v rámci svojho operačného systému a jednotlivými aplikáciami. Android je veľmi voľné forme, a je tu mnoho ďalších možností. Dobre, niektoré konštrukčné vzory. Všimnite si, rovnako ako iOS má tablet a iPhone a iPod Dotyky majú podporovať, povedzme, ako tucet zariadení, pokiaľ ich chcete podporiť historické veci rovnako. S operačným systémom Android máte podporovať stovky zariadení, tak tam sú niektoré veci, ktoré Google sa snaží realizovať aby si užívateľ zažiť trochu viac konzistentné, ale budeme tiež hovoriť o tom, ako to znamená, že existujú problémy fragmentácie že neustále musíte byť vedomí podporovať. Fragmentácia znamená, že existuje veľa rôznych operačných systémov, veľa rôznych telefónov s odlišným hardware s operačným systémom Android všetky naraz, takže tento graf tu siaha po dobu asi 6 mesiacov. Jo, 6 mesiacov, a môžete vidieť, ako najtemnejšie kapelu na dne je Jelly Bean, ktorý vyšiel v lete, a môžete vidieť práve teraz asi tak 2% z telefónov mať. Ice Cream Sandwich vyšiel pred viac ako rokom, a štvrtina telefónov mať. Existuje ešte veľa telefónov, ktoré používajú verziu operačného systému od rokmi. Jedna vec, že ​​Google sa snaží urobiť, aby sa užívateľské skúsenosti oveľa viac konzistentné aplikácie začína s Honeycomb, ktoré je tablet verzia, potom sa Ice Cream Sandwich a Jelly Bean, oni naozaj snažia zdôrazniť použitie tohto panelu akcií čo je to, čo môžete vidieť v hornej časti tu všetko tu, vrátane tejto malej tlačidlo Nastavenie. To je výber designu. Teraz, keď vidíte tri bodky, znamená to, kliknite na toto, a tam bude drop-down menu, ktoré má nejaký druh nastavenia. Toto sa zobrazí len preto, že som klikol na toto tlačidlo. To je niečo, čo sa snažíte použiť, aby sa aplikácia trochu viac konzistentné plošne, a tak užívateľ má lepší zmysel pre jednotné skúsenosti. Dobre, takže v prípade, že ste neurobili to už, alebo ak ste sledoval doma potom môžete takto nastaviť prostredie pre písanie kódu. To bude zahŕňať ísť na webových stránkach tu. Môžete Google, inštaláciu Android SDK a sledovať niektoré popisy tam. Oni ti všetko. Majú inštaláciu SDK, download Eclipse Classic verzia aj keď, samozrejme, my kódovanie v Jave. Odporúčajú toto, a potom tento nástroj ADT, Android Vývojové nástroje, je plugin, ktorý nainštalujete do Eclipse, ktorý umožňuje majú oveľa efektívnejšie skúsenosti s Androidom v rámci Eclipse. To vám dá nejaké grafické užívateľské rozhranie pre projektovanie názory, a to vám poskytne oveľa väčšiu podporu a schopnosť začať s emulátorom a všetky takéto veci. Aplikačný framework. Chcem hovoriť o tom, ako sú štruktúrované Projekty v rámci systému Android a potom pôjdeme do rýchleho napríklad, a dúfajme, že môžete klásť otázky na akomkoľvek mieste a cítiť na konci to. Máme nejaké žargónu ako prvý. Činnosť ako na obrazovke uvidíte pri spustení app. Celý zážitok je činnosť sama o sebe, takže si mohol myslieť na to ako obrazovky alebo zobrazenie, ale je to vlastne zdrojový kód strane. Stále volať skutočné rozhranie časť toho pohľadu. Je to niečo ako, ako v pset 7 sme mali regulátor a potom výhľad. Táto aktivita je viac či menej regulátor, a pohľad je to, čo robíme, pokiaľ ide o XML , Ktorý je spojený s touto činnosťou. Fragmenty sú niečo, čo je realizovaný v Ice Cream Sandwich do budúcna. Je to len nápad s časťou zobrazenie alebo činnosť a rozdeliť ich do samostatných oblastí, takže môžeme aby náš kód použiteľný pre viac týchto mnohých rôznych zariadení že musíme podporiť, a je to len spôsob, ako sa snaží tiež vytknúť viac kódu. Služby sú na pozadí veci ako prehrávanie hudby alebo navigačných smermi potenciálne. Poskytovatelia obsahu, jedná sa o API v rámci operačného systému , Ktoré vám umožní prístup k zdieľaných dát, ako sú kontaktné údaje, a zámer je niečo, čo budeme používať, keď chcete spustiť nová aktivita z našej aktuálnej činnosti. Dobrý deň, Android, to bude projekt, ktorý budeme hovoriť. Budem vlastne robiť to pre vás, a potom budeme robiť niečo, kde klikneme na tlačidlo s nejakým textom a začať novú činnosť. Veľmi jednoduché, ale ja chcem ísť cez čo sa ísť do projektu, ako je tento. Keď urobíte nový projekt uvidíte v Eclipse tam je to projekt s názvom Hello Android. Potom sú tu celá partia zložiek tu. Ty si naozaj zaoberajú, sú zdrojové zložky, zdroj zložky, res, a do istej miery aj libs zložky pre knižnice. A práve preto, že sme na rovnakej strane s tým ak by ste chceli vytvoriť nový projekt, môžete to urobiť tu, takže keď chcem hovoriť HelloAndroid, a potom to automaticky robí veľa informácií pre nás. Názov balíka by mal byť jedinečný identifikátor ktoré by normálne boli spojené s webovej stránky, ak ste mal. Napríklad, budem volať túto net.cs50.helloandroid. A už som urobil tento projekt raz. Dobre, ospravedlňujem sa. Hovorme tomu HelloCS50. A potom to bude pýtať, aké veci ako ikony chceme robiť. To je všetko kvôli Android Developer Tools rozhranie, plugin, ktorý sme pridali Eclipse, takže si môžeme vybrať veci, ako je čo ikona chceme, a že by išiel do tej hĺbky, ak chceme. Ale na konci, len aby projekt, a všetko, čo sa objaví tu. Ako som ukázal na druhej obrazovke, máme zdrojovú zložku, a budem hovoriť o tom, čo to všetko znamená, že čoskoro ale môžete vidieť, že to okamžite nás zavedie do HelloCS50 obrazovke. Tam sú niektoré tlačidlá cez tú pre pridávanie a textové polia rozloženia. Je to niečo ako Xcode, ale bohužiaľ nie tak zefektívniť. Ale klipy bude váš priateľ a ADT najmä pre robenie toto. Dobre, zdrojové zložky, kde je Java súbory sa konajú, a to je vlastne spustenie programu. Je to v podstate ako regulátory. Prostriedku alebo do zložky res je miesto, kde budeme držať rozloženie obrazovky, obrázky, zvuky, text, animácie a všetko ostatné, libs, samozrejme, knižnice. A Manifest, je to tak, že sa systém Android vie ako komunikovať s vašej aplikácie. Vypovedá to o oprávneniach a aké činnosti bude skutočne prevádzkovať. Je to všetko podstatné informácie, ktoré je potrebné na spustenie aplikácie. Zdrojová zložka je ak sme sa rozšíriť to, ako môžete vidieť práve tu. A príklad, ktorý by kód vyzerať, to je základný kód. Ako sme hovorili, MainActivity. V predvolenom nastavení sa dostaneme OnCreate, čo je funkcia, ktorá je volaná, keď túto činnosť zaťaženie, takže chcete volať OnCreate (savedInstanceState). To obnoví všetky kúsky informácií v prípade, že bol pozastavený app. Existuje celá činnosť životného cyklu schému, ktoré si môžete prezrieť na keď sa dostanete trochu viac do hĺbky v tom, ale najdôležitejšie riadok kódu je táto funkcia setContentView ktorý načíta súbor prostriedkov pre rozvrhnutie. Tak čo OnCreate tu je v podstate robí, je, že to hovorí keď som sa vytvoriť túto činnosť chcem nahrať toto rozloženie. A budeme hovoriť o tom, že rozloženie je v druhom. Ak by sme mali začať, že tu to vyzerá presne ako to, a v predvolenom nastavení, pretože sme Eclipse robí to a ADT robí to pre nás to je všetko, často používaný kód, ktorý je vytvorený pre nás, a môžeme ísť ďalej a zmeniť veci tak, ako sa nám páči. Zdroj zložka, ako som povedal, to je miesto, kde máme všetky layouty, obrazovkami, pokiaľ ide o akýkoľvek druh snímok- sa im hovorí obrazovkami A potom zvukové súbory, menu. Je to spôsob, ako celú partiou XML v peknom triedeného módy. Ako môžete vidieť, sú tu. Hdpi, ldpi, mdpi a xhdpi zložky pre obrazovkami. Jedná sa o rôzne hustoty obrazovky, takže s vysokou hustotou pixelov na palec, nízka hustota, stredná hustota, extra vysokou hustotou. To je opäť, takže môžeme podporovať všetky tieto rôzne zariadenia, a ideálne, budete mať rôzne obrazy pre každé iné rozlíšenie. Rozloženie tam, kde sme ich všetky rôzne rozloženie, ktoré budú použité v rôznych činnostiach. Takisto môžu obsahovať rozloženie pre fragmenty, čo znamená, že v podstate čiastkové aktivity. Ak chcete urobiť niečo zaujímavé, ako keď otočíte telefón Chcete to mať iné rozloženie, ktoré môžete urobiť layout-krajinu ako iné zložky, a automaticky Android má veľa týchto pravidiel v rámci zdrojov zložky, tak to bude vedieť, pozrieť sa na rôzne zložky na základe aktuálneho nastavenia telefónu, aký druh hardvéru, ktorý používate. Nie inak tomu hodnotách v11 tu a hodnoty-V14 a predvolené hodnoty zložky je to pre- dobre, hodnoty od seba, bude to predvolené hodnoty naprieč všetkými verziami operačného systému. Na druhej strane, V11 a V14 zodpovedajú Honeycomb a Ice Cream Sandwich, resp. Opäť sa jedná o spôsoby, v týchto zložkách sú rôzne reťazce a štýlov, takže si môžete prispôsobiť vzhľad vašej aplikácie alebo potenciálne aj jeho funkčnosť, aj keď to bude pravdepodobne zlý nápad, na základe verzie operačného systému. Hovorila som o tom všetkom tu. Opäť, ťažný, surový, dispozície, hodnoty. Predvolené nastavenie, keď ideme do Hello Android alebo Hello CS50 práve teraz to bude vyzerať presne takto. Bude pozdraviť svet. Ako môžete vidieť tu s textom Android text tohto zobrazenie textu, ktorý je v podstate len označenie, je to, čo by sme nazvali ho iOS. Má tento legrační zápis @ string / hello_world. To je tak môžeme-sa snažíme získať všetky reťazce, všetky natvrdo kódovaných reťazcov v Android do samostatnej zložky, ktorý sa stane byť v values.strings. Ak sa pozrieme tu, môžeme vidieť, že máme pevne reťazec uložený tu pre Hello World, a je to len hello world, a to je druh obyčajný dizajn rozhodnutia v mnohých platformách, ktoré chcete, struny sú také veci, ktoré chceme, aby mohli byť schopní zmeniť. Nechceme kontrolovať F v našom súbore zdrojového kódu v našom XML. Chceme byť schopní zmeniť kedykoľvek dostaneme šancu. Tento súbor XML, strings.xml, je spôsob získavania hard-kódované reťazca, ktoré by inak boli v našich rozvrhnutí zdrojov alebo v našom zdrojovom kóde. Manifest je miesto, kde sme sa udržať túto základné informácie o aplikácii. To zahŕňa názov balíčka. To musí byť jedinečný identifikátor. Na rozdiel od App Store pre iOS menami aplikácií nemusí byť jedinečný, a môže v skutočnosti zmeniť názov aplikácie po odoslaní, takže keď som sa začať s Angry Birds, a potom urobím aktualizáciu, a ja nechcem, aby novú verziu Myslím, že by som mohol nazvať Angry Birds 2, zatiaľ čo ja som na rovnakom vývojovom cykle. To by len ukázať ako aktualizácia. Jediná vec, ktorá musí byť jedinečné, je to názov balíčka, čo nie je veľa ľudí uvidí. No, ja len, či ste sa pozerali na zdrojovom kóde, alebo ak tam je nejaký druh chyby. Komponenty zahŕňajú činnosti, takže musíme vyhlásiť, akýkoľvek druh činnosti používame. Jedná sa o povolenie veci. Pretože Android nemá tento prísny proces aplikácie pre predkladanie aplikácie namiesto toho len, že to všetko vychádza mimo oprávnenia a prehlasuje veci v manifeste. Verzia SDK je tiež dôležité. Môžeme nastaviť použitie ako minimálna verzia SDK niečo. Je zrejmé, že chcete vytvoriť kód a dizajn pre novšie operačné systémy. Možno, že nie je najnovšie, možno nie Jelly Bean. Možno, že chcete navrhnúť predovšetkým pre Ice Cream Sandwich, hoci oni sú skoro rovnaké, pokiaľ ide o rozhodnutie o návrhu a skutočnej knižnice a API. Ale skôr než mať ľudí z pôvodnej verzii Android-ako cesta späť, keď Donut- ktorí ešte stalo, že sa pomocou ktorej sa snažia sťahovať aplikácie a potom vyslovte nefunguje na mojom telefóne môžete nastaviť minimálnu verzia a majú byť perník alebo Ice Cream Sandwich alebo čo cítite na predkladanie. A to je príklad manifestu. Môžeme sa pozrieť na skutočné jeden v trochu. Dobre, budeme jednoducho ísť dopredu s demoverziu. Toto je demo, ak Google Android postaviť svoj prvý aplikáciu alebo niečo také. Pôjdeme cez všetko, čo sa deje tam, a ospravedlňujem, len s odkazom, ktorý tu pozná Java akomkoľvek rozsahu? Dobre, tak Java je nové kódovanie jazyka pre väčšinu ľudí, ktorí prichádzajú z CS50. Stručne povedané, ísť znova to, čo hovorí tu, čo chceme urobiť, je skôr než prispôsobiť túto aplikáciu Hello World že všetko, čo robí, je, že na trh a hovorí, že hello world a hovorí ahoj CS50 hore, pretože to je činnosť, názov budeme sa snažiť, aby sa textové pole a tlačidlo tak, že keď sme sa stlačením tohto tlačidla bude trvať text z textového poľa a začať novú aktivitu, a to bude hovoriť bez ohľadu na tento text uvedený v činnosti, a to je pomerne jednoduchý. Nie je to veľmi zaujímavé. Tie by nechcel, aby sa uvoľnilo aplikácie, ako je tento. Ale ukazuje niektoré dôležité veci návrhu. Budeme musieť spolupracovať s manifestu, s usporiadaním súborov, so zdrojovým kódom, a môžete vidieť, ako spustiť jednu činnosť od druhého. Začneme s rozložením pre naše prvé činnosti, o ktorom viem, že je to taká malá, ale ako môžete vidieť práve teraz, všetko, čo je ich, že má svoje logo, ktoré sme vytvorili, Názov aktivity, a hovorí, že hello world v centre. Namiesto toho som ako prvý ísť, aby sa to na lineárne usporiadanie, relatívna rozloženie a to všetko sú veci, by ste sa mohli pozrieť a stojí ísť cez na nejakom mieste, pokiaľ ide o alokáciu. Je to veľmi podobný HTML. Povedali sme, že to naozaj nie je dobré poznať, pokiaľ ide o programovej zmysle, ale tam je tak veľa rôznych rozvrhnutie môžete ovládať, a je to ako CSS, pokiaľ ide o štýly. Je tu veľa deje len z hľadiska estetiky tu, a jo, je to stojí za to učenie, ale je to jedna z tých vecí, mali by ste vyhľadať ako idete a máte pocit, že musíte niečo nové. Môžem využiť niektoré z ADT nástrojov tu aspoň začať s Urobím textové pole, a urobím tlačidlo. Dajte je hneď vedľa seba. Už veľkosť zodpovedajúcim spôsobom. Ospravedlňujeme sa, ale opäť vracia na rozdiel medzi lineárne usporiadanie a relatívnej usporiadanie, lineárne usporiadanie dáva trochu viac funkcií pokiaľ ide o plnenie miesto a uistite sa, Umiestnime veci vodorovne alebo zvisle. Veľký rozdiel medzi lineárne usporiadanie a rozloženie relatívnej je relatívna rozloženie pozícií všetko v porovnaní s inými názormi, a dobrá vec na tom je, že to trvá kratšiu dobu k tomu pretože operačný systém sa pozerá na všetky kódu a hovorí, že to ide vzhľadom k tomu tu, tu. To znamená, že je menej než meranie veľa vnorených lineárne usporiadanie, ktoré som musel urobiť, keby som chcel veci ísť vertikálne tu. Už som niektoré veci ísť vodorovne, takže by som potreboval iný lineárne usporiadanie hniezdiť zvisle, ale keď som robil relatívna rozloženie by som mohol povedať, si to na ľavej strane, to napravo a tieto veci nižšie. Ale pretože chcem, aby vyplniť teraz budem používať lineárne usporiadanie, a môžete vidieť, že už má veľa týchto vecí pre nás. Všetky pohľady musia mať vlastnosť šírky a výšky, a to sa stane, že hmotnosť 1, a to má váhu 1 tak, aby vyplnil celý priestor. Ale šírka a výška sú najdôležitejšie. Toto pole ID tu nie je dôležité v skutočnom rozložení ak budeme pomocou relatívnej rozloženie a reči, môžeme odkazovať jeden pohľad pozíciu vo vzťahu k inému. Ak by sme mali relatívna usporiadanie by sa dalo povedať toto postavenie pod tento alebo nad týmto ID, ale ID bude dôležité keď sme použili v našom kóde, pretože sa môžeme odkazovať Tieto jednotlivé pohľady týmto spôsobom. A potom môžete vidieť requestFocus tag, čo je niečo, čo ste pravdepodobne videli v pset 7. Tam bol automatické zaostrovanie tag alebo niečo v tomto smere za jedného z polí. A ešte jedna vec, samozrejme, môžeme to urobiť rovnako ako v HTML, a všimnite si, jedna z krásnych vecí, o ADT je ​​to, že autocompletes tu. Možno nie tak pekne, ako tomu bolo v Xcode, ale to napriek tomu, a tak by sme mohli povedať, radu a dať mu nejaký reťazec Páči napísať správu, a keď som dať chvíľku, tiež všimnúť, že som si trochu chyba tu hovorí, že by sme mali použiť reťazec prostriedku za to, takže keď som nechať ju robiť niektoré tvrdej práce pre mňa Dokážem zvoliť tento reťazec, vykonajte Refractor Android a extrakt Android reťazec. Môžem dať toto meno, napísať správu, a čo to teraz je nahradený že pevne reťazec s odkazom na reťazec v reťazci v súbore XML., čo znamená, že teraz je to tu. A viem, že vyzerá trochu triviálne a rovnako ako práca navyše v tomto bode, ale keď máte veľa vecí, veľa reťazcov, to je naozaj dôležité, a to najmä pre lokalizáciu pretože ako som už spomenul, Android je veľmi celosvetovo používa operačný systém že môžete jednoducho urobiť hodnôt-en alebo hodnoty-SP alebo niečo pre anglicky alebo španielsky alebo iné jazyky. A potom ste pravdepodobne mali túto skúsenosť ešte pretože sme nemali robiť veľa JavaScript v zmysle programovanie pre web, ale môžeme aj to pole s názvom onClick pre tlačidlá, a toto je spôsob odkazovania v našom usporiadaní že chceme určitú funkciu, ktorá sa nazýva v našom zdrojovom kóde. Budem volať tento SendMessage, a aby túto prácu to znamená, že v hlavnej činnosti tu Budem musieť vytvoriť funkciu, ktorá je verejnosti tak, aby mohol byť prístupné usporiadanie. Je to neplatné, pretože jednoducho nechcú, že sa vráti nič. Nazveme to sendmessage, a to trvá nejaký názor ktorý je akýmsi kontexte môžeme ukotviť túto metódu sa daného pohľadu, keď sme spustením. A ja neviem, či ste si všimli, tak by ste si to nevšimli, ale v túto chvíľu tu Tento pohľad je typ, ktorý nebol doteraz, a samozrejme, že všetci viete, od CS50 o nezahŕňa typy. Krásna vec na tom ako Eclipse IDE je, že Ak zabudnete ak nejaký typ bude zdôrazniť s malou červenou kľukatou a potom vám možnosť importovať názor. Rýchly spôsob, ako to dosiahnuť, je ovládanie posunu O, a to bude importovať všetky súbory, že potrebuje. Teraz, keď máme túto funkciu SendMessage, ktorá pošle správu z MainActivity na nové činnosti, budeme musieť použiť zámer začať novú činnosť z tohto jedného, takže budeme pravdepodobne chcieť vytvoriť globálnu konštanty alebo tiež zvlášť verejné konštanty že nám pomôže vedieť, ako budeme odkazovať na reťazec pretože keď sme sa vytvoriť úmysel, že nie sme len volať novú aktivitu, ale môžeme tiež dať balík informácií. Zväzok je vlastne termín, ktorý používa Android, a je to spôsob, ako povedať, aby to ďalšie údaje, ktoré nemôžu byť z veľmi sofistikovaný dátový typ, ale rozhodne môžeme zahrnúť pravdivostná alebo reťazca alebo INT. Taká vec. Neváhajte sa opýtať na niektorý z týchto kvalifikačných tu, verejnosti, v konečnom znení, statické. Verejnosť je dôležitá. To znamená, že môžeme pristupovať k tejto premennej z iných súborov zdrojového kódu napríklad keď sa vytvoria nové aktivity. Môžeme odkazovať na reťazec v rámci tohto súboru. Ak je to súkromný, to znamená, že je obmedzená na tomto jednotlivých súborov tu. Ale my sme mu hovoriť niečo ako ďalšie správy. Teraz sme urobili túto funkciu, a ak kliknete na tlačidlo, bude táto funkcia nazýva. Ale my sme nič neurobili, samozrejme, s funkciou. To, čo chceme urobiť, je vytvoriť novú aktivitu, činnosť, ktorá bude skutočne zahájená. V Eclipse môžeme povedať nový, Android činnosť, prázdne činnosť. Môžeme dať mu meno. Hovorme tomu náš výsledok činnosti. A potom hierarchickej rodič poľa je možnosť špecifikovať ako sú činnosti súvisiace s sebou. Pretože toto bude spustená z inej činnosti by sme mali stanoviť, že sa má nadradený hlavnú činnosť. A mohol som klikol na ďalšie pole tam, ktorý by nám povedal, Niektoré voliteľné pole, ktoré bolo tiež, vrátane, ale pekná vec, o ADT, opäť je, že keď som prejdite sem V manifeste si uvedomiť, že to všetko bola skutočne implicitne zahrnutá keď sme pôvodne vytvorený projekt, a teraz, pretože sme to vytvoriť novú aktivitu, nie len pridať vlastný súbor triedy, pretože sme prešli ich GUI pre robenie toto to už znie všetko na manifestu pre nás, čo jednoducho znamená, že sa operačný systém nebude sťažovať keď sa snažíme začať túto činnosť. A tiež, samozrejme, dal označenie, čo sa prejavuje aj v reťazcoch. To robí veľa vecí na zadnom konci pre nás. Každopádne, teraz máme túto činnosť aj výsledok, skutočný zdrojový kód súbor v zdrojovej zložke, a môžete vidieť, krátko dotknúť this- pretože sme si povedali, že o tejto hierarchickej rodičia to dalo toto pole android.r.ide.home v tomto onOption vybranej veci. Čo to v podstate hovorí, je tam tlačidlo menu teraz že v ľavom hornom rohu obrazovky keď som sa vrátiť do programu PowerPoint, kde sme sa prvýkrát hovorili o paneli akcií z dôvodu hierarchického rodičia teraz je tu trochu šípka sem a to je klikacie, takže by sme mali byť schopní, potom, čo sme vlastne spustiť túto aplikáciu, vrátiť sa, a to je spôsob, ako ušetriť nám trochu kódu tam. Práve v rámci tejto No, zdá sa, že sa sťažujú, že na chvíľu. Poďme komentovať, že von. Teraz, aby sa skutočne interakciu s týmito činnosťami 2, musíme vytvoriť zámer, ktorý obsahuje všetky tieto údaje. V SendMessage teraz budem pre plavbu cez niektoré kúsky kódu a vysvetliť, že, ako som ísť. Zámer, ako som povedal, je spôsob, ako začať podnikať jeden od druhého. Zámer je ten typ. Budeme vytvárať variabilné myIntent. A to je vlastne objekt, čo je dôvod, prečo máme zavolať nový. Je bežné, že Java použitie tam, čo môže trvať trochu zvykať. To znamená, že používate činnosť alebo triedne MainActivity, a zámer týmto spôsobom sa činnosť, že to bude od a aktivita bude to, ktoré nazývame ResultActivity, a to je vlastná trieda. Zahrnúť to. A potom, keď som sa zmienil predtým, dali sme, že ID do poľa pre úpravy textu a text pohľad, tak aby programovo zachytiť text, ktorý existuje v EDITTEXT budeme používať túto funkciu s názvom findViewByID, ktorý je podobný niečomu, čo budete používať, keď sa snažia dostať z polí DOM. Možno, že Dávid hovorí o tom v prednáške. 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. Id.editText1. Už autocompleting tam na mňa. A potom budeme patrí-to EDITTEXT teraz, že máme pole v rámci nášho programu, to všetko findViewByID to bol v podstate si mohol myslieť na to, ako nám dať odkaz na tento EDITTEXT. Teraz chceme, aby sa reťazec alebo správu v tomto EDITTEXT, ktoré môžeme urobiť pomocou- si mohol myslieť EDITTEXT ako struct- hovoríme, že objekt v Jave, s celou bandou rôznych metód alebo pole a atribúty k nej pripojené. Keď poviem, že EDITTEXT. to mi dáva možnosť prístupu metóda ako gettext, ktorý bude získať aktuálne znenie v tomto EDITTEXT a potom previesť že výslovne na reťazec, a my sme uložili správu. Teraz sme vlastne chcete urobiť niečo s tým zámerom, ktorý sme vytvorili len pred chvíľou. Dám navyše, ako sa tomu hovorí v úmysle, ktorá opäť, tak ako som povedal predtým, je to spôsob, ako vytvoriť zväzok s celou partiou dát. Extra správa je naša značka, takže vieme, čo to schovával pod, a potom som vrátane správy. A potom môžeme skutočne začať aktivitu tým, že mu parametra myIntent. A to bude skutočne začne činnosť, tak teraz, pretože som sa upgradovať na Windows 8 tam by mohlo byť nejaké chyby, ktoré sa objavujú krátko, ale snažte sa ich ignorovať. A to je Android emulátor. Dúfajme, že kód bude skutočne vyskočí za chvíľu. Opäť platí, že ignorovať všetky tie maličkosti. Ale emulátor Android môžete napodobniť akúkoľvek verziu operačného systému od najranejších tie, Donut, Gingerbread. To je Jelly Bean 4.1. Ale ako môžete vidieť práve teraz, je to niečo, čo sme urobili. To má MainActivity The EDITTEXT, tlačidlo. Môžem niečo písať tu, ale čo sme chýba na tomto mieste? Urobili sme poľa v MainActivity, že sa to poslať správu na iné činnosti, ale v túto chvíľu neurobili sme nič iné činnosti, takže to nebude niečo dostane. Poďme dokončiť túto časť skôr, než budeme pokračovať. Tento výsledok činnosti, čo budete musieť urobiť, je, že budete musieť urobiť, je, že budete musieť- môžeme tiež odkazovať na zámer v rámci tejto aktivity, takže musíme zachytiť zámer, ktorý je naozaj jednoduché. Je to funkcia zaradená do triedy činnosti, takže môžeme len povedať "Získať správu od zámeru." "Zámer myIntent = getIntent." A to nám dá-myIntent teraz je objekt, čo je odkaz na zámeru, ktoré nás viedli k tejto činnosti. MainActivity volá a dáva ďalšie informácie viesť činnosť. Výsledok činnosť sa zameriava na zámeru, ktorý viedol to tu, a môžeme pristupovať k, ktorý sme vytvorili v druhom, getStringExtra, a to autocomplete pre mňa. A potom si spomeňte, ako sme označili, že bit dát bolo tým, že mu toto pole tu, to public String, čo je značka pre reťazec sme vlastne v cene. Keď poviem, že MainActivity.Extra_Message je to tu, a to je niečo ako názov parametra keď sme míňali kód z regulátora do šablóny, keď by som povedal, že titul šípky niečo. Je to rovnaký druh myšlienky tu. Teraz si pamätám. Tiež sme si to auto vytvorené alebo automatické generovaný kód pre výsledok činnosti, ktorý obsahuje text zobrazenie uprostred , Ktorý hovorí, hello world. Mohli by sme mohli robiť, že väčšia. Poďme to urobiť ako prvý. Mohli by sme robiť to hustota 40 nezávislých pixelov. Poďme sa pozrieť, to je výborný obrovský. To bude v poriadku. A potom, aby sa odkazovať na tento samostatný textový pohľad do nášho kódu budeme musieť dať identifikátor, a aby k tomu, že hovoríme @ + id, čo znamená, že jej priradiť ID. Ak sa práve povedal @ id by predpokladať sme odkazovanie na ID, ktorý už existuje, a nazvime to naše resultTextView. A zistíte, že v XML nie je potreba bodkočiarkami alebo tak niečo. Všetko, čo je v týchto značiek. Je to veľmi podobné HTML v mnohých zmysloch. To trvá trochu zvyknúť, ale nakoniec sa budete cítiť celkom pohodlne s ním. Poďme aktualizovať text nášho názoru výsledok texte, a ako sme robili, keď sme sa dostať, že textové pole pre úpravy v našom inej činnosti v MainActivity tu budeme tiež podobne- nájdeme zobrazenie podľa ID. A R, v prípade, nezmienil som sa o to skôr, je odkaz na naše zdroje zložky, a potom ID je odkaz na všetko, čo v adresári zdrojov, všetky IDS, a resultTextView. A rovnako ako predtým, resultTextView je objekt, čo znamená, že má všetky tieto vlastnosti, spojené s ním. Keď používame gettext pre úpravy textu pre toto textové pole alebo textového zobrazenia môžeme skutočne využiť SetText, a potom už sme našli správu od zámeru, takže môžem povedať správu, a to bude skutočne nastaviť správu. Je to chvíľu trvať, než začať, a potom vidíme, či je alebo nie je zrútenie, ale všetky otázky týkajúce sa tohto procesu priamo tam, také interakcie? V mnohých ohľadoch je to jednoduché. Dôvod, prečo som prechádza niečím relatívne jednoduché je, znova, pretože dostanete sa na interakciu medzi rozloženie, zdrojový kód, ako ste referenčnej veci a možno si trochu expozíciu, ako Java tam pracuje. Ak by som vlastne niečo písať sem, ako Ohai, a potom som kliknite na tlačidlo sa uvádza na trh novú aktivitu, a tento text pohľad hovorí Ohai. To je veľmi jednoduché, ale dúfajme, že po tomto príklade ste trochu vidieť, ako táto interakcia funguje, a teraz, keď neporiadok súborov na ľavej strane všetkých týchto zložiek projektov, dúfajme, že viete, kde hľadať dnes. Toto je váš zdrojový kód oblasti. Layout je naozaj to jediné, čo budete riešiť, kým sú obrázky a obrazovkami alebo čokoľvek, a hodnoty, bude, že patrí reťazca, Ako sme sa zmienili, a potom štýlov je niečo, čo to niečo ako CSS. Adresa, keď chceš, ale kým sa nebudete cítiť pohodlne s pridaním zvláštne vkus pre vašu aplikáciu nie je potrebné sa starať o to príliš veľa. Stačí zabaliť jednu ďalšiu vec, ktorú budete určite chcieť zahrnúť- za predpokladu, že chcete integrovať skvelých funkcií a ušetriť nejaké extra kódovanie, bude zahŕňať tretej strany knižnice. Tu je malý chlapec s Android Sherlocka Holmesa klobúka. To je akčná bar Sherlock knižnica, čo v podstate znamená, že akčné bar ste videli predtým, ktorý je teraz štandardom v Ice Cream Sandwich a Jelly Bean, Ak chcete, aby tento druh používateľského rozhrania pre používateľov na staršie verzie a zachrániť sa pred starostí o tom, ako sa užívateľ bude pohybovať Na starších verziách, keď tá vec nie je tam môžete zahrnúť túto knižnicu a potom stačí odkaz, skôr ako predvolené Android knižnice pre akčným baru, aby ste tento podporu knižnice. Veci ako Scoreloop, je to skvelé, ak budete zahŕňať hru. To vám umožní pridať vodca dosiek a úspechy na hry. AdMob je spôsob, ako dať reklamy do aplikácií v prípade, že chcete, aby sa trochu peňazí z nej. Samozrejme, že je Facebook a Twitter pre integráciu sa Ak chcete zdieľať veci jednoducho, et cetera. Dropbox, podobne, a Google Analytics je, že graf vyzerajúce tam. To bude veľmi dôležité, ak skutočne chcú vidieť, kto je interakcia s vašej aplikácie, alebo kto to je, ako sa vzájomne ovplyvňujú, et cetera. Google v predvolenom nastavení, vám povie veľa štatistických údajov o tom, kto má inštalovali aplikáciu a aké telefóny majú, čo verzie operačných systémov, ktoré majú. Ale ak chcete vidieť, kto ju používa na dennej báze, a ako používať potom budete chcieť zahrnúť nejaký sledovací systém, ako je to. Keď ste pripravení k distribúcii aplikácie Nepotrebujem ísť do toho príliš veľa hĺbky. Kliknite na odkaz tu, Google Play. Býval Android Marketu. Sú premenované všetko, čo s Google Play, Takže teraz, že predloží. Je to veľmi jednoduché. Musíte obsahovať opis, niekoľko snímok obrazovky. Ako som povedal, nie je schvaľovací proces ako iOS. A kam ísť teraz? Ukázal som vám naozaj jednoduchý príklad. Dúfajme, že ak sa to zdá strašne jednoduché potom je to asi dobré znamenie. Ak sa vôbec cítil trochu zmätený, alebo si nie ste istí, čo presne som písať to je tiež v poriadku, ale odtiaľ choďte na Google Guides. Je to skvelé miesto pre štart. Bude vás baviť, čo očakávajú z hľadiska návrhu aplikácie, ako užívatelia zvyčajne s ňou pracovať. Je to oveľa voľná forma ako iOS, povedal by som, ktoré vyzerá to, že zobrazenie tabuľky sú-Neviem, je to ich chleba a maslo. Všetko je zobrazenie tabuľky pohybu nahor a nadol. S operačným systémom Android, ktoré iste motivovať ľudí, aby sa na to pozrieť z celá partia rôznych perspektív. Ak je Software Development Kit v tejto ADT V predvolenom nastavení máte veľa ukážkových projektov v Android. Tu, Android, Android ukážkový projekt. Keď kliknem na to, potom si môžem vybrať verziu, pre ktorú vzorke projektov požiadať. Je tu celá partia rôznych vecí tu. Začína s kompatibilitou panela akcií akcelerometer hra, zálohovanie a obnovenie, Bluetooth, gesto staviteľ. Jetboat je ukážka hry, ktoré vám, ako je LunarLander. Existuje celá partia ukážkové aplikácie tu a všetci zamerané na rôzne aspekty API Androidu, a myšlienka je, že, ako si aplikáciu nemusíte sa učiť všetko o Androide, aby android aplikácie. Stačí sa len zoznámiť s dielami, ktoré ste vlastne ísť použiť. Pozrite sa na týchto vzorových knižníc. Neváhajte a skopírovať a vložiť kód, a znovu ju. Je to skvelá vec, pozrieť sa na zložitejšie kód a pokúsiť sa pochopiť, čo je samozrejme dôvod, prečo v CS50 často vám veľké množstvo zdrojového kódu. Pozrite sa na niektoré z nich, ak sa chystáte používať podobné knižnice a potom použiť pre svoje vlastné kód. A samozrejme, tam sú návody. Hľadať cvičenia. Našiel som veľa dobrých on-line, ktoré môže priniesť až do rýchlosti s tým, čo Fragmenty naozaj sú a ako ich môžete použiť. Niektoré z týchto nových konštrukčných veci, ako fragmenty, Naozaj nemusíte sa obávať, ak robíte docela veľký v rozsahu projektu. Sú to veci, ktoré Google sa snaží postupne palcov StackOverflow je samozrejme váš priateľ. Dúfam, že tí predal trochu na Android, si uvedomil, že je to oveľa jednoduchšie pristupovať z hľadiska len kódovanie jazyka. Java je povedal by som, že oveľa zrozumiteľnejšie než Objective-C. Android je stále myslím, že oveľa viac než iOS. Myslím, že dáta sú tam taky, okrem toho, čo si myslím. To bude asi na chvíľu, a sú niekoľko rokov pozadu, pokiaľ ide o ich dizajne cyklov, takže je to trochu pochopiteľné, že stále pracujeme cez niektoré z nich konzistencie otázky, ako je tento paneli akcií je nová vec pre nich stále, druh vytvorenie podobnej skúsenosti užívateľov naprieč všetkými aplikáciami,. Dúfajme, že môžete ísť dopredu a teraz otvárajú Eclipse a vyrobiť si vlastný Android aplikácie. Má niekto nejaké otázky, než sa zabaliť o niečom? Môžem vám povedať, že odpoveď je 42. No, šťastný kódovanie všetkým, a veľa šťastia. [CS50.TV]