[Powered by Google Translate] [Seminar] [Android Apps (Nú með hlaup Baunir!)]
[Jordan Jozwiak] [Harvard University]
[Þetta er CS50.] [CS50.TV]
>> Halló allir, og velkomin til Android Apps (Nú með hlaup Baunir!) Málstofa.
Það er kallað Nú með hlaup Baunir, að sjálfsögðu, vegna þess að
nýjasta útgáfa af the OS er kallað Jelly Bean.
Þegar ég talaði um Android á síðasta ári og gerði þetta í rauninni sama námskeið
Ég var að kynna hönnun mynstur og stylistic val fyrir piparkökur,
jafnvel þótt ís Sandwich hafði komið út á þeim tíma,
og þetta er eitthvað sem við munum tala um að fara fram smá.
Android, að sjálfsögðu, hefur nokkur atriði með sundrungu,
svo er nýjasta Google stýrikerfi yfirleitt
í raun ekki að fara að verða algeng meðal notenda um hugsanlega allt að eitt ár, því miður.
>> En tekur það, munum við tala um margar ástæður
Android er miklu betra en IOS.
Jæja, munum við tala um Android móti IOS,
sumir hönnun málin, hvernig munt fá þú sett upp á aðeins einni skyggnu,
og stór munur á þessu og síðasta ári er ég vil bara
zoom í gegnum nokkur huglægu atriði að vinna með
stýrikerfi og þá fara inn í mjög undirstöðu dæmi.
Í raun bara dæmi sem Google lýsir til að byggja fyrsta app,
og við munum fara í gegnum það saman og bara lýsa.
>> ÉG vita margir af þú hafa aðeins túlkað í C, svo Java er nú þegar að fara að vera
mismunandi sjónarhorni, og þannig að þú munt fá þinn feet blautur
og feel a lítill fleiri þægilegur með það vonandi.
A fljótur yfirlit, Android móti IOS.
Í Android það er þetta eitt sinn verktaki gjald af $ 25,
ekkert af þessu $ 100 á ári hlutur.
Það eru engar takmarkanir, sem þýðir að ef ég vil leggja app,
Ég skila bara það, og það er engin samþykki aðferð eins og það er fyrir IOS.
Þú færð að þróa með Java með Eclipse,
sem er yfir vettvang, svo það skiptir ekki máli ef þú ert með Mac,
Windows eða sumir Linux vél.
Auðvitað, með IOS þú þarft að nota Xcode á Mac,
og Android er notað af mörgum fleiri fólk,
þannig að ef þú vilt app til að hafa einhvers konar skyggni eða kannski
gera smá pening úr auglýsingum
þú ert sennilega líklegri til að njóta góðs af Android.
>> Og eitt sem er alltaf verið vitað um Android
er sérstakt magn af customization, en IOS er mjög fastur á vegum þeirra
svo að þeir geti haldið öryggi og eftirlit á hvert lítið þáttur
af hönnun í OS þeirra og einstakra forr.
Android er mjög frjáls formi, og það er svo margir fleiri möguleikar.
Jæja, sumir hönnun málin.
Tilkynning hér bara eins IOS hefur töflur og iPhones og iPod snertir
þeir verða að styðja, segja, eins og tugi tæki ef þú vilt styðja
sögulegar hlutir eins og heilbrigður.
Með Android þú þarft að styðja hundruð tækja,
þannig að það eru nokkur atriði sem Google hefur verið að reyna að hrinda í framkvæmd
til að gera upplifun notenda svolítið meira í samræmi,
en við munum einnig tala um hvernig þetta þýðir að það eru málefni af sundrungu
sem þú hefur alltaf að vera meðvitaðir um að styðja.
Sundrungu þýðir að það eru margar mismunandi stýrikerfum,
margar mismunandi sími með mismunandi vélbúnaður gangi Android á sama tíma,
svo fer þetta línurit hér aftur í um 6 mánuði.
Já, 6 mánuðir, og þú getur séð hvernig dekkstu hljómsveit
á botninum er Jelly Bean, sem kom út í sumar,
og þú getur séð núna líklega um 2% af símum hafa það.
>> Ice Cream Sandwich kom út rúmu ári síðan,
og fjórðungur af símum hafa það.
There ert enn a einhver fjöldi af símum sem eru með OS útgáfa af árum.
Eitt sem Google hefur verið reynt að gera til að gera upplifun notenda
miklu meira í samræmi yfir forrit er að byrja með Honeycomb,
sem er tafla útgáfa, þá Ice Cream Sandwich og Jelly Bean,
þeir eru í raun að reyna að leggja áherslu notkun þessa valstikunni
sem er það sem þú getur séð efst hér,
allt hérna, þar á meðal þetta litla stillingar hnappinn.
Það er hönnun val.
Nú, þegar þú sérð 3 punkta það þýðir smelltu á þetta,
og það mun vera a falla-dúnn matseðill, sem hefur einhvers konar stillingar.
Þetta sýnir aðeins upp vegna þess að ég smellti á þennan hnapp.
Þetta er eitthvað sem þeir eru að reyna að nota til að gera forrit aðeins meira í samræmi
yfir borð og svo notandinn hefur betri tilfinningu fyrir samræmdu reynslu.
>> Jæja, svo ef þú hefur ekki gert þetta nú þegar eða ef þú ert að horfa á heima
þá getur þú fylgst með þessum skrefum til að setja upp forritun umhverfi þínu.
Það mun taka að fara á vef hér.
Þú getur Google setja Android SDK
og fylgja nokkrar lýsingar þar.
Þeir segja þér allt.
Þeir hafa þú setja í embætti the SDK, sækja Eclipse Classic útgáfa,
jafnvel þó að sjálfsögðu, erum við kóðun í Java.
Þeir mæla með this einn, og þá er þetta ADT, the Android Development Tools,
er plugin sem þú setur inn í Eclipse sem gerir þér kleift að
hafa miklu fleiri straumlínulagað reynslu með Android innan Eclipse.
Það mun gefa þér myndræna viðmótið notandi
fyrir hönnun sjónarmið, og það mun gefa þér mikið meiri stuðning
og getu til að ráðast með keppinautur og öll þessi tegund af hlutur.
Umsókn ramma.
>> Ég vil tala um hvernig verkefni innan Android eru byggð,
og þá munum við fara inn a fljótur dæmi, og vonandi
þú getur spurt spurninga á hverjum stað og líður vel í lok þess.
Við höfum sumir hrognamál fyrst.
Starfsemi er eins skjánum sem þú sérð þegar þú sjósetja app.
Öllu reynsla er verkefnið sjálft,
svo þú gætir hugsað það sem skjá eða útsýni,
en það er í raun frumkóða hlið af því.
Við köllum enn raunverulegt tengi hluta það fyrir augum.
Það er tegund af eins og hvernig í pset 7 höfðum stjórnandi og þá skoða.
Starfsemin er meira eða minna stjórnandi,
og útsýnið er það sem við erum að gera í skilmálar af XML
sem er tengd við þá starfsemi.
Brot eru eitthvað sem er innleitt í ís Sandwich fara fram.
Það er bara hugmynd um að taka hluta af mati eða starfsemi
og skipta þeim niður í mismunandi sviðum þannig að við getum
gera númerið okkar meira nothæft fyrir þessi mörgum mismunandi tækjum
að við verðum að styðja, og það er bara leið til að reyna að
einnig þáttur út fleiri númer.
Þjónustu eru bakgrunnur hlutir eins og að spila tónlist eða siglingar áttir hugsanlega.
Vefstjórar eru þetta API innan stýrikerfi
sem leyfa þér að komast að sameiginlegri gögn, svo sem upplýsingar,
og þá er ætlunin eitthvað sem við munum nota þegar við viljum að ráðast
ný verkefni frá núverandi starfsemi okkar.
>> Halló Android, þetta er að fara að vera verkefni sem við munum tala um.
Ég í raun gera það fyrir þig, og þá munum við gera neitt þar sem við smella á hnappinn
með texta og hleypa af stokkunum nýrri virkni.
Mjög einfalt, en ég vil fara í gegnum
hvað mun fara í verkefni eins og þetta.
Þegar þú gera nýtt verkefni sem þú munt sjá í Eclipse
það er þetta verkefni sem kallast Hello Android.
Þá eru allt fullt af möppum hér.
Þær sem þú ert virkilega áhyggjur með eru uppspretta mappa,
úrræði möppu, Res, og að nokkru leyti libs möppu fyrir bókasöfn.
Og bara svo við erum á sömu síðu með að
ef þú varst að búa til nýtt verkefni,
þú getur gert þetta rétt hér, þannig að ef ég vil kalla það HelloAndroid,
og þá er það sjálfkrafa a heild búnt af upplýsingum fyrir okkur.
The pakki nafn á að vera einstakt auðkenni
sem myndi venjulega tengst við vefsíðu, ef þú hefðir einn.
>> Til dæmis mun ég kalla þessa net.cs50.helloandroid.
Og ég þegar hef gert þetta verkefni einu sinni.
Jæja, því miður. Við skulum kalla það HelloCS50.
Og þá mun það spyrja hlutina eins hvaða tegund af helgimynd viljum við gera.
Þetta er allt vegna þess að Android Developer Tools tengi,
The tappi sem við bætt við Eclipse, svo við getum valið hluti eins
hvað táknið við viljum, og það myndi fara inn í þessi dýpt ef við viljum.
En að lokum, bara gera verkefni,
og allt sýnir sig hérna.
Eins og ég sýndi á hinn skjáinn,
við höfum fengið möppuna og ég tala um hvað allt þetta þýðir bráðum,
en þú getur séð að strax það tekur okkur að HelloCS50 skjánum.
There ert sumir takkar hérna fyrir að bæta texta og texta sviði uppsetninga.
Það er tegund af eins og Xcode en því miður ekki alveg eins og straumlínulagað.
En bréfaklemma vilja vera vinur þinn og ADT einkum fyrir að gera þetta.
>> Jæja, the uppspretta mappa er þar
Java skrár eru haldnar, og þetta er í raun ráðast af forritinu.
Það er í grundvallaratriðum eins og stýringar.
The úrræði möppu eða Res er þar sem við munum halda skjár skipulag,
myndir, hljóð, texti, hreyfimyndir og allt annað, libs, augljóslega, bókasöfn.
Og augljósa, það er leiðin að Android kerfið veit
hvernig á að hafa samskipti við app.
Það segir það um leyfi og hvaða starfsemi verður í raun að hlaupa.
Það er öllum nauðsynlegt upplýsingar sem er nauðsynlegt til að keyra app.
The uppspretta mappa er-ef við auka það sem þú getur séð hérna.
Og dæmi um að kóða myndi líta þetta er sjálfgefin númer.
Eins og við kallað það, MainActivity.
Sjálfgefið, fáum við onCreate, sem er fall sem heitir þegar þetta virkni álag,
svo þú vilt hringja onCreate (savedInstanceState).
Þetta mun endurheimta einhverjar bita af upplýsingum
í tilviki app var í bið.
>> Það er allt virkni lífsferilsmat graf sem þú getur litið á
þegar þú færð smá meira í-dýpt í henni,
en mikilvægasta lína af kóða er þetta setContentView virka
sem mun hlaða vefsíðuna skrá fyrir uppsetningu.
Þá er það onCreate hér er í grundvallaratriðum að gera það er að segja
þegar ég bý þetta verkefni sem ég vil að hlaða þá uppsetningu.
Og við munum tala um hvað sem skipulag er í annað.
Ef við værum að ráðast að hér lítur það nákvæmlega svona,
og sjálfgefið vegna þess að við höfum Eclipse gera þetta og ADT gera það fyrir okkur
þetta er allt boilerplate kóða sem er búið til fyrir okkur,
og við getum flutt á og breyta hlutum eins og við eins.
The úrræði möppu, eins og ég sagði, þetta er þar sem við halda öllum uppsetningum,
drawables varðar hvers konar myndir-
þeir eru kallaðir drawables-og svo hljóðskrár, valmyndir.
Það er leið til a heild búnt af XML í fallegu raðað hátt.
Eins og þú geta sjá, there ert. Hdpi, ldpi, mdpi og xhdpi möppur fyrir drawables.
Þetta eru mismunandi þéttleika skjár, svo hár þéttleiki pixla á tommu,
lágþéttni, miðlungs þéttleika, auka hár þéttleiki.
>> Þetta er, aftur, svo að við getum styðja öll þessi mismunandi tæki,
og helst vilja hafa mismunandi myndir fyrir hverja mismunandi upplausn.
Skipulag er þar sem við eru öll mismunandi uppsetninga verða notuð í mismunandi starfsemi.
Þeir gætu einnig falið í sér skipulag fyrir brot,
sem þýðir að hluta starfsemi grundvallaratriðum.
Ef þú vilt gera eitthvað flott eins og þegar símanum er snúið
þú vilt það til að hafa mismunandi útlit sem þú getur gert skipulag-landslag sem í aðra möppu,
og Android hefur sjálfkrafa í heild búnt af þessum reglum innan úrræði möppu,
svo það vilja vita að líta á mismunandi möppur eftir núverandi skipulag á símanum,
hvaða tegund af vélbúnaði sem þú ert að nota.
Álíka, þetta gildi-v11 hér og gildi-V14
og sjálfgefin gildi möppu þetta er fyrir-
vel, gildi af sjálfu sér, þetta er sjálfgefin gildi í öllum útgáfum af stýrikerfinu.
Á hinn bóginn, v11 og V14 samræmi við Honeycomb
og Ice Cream Sandwich, í sömu röð.
Aftur, er þetta leiðir sem-innan þessara möppur eru mismunandi strengir
og stíl, svo þú getur sérsniðið útlit app
eða hugsanlega jafnvel virkni þess, þó að það myndi líklega vera a slæmur hugmynd,
byggt á útgáfu af stýrikerfi.
>> Og ég talaði um þetta allt hér.
Aftur, drawable, hrár, skipulag, gildi.
Vanskil, ef við förum inn í Hello Android eða Hello CS50 Núna
það mun líta bara eins og þetta.
Það mun segja halló heimur.
Eins og þú sérð hérna með Android texta
textinn fyrir þessa textayfirsýn, sem er í rauninni bara merki,
er það sem við myndum kalla það á IOS.
Það hefur þetta fyndið tákn @ streng / hello_world.
Þetta er þannig að við getum-við að reyna að draga alla strengi,
allar harða dulmáli strengi í Android í sérstakri möppu,
sem gerist að vera í values.strings.
Ef við lítum hér, getum við séð að við höfum harður-dulmáli streng vistuð hér
fyrir Halló heimur, og það er kallað halló heimur, og þetta er tegund af
sameiginlegur hönnun ákvörðun á mörgum kerfum sem þú vilt-
strengir eru tegund af hlutur sem við viljum hugsanlega geta breyst.
Við viljum ekki að stjórna F í frumkóða skrá okkar í XML okkar.
Við viljum vera fær um að breyta þessu þegar við fáum tækifæri.
>> Þetta XML skrá, strings.xml, er leið útdráttur
harður-dulmáli strengir sem annars væri í auðlindir skipulag okkar
eða í frumkóða okkar.
Farmskrá er þar sem við halda þetta mikilvægar upplýsingar um forritið.
Það felur í sér pakka nafn. Það þarf að vera einstakt auðkenni.
Ólíkt the App Store fyrir IOS nöfn á forritum
þarft ekki að vera einstakt, og þú getur í raun að breyta nafni á umsókn þinni
eftir að þú sendir það, þannig að ef ég byrja út með Angry Fuglar,
og þá er ég að uppfæra, og ég vil ekki að gefa út nýja útgáfu
Ég held ég gæti kalla það Angry Birds 2 á meðan ég er á sama losun hringrás.
Það myndi bara mæta eins og uppfærslu.
Það eina sem þarf að vera einstakt er þetta pakki nafn,
sem ekki margir vilja sjá.
Jæja, þú vilt bara sjá hvort þú varst að horfa á the uppspretta merkjamál eða ef það er einhvers konar villa.
Þættir eru starfsemi, þannig að við verðum að lýsa
hvers konar starfsemi sem við notum.
Þetta er leyfi svoleiðis.
>> Vegna Android er ekki með þessa strangt umsóknarferlið
fyrir að senda apps staðinn þeir bara allt byggt burt af leyfi
og lýsa hlutum í farmskrá.
The SDK útgáfa er einnig mikilvægt.
Við getum sett Nota sem SDK lágmarks útgáfu eitthvað.
Vitanlega, þá vilt þú að búa til kóða
og hönnun fyrir nýrri stýrikerfum.
Kannski ekki það nýjasta, kannski ekki Jelly Bean.
Kannski þú vilt að hanna fyrst og fremst fyrir Ice Cream Sandwich,
enda þótt þeir ert laglegur mikill the sami í skilmálar af ákvörðunum hönnun
og í raun bókasöfnum og API.
En frekar en að hafa fólk
af upprunalegu Android útgáfa-eins donut leiðinni til baka þegar-
sem enn verður að vera með því að reyna að sækja forritið og þá segja
það virkar ekki á símann minn þú getur stillt lágmarks útgáfu
og hafa verið það Gingerbread eða Ice Cream Sandwich
eða hvað sem þér finnst þægilegt að senda inn.
Og þetta er dæmi um farmskrá. Við getum litið á the raunverulegur einn í smá.
>> Jæja, munum við bara að fara fram með kynningu núna.
Þetta er kynningu ef þú Google Android byggja fyrsta app eða eitthvað svoleiðis.
Við munum fara í gegnum allt sem er að gerast þar,
og því miður, bara fyrir tilvísun sem hér veit Java einhverju leyti?
Jæja, svo er Java ný kóðun tungumál fyrir fólk að koma út úr CS50.
Stuttlega, að fara aftur það sem það segir hér,
hvað við viljum gera er frekar en að stilla þetta Hello World forrit
að allt það gerir er að það opnar og það segir halló heimur
og það segir halló CS50 efst því það er starfsemin nafn
við erum að fara að reyna að gera textabox og a hnappur
þannig að þegar við að ýta á þennan hnapp það mun taka texta
frá textareitinn og hefja nýja starfsemi, og það mun segja
hvað sem textinn segir í starfsemi, og þetta er tiltölulega einfalt.
Það er ekki mjög áhugavert. Þú myndir ekki vilja til að gefa út hvaða app eins og þetta.
En það sýnir nokkur mikilvæg atriði hönnun.
>> Við verðum að hafa samskipti við farmskrá, við skipulag skrá,
með kóðann, og þú getur séð hvernig á að ráðast í einn virkni frá öðru.
Við munum byrja með útlitinu fyrir fyrsta starfsemi okkar,
sem ég veit að það er góður af lítill,
en eins og þú sérð núna, allt það er er það hefur merkið okkar sem við bjuggum,
virkni nafn, og það segir Halló heimur í miðju.
Í staðinn ætla ég fyrst að fara að gera þetta í línulega skipulag,
ættingi skipulag, og allt eru þetta hlutir
þú gæti litið upp og eru þess virði að fara yfir á einhverjum tímapunkti í skilmálar af skipulag.
Það er mikið eins og HTML.
Við sögðum að það er í raun ekki þess virði að vita í skilmálum forritanlegur skilningi,
en það eru svo margir mismunandi skipulag sem þú getur stjórnað,
og það er bara eins og CSS í skilmálar af stíl.
>> There 'a einhver fjöldi að gerast bara í skilmálar af fagurfræði hér,
og já, það er þess virði að læra, en það er tegund af hlutur sem þú ættir að líta upp
eins og þú fara og þér finnst eins og þú þarft eitthvað nýtt.
Ég get nýtt sér sumir af the ADT verkfærum hér að minnsta kosti til byrjun burt við.
Ég ætla að gera textabox, og ég mun gera á hnapp.
Setjið þá rétt við hliðina á hvor aðra.
Þeir búa nú þegar á viðeigandi hátt.
Því miður, aftur, að koma aftur til the mismunur á milli línulega skipulag og ættingja skipulag,
línuleg skipulag gefur aðeins meiri virkni
hvað varðar að fylla rýmið og tryggja
Við stöðu hlutir lárétt eða lóðrétt.
Stóri munurinn á milli línulega skipulag og ættingja skipulag
er hlutfallsleg skipulag stöður allt miðað við aðrar skoðanir,
og gott um það er að það tekur minni tíma til að draga
vegna þess að stýrikerfið lítur á alla kóða og segir þetta fer
miðað við þetta hér, hér.
Það þýðir að það gerir færri mælingar en a heild búnt af hreiður línuleg skipulag,
sem ég þyrfti að gera ef ég vildi það til að fara lóðrétt hér.
>> Ég þegar hafa nokkur atriði fara lárétt, þannig að ég þyrfti aðra línulega skipulag
til hreiður þeirra lóðrétt, en ef ég væri að gera ættingja skipulag ég gæti sagt
halda þessu til vinstri, þetta til hægri og þetta hér að neðan.
En vegna þess að ég vil þá að fylla núna er ég að fara að nota línulega skipulag,
og þú getur séð það er nú þegar mikið af þessum hlutum fyrir okkur.
Öll álit þarf að hafa eign breidd og hæð,
og þetta gerist að hafa þyngd 1, og þetta hefur vægi 1
þannig að það fyllir út í allt pláss.
En breidd og hæð eru mikilvægastar.
Þetta ID sviði hérna er ekki mikilvægt í raun skipulag
nema við erum með hlutfallslega skipulag og segja að við getum tilvísun
Ein skoðun á hádegi í tilvísun til annars.
Ef við hefðum miðað skipulag við gætum sagt stöðu þetta undir þessa
eða yfir þessu auðkenni, en þetta auðkenni verður mikilvægur
þegar við erum að nota það í númerið okkar vegna þess að við getum tilvísun
þessi einstaklingur flettingar á þennan hátt.
>> Og þá er hægt að sjá merki requestFocus, sem er eitthvað sem þú sást sennilega í pset 7.
Það var sjálfvirkt farartæki brennidepill tag eða eitthvað meðfram þeim línum fyrir einn af þeim sviðum.
Og eitt, að sjálfsögðu, við getum gert bara eins og í HTML,
og taka eftir einn af the ágætur hluti um ADT er að það autocompletes hér.
Kannski ekki eins fallega eins og það gerði í Xcode, en það er engu að síður,
og við gætum sagt vísbending og þá gefa það einhverskonar band
eins skrifa skilaboð,
og ef ég gef henni í smá stund, einnig taka eftir að ég fá smá villa hér
segja að við ættum að nota band úrræði fyrir þetta,
þannig að ef ég láta það gera sumir af the harður vinna fyrir mig
Ég get valið þetta band, gera linsusjónauka Android og þykkni Android band.
Ég get gefið það að nafn, skrifa skilaboð
og hvað það gerði nú er það í stað þess að harður-dulmáli streng
með vísan til band í. xml skrá strengurinn er,
sem þýðir nú þetta hér.
>> Og ég veit að virðist lítið léttvæg og eins auka vinna á þessum tímapunkti,
en þegar þú hafa a heild búnt af hlutum, a heild búnt af strengjum,
það er mjög mikilvægt, og sérstaklega fyrir staðsetning
því eins og ég nefndi áðan, Android er mjög heimsvísu notað stýrikerfi
að þú getur einfaldlega gert gildum-En eða gildum-SP
eða eitthvað fyrir ensku eða spænsku eða öðrum tungumálum.
Og þá þú sennilega ekki hafa haft þessa reynslu enn
þar sem við ekki gera mikið JavaScript í skilmálar af forritun vefur,
en við getum líka gert þennan reit kallast onClick fyrir hnappinn,
og þetta er leið til að tilvísun í skipulag okkar
að við viljum ákveðna aðgerð til að kalla í frumkóða okkar.
Ég ætla að kalla þetta sendMessage,
og í því skyni að gera þetta verk sem þýðir í helstu starfsemi hér
Ég þarf að búa til fall sem er opinber
þannig að það er hægt að nálgast með því að skipulag.
Það er ógilt vegna þess að þú bara vilt ekki að það að fara aftur eitthvað.
Við munum kalla það sendMessage, og það tekur mynd,
sem er eins konar samhengi sem við getum akkeri þessa aðferð
til að einstök útsýni þegar við erum að keyra hana.
>> Og ég veit ekki hvort þú tekið eftir-vel, þú vilt ekki hafa tekið eftir,
en á þessum tímapunkti hérna
þetta sjónarmið er gerð sem hefur ekki enn verið birt,
og auðvitað, þú veist allt frá CS50 um ekki talið gerðir.
The ágætur hlutur óður í eins IDE er Eclipse er að
ef þú gleymir að setja tegund það mun undirstrika með smá rauðu hlykkjóttu
og þá gefa þér möguleika á að flytja þá skoðun.
Fljótleg leið til að gera það er stjórn breyting O, og það mun flytja
allar skrár sem það þarf til.
Nú þegar við höfum þetta virka sendMessage,
sem er að fara að senda skilaboð frá MainActivity til nýs starfsemi,
við erum að fara til verða að nota ásetningi að hefja nýja starfsemi frá þessu,
svo við munum sennilega vilja til að búa til alþjóðlegt fasti eða einnig sérstaklega opinber fasti
sem mun hjálpa okkur að vita hvernig við erum að fara til tilvísun band
vegna þess að þegar við búum ásetningi að við erum ekki bara að hringja í nýju verkefni,
en við getum líka gefa það a búnt af upplýsingar.
A búnt er reyndar hugtak sem Android notar,
og það er leið til að segja að gefa það auka gögn, sem það getur ekki verið af mjög háþróaðri gögn gerð,
en við getum örugglega fela booleans eða strengi eða ints.
Þessi tegund af hlutur.
>> Feel frjáls til að spyrja um eitthvað af þessum undankeppni hér,
opinber endanlega, truflanir.
Opinber er mikilvægt.
Það þýðir að við getum nálgast þessa breytu frá öðrum kóðinn skrár
svo sem þegar við að búa til nýja virkni.
Við getum vísað strenginn innan þessa skrá.
Ef það er í einkaeign, þá þýðir það að það er takmarkað við þessa einstöku formi hér.
En við munum kalla þetta eitthvað eins auka skilaboð.
Nú höfum við gert þessa aðgerð, og ef við smelltu á hnappinn, þessi aðgerð verður kallað.
En við höfum ekki gert neitt, augljóslega, með virkni.
Það sem við viljum gera núna er að búa til nýja virkni,
starfsemi sem mun í raun vera hleypt af stokkunum.
Í Eclipse getum við sagt nýja, Android verkefni, eyða athafnasemi.
Við getum gefið það nafn.
Við skulum kalla það afleiðing starfsemi okkar.
Og þá er þetta hierarchic foreldri sviði leið tilgreina
hvernig starfsemin tengist hvert öðru.
Vegna þetta verður hleypt af stokkunum frá öðrum virkni
við ættum að tilgreina að það hefur foreldri aðalstarfi.
>> Og ég hefði getað smellt á næsta túni, sem hefði sagt okkur
sumir valfrjálst sviðum sem það var einnig á meðal,
en ágætur hlutur óður í ADT, aftur, er að ef ég skruna niður hér
í farmskrá muna að allt þetta virkilega var með sjálfgefið
þegar við bjuggum upphaflega verkefnið,
og nú vegna þess að við notuðum þetta skapa nýja starfsemi frekar en bara
bæta eigin bekknum skrá okkar vegna þess að við fórum í gegnum GUI þeirra fyrir að gera þetta
það bætt þegar þetta allt til farmskrá fyrir okkur,
sem þýðir bara að nú the stýrikerfi vilja ekki kvarta
þegar við reynum að ráðast í þetta verkefni.
Og það er einnig, að sjálfsögðu, gaf það merki, sem einnig sýnir sig í strengi.
Það er ýmislegt á bak endir fyrir okkur.
Engu að síður, nú að við höfum þetta afleiðing virkni eins og heilbrigður,
í raun uppspretta merkjamál skrá í the uppspretta mappa,
og þú getur séð til stuttlega minnast á þetta-
vegna þess að við sagt það um þessa hierarchic foreldri
það gaf þennan reit android.r.ide.home í þessu onOption valinn hlutur.
>> Hvað þetta er í rauninni að segja er að það er matseðill hnappur nú
að efst í vinstra horninu á skjánum
ef ég fer aftur til PowerPoint þar sem við ræddum fyrst um bar aðgerð
vegna hierarchic foreldri nú er það smá arrow aftur hingað
og þetta er smella svo við ættum að vera fær um að-eftir hlaupum raun þetta app-
fara aftur, og það er leið til að bjarga okkur smá kóða þar.
Nú innan þessa-vel, það virðast til vera kvarta það eitt augnablik.
Skulum tjá sig að út.
Nú, í því skyni að í raun samskipti við þessum 2 aðgerðum,
við verðum að búa til markmið sem felur í sér öll þessi gögn.
Í sendMessage nú ætla ég að skemmtiferðaskip gegnum nokkur bita af kóða
og útskýra það sem ég fer.
An ásetningi, eins og ég sagði, er leið til að ráðast eitt virkni frá öðru.
Ætlunin er gerð. Við erum að búa til breytu myIntent.
>> Og þetta er í raun hlutur, sem er ástæða þess að við verðum að hringja nýtt.
Það er algengt Java notkun þar, sem gæti tekið smá að sættast við.
Þetta þýðir að við erum að nota virkni eða bekknum MainActivity,
og ásetning á þann hátt tekur virkni það er að fara úr
og virkni sem það er að fara að, sem við köllum ResultActivity,
og það er eigin tegund þess.
Hafa það.
Og þá eins og ég nefndi áður, gaf okkur að ID að breyta textareitinn
og textinn skoða, svo í því skyni að kerfisbundið handtaka
textinn sem er á editText
við notum þessa aðgerð kallast findViewByID,
sem er svipað og eitthvað sem þú munt nota þegar reynt var að fá reitina frá DOM.
Kannski Davíð talar um þetta í fyrirlestri.
En það er bara leið til að fá þá-það er þess vegna sem við tag þetta með þessum sviðum.
Id.editText1.
Það er nú þegar autocompleting fyrir mig þar.
>> Og þá munum við einnig-þetta editText nú að við höfum á sviði
innan áætlunarinnar okkar, allt sem findViewByID gerði var í rauninni
þú gætir hugsa um það sem gefa okkur tilvísun í þessi editText.
Nú viljum við að fá strenginn eða skilaboð
innan þess editText sem við getum gert með því að nota-
þú gætir hugsað editText sem strúktúr-
við köllum það hlut í Java-með a heild búnt af mismunandi aðferðum
eða akrar og eiginleika fylgir henni.
Þegar ég segi editText. það gefur mér tækifæri til að fá aðgang
aðferð svo sem gettext, sem mun fá núverandi texta
í því editText og þá umbreyta það skýrt
í streng, og við höfum vistað skilaboðin.
Nú viljum við í raun að gera eitthvað með þessi ásetningi við bjuggum bara augnablik síðan.
Ég mun setja aukalega eins og það er kallað í ásetningi,
sem, aftur, eins og ég sagði áður, þetta er leið til að búa til búnt
með a heild búnt af gögnum.
Extra skilaboð merki okkar þannig að við vitum hvað við erum að vista þetta undir,
og þá er ég meðal skilaboðin.
>> Og þá getum við í raun að hefja starfsemi með því að gefa það breytu myIntent.
Og þetta mun í raun ráðast á virkni, svo nú síðan ég uppfærði í Windows 8
það gæti verið nokkrar villur sem mæta í stuttu máli, en reyna að hunsa þá.
Og þetta er Android keppinautur.
Vonandi kóðinn vilja raunverulega skjóta upp kollinum í smá stund.
Aftur, hunsa alla þá litlu hluti.
En Android keppinautur sem þú getur líkja hvaða útgáfa af stýrikerfi
frá elstu sjálfur, donut, Gingerbread.
Þetta er Jelly Bean 4.1.
En eins og þú sérð núna, þetta er eitthvað sem við höfum gert.
Þetta hefur MainActivity, sem editText á hnappinn.
Ég get slegið eitthvað hér, en hvað erum við að vantar á þessum tímapunkti?
Við gerðum á sviði í MainActivity sem er að fara að senda skilaboðin
að hinum starfsemi, en á þessum tímapunkti
við höfum ekki gert neitt í hinu starfsemi, svo það er ekki að fara að fá neitt.
Skulum ljúka upp að hluta áður en við fara.
>> Þessi niðurstaða starfsemi, hvað við munum þurfa að gera er að við munum þurfa að gera er að við munum þurfa að-
við getum líka tilvísun tilgang innan þessa starfsemi,
þannig að við verðum að fanga ásetning, sem er mjög einfalt.
Það er fall með í starfsemi flokki,
svo við getum bara sagt "fá skilaboð frá þeim ásetningi."
"Intent myIntent = getIntent."
Og það mun gefa okkur-nú myIntent er hlutur,
sem er tilvísun í ásetningi sem leiddi okkur að þessu verkefni.
MainActivity símtöl og gefur auka upplýsingar til að leiða starfsemi.
Niðurstaða starfsemi lítur nú á ásetningi sem leiddi hana hér,
og við getum nálgast þau sem við bjuggum í hinni,
getStringExtra, og þetta mun autocompleteoff fyrir mig.
Og þá man, hvernig við merkta sem hluti af gögnum
var því að gefa það á þessu sviði hérna, þetta public String,
sem er merki um streng við með reyndar.
>> Ef ég segi MainActivity.Extra_Message
það er rétt þarna, og þetta er tegund af eins og breytu nafninu
þegar við framhjá kóða frá ábyrgðaraðila til sniðmát,
þegar við myndi segja titil ör eitthvað.
Það er sama tegund af hugmynd þar.
Nú, muna þetta.
Við höfum einnig hafði þetta farartæki búið eða farartæki mynda kóðann
fyrir starfsemi afleiðing, sem felur í sér texta útsýni í miðju
sem segir halló heimur.
Við gætum hugsanlega gert það stærri.
Við skulum gera það fyrst.
Við gætum gert það 40 þéttleika óháð pixlar.
Við skulum sjá, það er frábær gríðarstór. Það verður allt í lagi.
Og þá í því skyni að vísa þessum einstaka texta útsýni í númerið okkar
við munum þurfa að gefa það kenni,
og í því skyni að gera að við segjum @ + id, sem þýðir að við framselja það ID.
Ef við sögðum bara @ id það myndi gera ráð við erum tilvísun kenni sem er þegar til,
og við skulum kalla þetta resultTextView okkar.
Og eftir því að í XML það er engin þörf fyrir semikommum eða neitt.
Allt er innan þessum merkjum.
Það er mjög líkur til HTML í fullt af skilningi.
>> Það tekur smá að venjast, en á endanum þú munt finna nokkuð ánægð með það.
Skulum uppfæra texta fyrir niðurstöðu textayfirsýn okkar,
og eins og við gerðum þegar við vorum að fá að breyta textabox í öðrum athöfnum okkar
í MainActivity hér við munum líka sömuleiðis-
við munum finna þá skoðun af hálfu ID.
Og R, ef ég vissi ekki nefna þetta áður, er tilvísun til auðlindir möppunni okkar,
og þá er auðkenni tilvísun í allt í auðlindir möppu, allar ids,
og resultTextView.
Og rétt eins og áður, resultTextView er hlutur,
sem þýðir að það hefur alla þessa eiginleika í tengslum við það.
Þegar við notum gettext fyrir að breyta texta fyrir þessa textareitinn eða textayfirsýn
við getum raunverulega nota setText,
og þá sáum við þegar skilaboðin frá þeim ásetningi,
svo ég get sagt skilaboð, og þetta mun í raun setja skilaboðin.
>> Það tekur smá stund að ráðast, og þá getum við séð hvort það hrun,
en einhverjar spurningar um það ferli strax, þessi tegund af samskiptum?
Á margan hátt er það einfalt.
The ástæða ÉG er að fara í gegnum eitthvað tiltölulega einfalt
er, aftur, vegna þess að þú færð að sjá samspil skipulag,
kóðann, hvernig þú tilvísun það
og kannski fá smá áhrif hvernig Java virkar þar.
Ef ég slá í raun eitthvað hér, eins ohai, og þá get ég smellt á hnappinn,
það opnar nýja starfsemi, og að texti skoða segir ohai.
Það er mjög einfalt, en vonandi eftir því dæmi
þú sérð tegund af hvernig þessi milliverkun virkar, og nú að skipta um skrá
á vinstri hlið fyrir allar þessar verkefni möppur, vonandi þú veist hvar á að líta nú.
Þetta er kóðinn svæði.
>> Skipulag er í raun það eina sem þú munt takast á við fyrr en þú setur myndir
og drawables eða hvað, og gildi, sem mun fela í strengi,
eins og við getið, og þá er stíll eitthvað sem er tegund af eins og CSS.
Takast það þegar þú vilt, en þar til þú ert ánægð með að bæta við auka hæfileiki
til umsókn þína það er engin þörf til hafa áhyggjur óður í það of mikið.
Bara að vefja upp einn annar hlutur sem þú munt örugglega vilja til að fela-
miðað við að þú vilt að samþætta kaldur lögun og spara þér nokkrar auka kóðun-
væri að fela 3. bókasöfnum aðila.
Hér er lítill Android strákur með Sherlock Holmes hattinn.
Þetta er barnum aðgerð Sherlock bókasafn,
sem þýðir í rauninni að valstikunni þú sást áðan,
sem er nú standard í Ice Cream Sandwich og Jelly baun,
ef þú vilt koma þessi tegund af reynslu notenda til notenda á eldri útgáfur
og spara sjálfur frá að hafa áhyggjur hvernig notandi er að fara að sigla
á eldri útgáfur þegar þessi hlutur er ekki þar sem þú getur falið í þessu bókasafni
og þá verður þú bara að vísa-frekar en sjálfgefið Android
bókasöfn fyrir valstikunni tilvísun þér stuðning bókasafn.
>> Hluti eins Scoreloop, það er frábært ef þú ert að fara að fela í sér leik.
Það gerir þér kleift að bæta leiðtogi stjórnum og árangur í leikjum.
AdMob er leið til að setja auglýsingar inn umsókn þína
ef þú vilt gera a lítill hluti af peningum á því.
Auðvitað, það er Facebook og Twitter um að samþætta það
ef þú vilt deila hlutum auðveldlega, et cetera.
Dropbox, sömuleiðis, og Google Analytics er að graf útlit einn þar.
Það verður mjög mikilvægt ef þú vilt í raun og veru að sjá hver er samskipti
með app eða hver það er, hvernig þeir hafa samskipti, et cetera.
Google, við vanræksla, segir þér mikið af tölfræði um hver hefur sett app
og hvaða símar sem þeir hafa, hvaða stýrikerfi útgáfa sem þeir hafa.
En ef þú vilt sjá hver er að nota það á hverjum degi og hvernig þeir nota það
þá munt þú vilt að fela í sér einhvers konar mælingar kerfi svoleiðis.
>> Þegar þú ert tilbúinn til að dreifa app
Ég þarf ekki að fara í það í of miklu dýpi.
Smelltu á tengilinn hér, Google Play.
Það er notað til að vera Android markaði.
Þeir rebranded allt með Google Play,
svo nú þú leggja það.
Það er mjög einfalt.
Þú verður að fela í sér lýsingu, sumir screenshots.
Eins og ég sagði, það er engin samþykki aðferð eins IOS.
Og hvar á að fara héðan?
Ég sýndi þér virkilega einfalt dæmi.
Vonandi ef það virðist hræðilega einfalt
þá er það líklega gott tákn.
Ef þú yfirleitt fannst svolítið ruglaður eða óviss um nákvæmlega það sem ég var að skrifa
það er líka fínt, en hér fara á Google Guides.
Þetta er frábær staður til að byrja.
Það mun tala þig í gegnum það sem þeir búast við í skilmálar af umsókn hönnun,
hvernig notendur hafa samskipti venjulega með það.
Það er miklu meira frjáls formi en IOS, myndi ég segja,
sem það virðist eins og borð sjónarmið-Ég veit ekki, það er brauð og smjör.
Allt er töflu á skjá renna upp og niður.
Með Android þeir hvetja ákveðið fólk til að líta á það frá
allt fullt af mismunandi sjónarhornum.
>> Þegar þú setur þróun hugbúnaðar Kit í þessum ADT
sjálfgefið þú hafa a heild búnt af verkefnum sýnishorn í Android.
Hérna, Android, Android Dæmi Project.
Ef ég smelli á það, þá get ég valið útgáfu sem af sýninu verkefni gilda.
Það er allt fullt af mismunandi hlutum hér.
Það byrjar með valstikunni eindrægni,
accelerometer leika, varabúnaður og skila aftur, Bluetooth, látbragði byggir.
JetBoy er sýnishorn leikur sem þeir gefa þér, sem er LunarLander.
There ert a heild búnt af forritum sýnishorn hér,
og þeir eru allir miða á mismunandi þætti API Android er,
og hugmyndin er sú að eins og þú gerir umsókn þína
þú þarft ekki að læra allt um Android að Android app.
Þú þarft aðeins að læra um þeim hlutum sem þú ert í raun að fara að nota.
Líta á þessar sýni bókasöfnum.
Feel frjáls til að afrita og líma kóðann og sækja aftur það.
Það er a mikill hlutur til að líta á erfiðara kóða
og reyna að skilja það, sem er auðvitað hvers vegna í CS50
við gefum oft þér mikið magn af kóða uppspretta.
Líta á sumir af þessum ef þú ert að fara að nota svipaðar bókasöfnum
og þá sækja um það til eigin kóðann þinn.
Og auðvitað, það eru námskeið.
Leita að námskeið.
Ég fann fullt af góðum sjálfur á netinu sem hægt er að koma þér upp til hraði
með hvaða brot raunverulega eru og hvernig þú getur notað þá.
>> Sumar af nýju hlutum hönnun, eins og brot,
þú virkilega þarft ekki að vera áhyggjufull um nema þú ert að gera
nokkuð stór í verkefninu scope.
Þeir eru hlutir sem Google er að reyna að fasa inn
Stackoverflow er auðvitað vinur þinn.
Vonandi ég seldi þér aðeins á Android,
átta sig á því er miklu meira auðvelt að nálgast í skilmálar af réttlátur erfðaskrá tungumál.
Java er myndi ég segja miklu auðveldara að skilja en Objective-C.
Android er að vaxa held ég miklu meira en IOS.
Ég meina, the gögn er þar líka, innskot frá því sem ég hugsa.
Það er að fara að vera í kring fyrir a á meðan,
og þeir eru nokkur ár bak við í skilmálar af hringrás hönnun þeirra,
svo það er svoleiðis skiljanlegt að þeir eru enn að vinna í gegnum sumir af þessum
samkvæmni spurningar, eins og þetta valstikunni er nýr hlutur fyrir þá enn,
konar skapa svipaða reynslu notenda á öllum apps þeirra.
Vonandi er hægt að fara fram núna og opna Eclipse
og gera eigin Android forritin.
>> Hefur einhver hefur einhverjar spurningar áður en við sett upp um neitt?
Ég get sagt þér að svarið er 42.
Jæja, hamingjusamur erfðaskrá alla, og gangi þér vel.
[CS50.TV]