[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]