[Powered by Google Translate] [Seminar] [Android Apps (Nüüd Jelly Oad!)]
[Jordaania Jóźwiak] [Harvard University]
[See on CS50.] [CS50.TV]
>> Tere kõigile ja tere tulemast Android Apps (Nüüd Jelly Oad!) Seminar.
Seda nimetatakse nüüd koos Jelly Oad, muidugi, sest
viimase versiooni OS nimetatakse Jelly Bean.
Kui ma rääkisin Android eelmisel aastal ja tegi seda põhiliselt sama seminar
Ma esitasin disaini mustrite ja stiililine valikuid piparkoogid,
kuigi Ice Cream Sandwich tuli välja ajal,
ja see on midagi, mida me räägime, läheb edasi natuke.
Android muidugi on mõned küsimused killustatus,
nii viimaste Google operatsioonisüsteemi on tavaliselt
ei tõesti levinud kasutajate seas potentsiaalselt kuni aasta, kahjuks.
>> Kuid jättes kõrvale, et me räägime palju põhjusi, miks
Android on palju parem kui iOS.
Okei, me räägime Android versus iOS,
mõned disain paradigmad, kuidas sa saad luua vaid üks slaid
ja suur vahe selle ja eelmise aasta on Ma tahan
zoom läbi mõned kontseptuaalsed asjad töötavad
operatsioonisüsteem ja siis läheb tõesti lihtne näide.
Tegelikult lihtsalt näide, et Google kirjeldab hoone oma esimese app,
ja läheme läbi koos ja lihtsalt kirjeldada.
>> Ma tean, et paljud teist on ainult kodeeritud C, nii et Java on juba saab olema
erinevast vaatenurgast, ja see, kuidas sa saad oma jalad märjaks
ja tunnen end veidi rohkem rahul ta loodetavasti.
Kiire kokkuvõte, Android versus iOS.
Android on see ühekordne arendaja tasu $ 25,
ükski selle 100 $ aastas asi.
Puuduvad piirangud, mis tähendab, et kui ma tahan esitada app,
Ma lihtsalt esitab selle, ja seal ei ole kinnitamise protsessi, nagu seda on iOS.
Sa saad töötada koos Java kasutades Eclipse,
mis on risti platvorm, nii et see ei ole oluline, kui teil on Mac,
Windows või mõni Linux masin.
Muidugi, iOS pead kasutama XCode Mac'i
ja Android on kasutatud palju rohkem inimesi,
nii et kui soovite, et teie app on mingisugune nähtavust või ehk
teha natuke raha reklaame
oled ilmselt pigem kasu Android.
>> Ja üks asi, mis on alati olnud tuntud umbes Android
on äärmiselt summa kohandamist, arvestades iOS on väga kindlaks nende võimalusi
et nad saaksid säilitada turvalisuse ja kontrolli iga väike aspekt
Kujunduse oma OS ja individuaalne apps.
Android on väga vabas vormis, ja seal on nii palju rohkem võimalusi.
Okei, mõned disain paradigmad.
Teade siin nagu iOS on tabletid ja iPhones ja iPod puudutab
nad peavad toetama, ütleme, nagu tosin seadmeid, kui soovite, et toetada
ajaloolisi asju samuti.
Android pead toetada sadu seadmeid,
nii on mõned asjad, et Google on püüdnud rakendada
teha kasutaja kogemus veidi järjekindlam
kuid me ka räägime, kuidas see tähendab, et on küsimusi, killustatuse
et sa pidevalt olema teadlik toetamine.
Killustatus tähendab, et seal on palju erinevaid süsteeme,
palju erinevaid telefone erinevate riist töötab Android kõik samal ajal,
nii see graafik siin ulatub umbes 6 kuud.
Jah, 6 kuud, ja te näete, kuidas kõige pimedamal band
põhjale Jelly Bean, mis tuli välja suve jooksul
ja te näete praegu arvatavasti umbes 2% telefonidel on see.
>> Ice Cream Sandwich tuli välja rohkem kui aasta tagasi,
ja veerand telefonid on see.
On veel palju telefone, mis kasutavad OS versiooni aastat tagasi.
Üks asi, et Google on püüdnud teha, et kasutaja kogemus
palju ühtsemaks apps hakkab koos Honeycomb,
mis on tablett versioon, siis Ice Cream Sandwich ja Jelly Bean,
nad tõesti püüavad rõhutada seda võimalust kasutada baari,
mis on see, mida näed üleval siin
kõik siin, sealhulgas see väike seaded nuppu.
See disain valik.
Nüüd, kui sa näed 3 dots see tähendab siis see,
ja seal on rippmenüü, mis on mingi seaded.
See näitab ainult üles, sest Napsautin seda nuppu.
See on midagi, mida nad üritavad kasutada, et muuta apps veidi järjekindlam
kõikjal ja nii on kasutajal parem tunne ühtne kogemus.
>> Okei, nii et kui sa ei ole seda juba teinud või kui te vaatate kodus
siis saate järgige neid samme, et luua oma kodeerimine keskkond.
See hõlmab kavatse kodulehel siin.
Saate Google paigaldamist Android SDK
ja järgida mõningaid kirjeldusi seal.
Nad räägivad teile kõike.
Neil on installimist SDK, allalaadimiseks Eclipse Classic versioon,
kuigi, muidugi, me kodeerimist Java.
Nad soovitavad selle ühe, ja siis see ADT, Android Development Tools,
on plugin, et kuhu sa installid, Eclipse, mis võimaldab teil
on palju sujuvam kogemus Android jooksul Eclipse.
See annab teile mõned graafilised kasutajaliidesed
projekteerimine seisukohti, ja see annab teile palju rohkem toetust
ja võime käivitada koos emulaator ja kõik sellised asjad.
Kohaldamise raames.
>> Tahan rääkida sellest, kuidas projekte Android on struktureeritud,
ja siis me minna kiire näide ja loodetavasti
võite küsida igal ajal ja mugav lõpuks ta.
Meil on mõned žargoonis esimene.
Tegevus on nagu ekraanil näed, kui sa käivitada app.
Kogu kogemus on tegevus ise,
nii et võid mõelda seda ekraanil või eesmärgiga,
aga see on tegelikult lähtekoodi pool seda.
Me siiski helistada tegelik kasutajaliides osaks eesmärgiga.
See on omamoodi nagu kuidas pset 7 pidime kontroller ja siis vaadata.
Tegevus on rohkem või vähem kontroller,
ja vaade on see, mida me teeme nii XML
mis on seotud selle tegevusega.
Killud on midagi, mis on rakendatud Ice Cream Sandwich läheb edasi.
See on lihtsalt idee võtta osade arvates või tegevus
ja jagades eraldi alad, et saaksime
et meie kood kasutatavust neid palju erinevaid seadmeid
et me peame toetama, ja see on lihtsalt nii, et püüda
Samuti tegurdada rohkem kood.
Teenused on tausta asjad muusika või navigatsioonijuhised potentsiaalselt.
Sisu pakkujad on need APIs jooksul operatsioonisüsteemi
mis võimaldab teile juurdepääsu jagatud andmete nagu kontaktandmed,
ja siis kavatsus on midagi me kasutame, kui me tahame, et käivitada
uus tegevus meie praegune tegevus.
>> Tere Android, see saab olema projekt, mida me räägime.
Ma tegelikult teha teie jaoks, ja siis me teeme midagi, kui me klõpsa nuppu
mõne teksti ja käivitada uus tegevus.
Väga lihtne, kuid ma tahan minna läbi
mida läheb projekti niimoodi.
Kui teete uue projekti näete jooksul Eclipse
seal on see projekt nimega Tere Android.
Siis on terve hunnik kaustu siin.
Need, sa oled tõesti mures on allikas kausta
ressursside kausta res, ning teatud määral lis kausta raamatukogudes.
Ja lihtsalt selleks, et me samal lehel, et
kui sa olid luua uus projekt,
siis saad seda teha siin, nii et kui ma tahan kutsuda HelloAndroid,
ja siis automaatselt teeb terve hunnik informatsioon meile.
Paketi nimi peaks olema kordumatu tunnus
, mida tavaliselt seostatakse veebilehel, kui teil on olnud üks.
>> Näiteks, ma nimetan seda net.cs50.helloandroid.
Ja ma juba teinud selle projekti üks kord.
Okei, vabandust. Nimetagem seda HelloCS50.
Ja siis ta küsib asju nagu millist ikooni me tahame teha.
See on kõik, sest Android Developer Tools liides,
plugin, et me lisatakse Eclipse, et saaksime valida asjad
mida ikoon tahame, ja et ta läheb, et põhjalik, kui tahame.
Aga lõppude lõpuks, lihtsalt projekti
ja kõike näitab üles siin.
Nagu ma näitasin teiselt ekraanil
meil allikas kausta ja ma rääkida, mida see kõik tähendab, varsti,
kuid on näha, et kohe see viib meid HelloCS50 ekraan.
On mõned nupud üle siin lisades teksti ja tekstiväli paigutusega.
See on omamoodi nagu XCode kuid kahjuks mitte päris nii sujuvad.
Aga klippe oma sõbra ja ADT eriti seda teed.
>> Okei, allikas kausta kus
Java faile hoitakse, ja see on tegelikult käivitada oma programmi.
See on põhimõtteliselt nagu kontrollerid.
Ressursside kausta või res on koht, kus me hoiame ekraani paigutust,
pilte, helisid, teksti, animatsiooni ja kõike muud, lis ilmselt raamatukogudes.
Ja ilmselge, et see on nii, et Android süsteem teab
kuidas suhelda oma app.
Ta ütleb ta umbes load ja millised tegevused tegelikult juhtida.
See kõik on oluline teave, mis on vajalik käivitada oma app.
Allikas kausta-kui me laiendada seda nagu näete siin.
Ja näiteks, et kood näeks-see on vaikimisi koodi.
Nagu me seda nimetas, peamine tegevus.
Vaikimisi saame onCreate, mis on funktsioon, mis kutsutakse, kui see tegevus koormad
nii et sa tahad helistada onCreate (savedInstanceState).
See taastada iga bitti informatsiooni
korral app peatati.
>> Seal on terve tegevusala elutsüklit skeem, mida saab vaadata
kui sa saad veidi põhjalikumat see,
kuid kõige olulisem rida koodi on see setContentView funktsioon
mis laeb ressurss faili paigutuse.
Siis mida onCreate siin on põhimõtteliselt teeme, on see ütlus
kui ma luua selle tegevuse Tahan laadida see kujundus.
Ja me räägime, mida see paigutus on teine.
Kui me käivitada, et siin see näeb välja täpselt nagu see,
ja vaikimisi, sest meil on Eclipse teed ja õhkkuiva tonni teevad seda meie eest
see kõik on stereotüüp kood, mis on loodud meie jaoks,
ja me saame edasi liikuda ja asju muuta kui me soovime.
Ressursside kausta nagu ma ütlesin, see on koht, kus me hoiame kõik skeemid,
drawables seisukohalt mingit pilti-
neid nimetatakse drawables-ja siis helifailid, menüüsid.
See on viis, kuidas terve hulk XML kenas sorteeritud mood.
Nagu näete, on. Hdpi, ldpi, mdpi ja xhdpi kaustad drawables.
Need on erinevad ekraani tihedus, nii kõrge tihedusega pikslit tolli kohta,
madala tihedusega, keskmise tihedusega, ekstra suur tihedus.
>> See on jällegi nii saame toetada kõiki neid erinevaid seadmeid,
ja ideaalis, siis on erinevaid pilte iga erineva resolutsiooniga.
Skeeme, kus me sisaldavad kõiki erinevaid skeeme, mida kasutatakse erinevates tegevustes.
Nad võiksid ka skeemid fragmentide
mis tähendab, osaline tegevuses põhiliselt.
Kui sa tahad teha midagi lahedat, nagu alati, kui telefoni pöörata
sa tahad, et see on erinev paigutus, mida saate teha küljendus-maastiku teise kausta
ja Android automaatselt on terve hunnik neid reegleid, mida allikas kausta
nii et see on teada, et vaadata erinevaid kaustu põhineb praeguse setup telefon,
millist riistvara sa kasutad.
Samamoodi see väärtuspõhine v11 siin ja väärtuspõhine v14
ja vaikeväärtused kausta see on-
hästi, väärtused iseenesest, see on vaikimisi väärtused üle kõik versioonid operatsioonisüsteemi.
Teiselt poolt, V11 ja V14 vastavad Honeycomb
ja Ice Cream Sandwich, vastavalt.
Jällegi on need viisil, mis-neis kataloogides on erinevad strings
ja stiile, nii et saate kohandada välimust oma app
või potentsiaalselt isegi selle funktsionaalsust, kuigi see oleks arvatavasti hea mõte,
põhineb versiooni operatsioonisüsteemi.
>> Ja ma rääkisin seda kõike siin.
Jällegi drawable, toores, küljendus, väärtused.
Vaikimisi, kui me minema Tere Android või Tere CS50 kohe
ta otsib lihtsalt niimoodi.
Ta ütleb tere.
Nagu näete siin koos Android tekst
tekst selle teksti eesmärgiga, mis on põhimõtteliselt lihtsalt silt,
on see, mida me nimetame seda iOS.
See on see naljakas märke @ string / hello_world.
See on nii saame-me üritada eraldada kõik stringid,
kõik kodeeritud stringe Android arvesse eraldi kausta
mis juhtub olema values.strings.
Kui me vaatame siia, siis näeme, et meil on kodeeritud string salvestatakse siia
kohta Tere maailm, ja seda nimetatakse tere, ja see on omamoodi
ühine disain otsus paljude platvormide, mida soovite-
stringid on omamoodi asju, mida me tahame olla võimalik muuta.
Me ei taha, et kontrollida F meie lähtekoodi fail meie XML.
Me tahame, et oleks võimalik seda muuta, kui me saada võimalus.
>> See XML fail, strings.xml, on viis kaevandavad
kodeeritud stringe, mis muidu oleks meie paigutus ressursside
või meie lähtekoodi.
Ilmselge on see, kui me hoiame seda olulist teavet taotluse.
See sisaldab paketi nimi. See peab olema kordumatu tunnus.
Erinevalt App Store IOS nimetusi
ei pea olema unikaalne ja saate tegelikult nime muuta oma taotluse
kui olete saatnud, nii et kui ma hakata läbi Angry Birds,
ja siis ma teen uuendus, ja ma ei taha, et uue versiooni
Ma arvan, et ma võiks seda nimetada Angry Birds 2 kui ma olen samal vabastamise tsükli.
See oleks lihtsalt näitab kui uuendus.
Ainuke asi, mis peab olema unikaalne on see pakett nimi,
mis ei ole paljud inimesed näevad.
Noh, sa ainult vaata, kui sa olid vaadates lähtekoodi või kui on mingi viga.
Komponendid hõlmavad tegevusi, seega on meil kuulutada
mingisugune tegevus, mida me kasutame.
See on luba sellist asja.
>> Kuna Android ei ole seda range taotlemise protsess
esitamise apps asemel nad lihtsalt kõik põhineb off load
ja kuulutatakse asju näidata.
SDK versioon on samuti tähtis.
Meil on võimalik valida kasutamiseks SDK minimaalne versioon midagi.
Ilmselt soovite luua kood
ja disain uuemad operatsioonisüsteemid.
Võib-olla mitte kõige uuem, võibolla mitte Jelly Bean.
Võib-olla soovite kujundada peamiselt Ice Cream Sandwich,
kuigi nad on päris palju sama poolest disaini otsuseid
ja tegeliku raamatukogud ja API.
Kuid selle asemel on inimesed
algse Android versioon moodi Donut tee tagasi, kui-
kes ikka juhtub, et kasutades seda proovida laadida oma taotlus ja siis öelda,
see ei tööta mu telefon saab määrata minimaalse versioon
ja on see on piparkoogid või Ice Cream Sandwich
või mis iganes see on mugav esitavad.
Ja see on näide Manifest. Me saame vaadata tegelikku üks natuke.
>> Olgu, minge edasi demo nüüd.
See on demo, kui te Google Android ehitada oma esimese app või midagi sellist.
Me läheme läbi kõik, mis seal toimub,
ja kahju, ainult viide, kes siin teab Java mingilgi määral?
Okei, nii et Java on uus kodeerimise keel enamik inimesi, kes tulevad välja CS50.
Lühidalt, et minna jälle, mida ta ütleb siin,
mida me tahame teha, on mitte reguleerida seda tere taotlus
et kõik see on see käivitab ja ta ütleb tere
ja ta ütleb tere CS50 tipus, sest see on tegevuse nimi
me ei kavatse üritada helistada tekstiväli ja nupp
nii et kui me selle nupu võtab teksti
alates tekstiväljale ja käivitada uus tegevus, ja see ütleb,
mis iganes see tekst ütles tegevus ja see on suhteliselt lihtne.
See ei ole väga huvitav. Sa ei taha, et vabastada iga app niimoodi.
Aga see näitab mõned olulisemad asjad.
>> Me peame suhtlema Manifest, kus paigutus faile,
koos lähtekoodi, ja te näete, kuidas käivitada ühe tegevuse teise.
Me alustame paigutuse meie esimene tegevus,
mis ma tean, et see on selline väike,
kuid nagu näete, just nüüd, kõik see on see on meie logo, et oleme loonud,
tegevuse nimi ja ta ütleb tere keskel.
Selle asemel, ma olen esimene kavatse teha seda arvesse lineaarne paigutus,
suhteline paigutus ja need on kõik asjad,
võid otsida ja on väärt läheb üle mingil hetkel nii paigutusega.
See on palju nagu HTML.
Me ütlesime, et see ei ole tõesti tasub teada poolest programmiline mõttes
kuid seal on nii palju erinevaid teemasid saate kontrollida,
ja see on nagu CSS poolest stiile.
>> Seal on päris palju lihtsalt nii esteetika siin
ja jah, see on väärt õppimist, aga see on selline asi, mida peaks otsima üles
lähete ja teil on tunne, nagu teil on vaja midagi uut.
Võin ära mõned ADT tööriistade siin vähemalt alustad.
Ma teen tekstiväljale ja teen nuppu.
Pane need õige üksteise kõrval.
Nad juba suurust vastavalt.
Vabandust, jälle tulevad tagasi vahe lineaarne paigutus ja suhteline paigutus,
lineaarne paigutus annab veidi rohkem funktsioone
poolest täidavad ruumi ning tagades
me positsiooni asjad horisontaalselt või vertikaalselt.
Suur vahe lineaarne paigutus ja suhteline paigutus
on suhteline paigutus positsioonid kõik võrreldes muude arvamuste,
ja hea asi on see, et see võtab vähem aega, et teha
sest operatsioonisüsteemi vaadeldakse kõiki kood ja ütleb, et see läheb
võrreldes seda siin, siin.
See tähendab, et ta teeb vähem mõõtmisi kui terve hunnik nested lineaarse paigutusega
mis ma pean tegema, kui ma tahtsin asjad minna vertikaalselt siin.
>> Mul juba on mõned asjad lähevad horisontaalselt, nii et ma oleks vaja teistsugust lineaarne paigutus
pesa neid vertikaalselt, kuid kui ma seda suhtelist paigutust ma võiks öelda,
hoida seda vasakule, seda parem ja need asjad allpool.
Aga sellepärast, et ma tahan, et nad täita nüüd ma lähen kasutada lineaarse paigutus,
ja te näete seda juba teeb palju neid asju meie eest.
Kõik seisukohad peavad olema vara laius ja kõrgus,
ja see juhtub olema vähemalt 1, ja see kaal on 1
nii et see täidab kogu ruumi.
Aga laius ja kõrgus on kõige olulisem.
See ID väli siin ei ole oluline jooksul tegelik paigutus
kui me kasutame suhteline paigutus ja öeldes saame viidata
üks vaade positsiooni viide teise.
Kui meil oli suhteline paigutus võib öelda seisukoht see alla see
või üle selle ID, kuid see ID on oluline
kui me kasutame seda meie koodi, sest meil võib viidata
individuaalsete vaatamist sel viisil.
>> Ja siis näete tag requestFocus, mis on midagi, mida sa arvatavasti nägid pset 7.
Oli autofookus tag või midagi sarnast ühe valdkondades.
Ja üks asi, muidugi, me saame teha just nagu HTML,
ja teate üks tore asju ADT on see autocompletes siin.
Võib-olla mitte nii kenasti, nagu ta tegi XCode, kuid see siiski
ja me võiksime öelda vihje ja seejärel anda see mingi string
meeldib kirjutada sõnumi
ja kui ma annan see hetk, ka teate, et ma saan natuke viga siin
öeldes, et me peaksime kasutama string ressurssi,
nii et kui ma lase tal teha mõned raske töö minu jaoks
Oskan seda stringi teha refraktor Android ja ekstrakti Android string.
Ma ei anna see, et nimi, kirjutage sõnum,
ja mida ta nüüd on see asendatud et kodeeritud stringi
viitega string string on. xml faili
mis tähendab, nüüd on see siin.
>> Ja ma tean, et tundub veidi triviaalne ja nagu lisatöö selles punktis,
aga kui sul on terve hunnik asju, terve hunnik stringid,
see on tõesti oluline, ja eriti lokaliseerimine
sest nagu ma varem mainisin, Android on väga ülemaailmselt kasutatav operatsioonisüsteem
et saab lihtsalt teha väärtuspõhine en väärtustepõhisele sp
või midagi inglise või hispaania või muud keelt.
Ja siis te ilmselt ei olnud seda kogemust veel
sest me ei teinud palju JavaScript poolest veebi programmeerimine,
kuid saame teha ka selles valdkonnas nimetatakse onClick jaoks nupp,
ja see on viis viitamine jooksul meie paigutus
et me tahame teatud funktsioon, mida nimetatakse meie lähtekoodi.
Ma nimetan seda SendMessage,
ja selleks, et teha seda tööd, mis tähendab, et põhitegevusala siin
Mul on luua funktsioon, mis on avalik
nii et see pääseb paigutuse.
See on tühine, sest sa lihtsalt ei taha seda tagasi midagi.
Me nimetame seda SendMessage, ja see võtab arvates
mis on omamoodi kontekstis, et suudame kinnistada selle meetodi
selle isiku seisukohta, kui meil hakkab ta.
>> Ja ma ei tea, kas olete märganud, noh, te ei märganud,
kuid see punkt siin
see seisukoht on tüüp, mis ei ole veel kantud,
ja muidugi, te kõik teate CS50 kohta ei sisalda liigid.
Tore asi IDE nagu Eclipse on see, et
Kui te unustate hulka tüüp see rõhutama veidi punane väändunud
ja siis annab teile võimaluse importida silmas.
Kiire viis seda teha, mis on kontrolli vahetustega O ja siis importida
Kõik failid, mis ta vajab.
Nüüd, kui meil on see funktsioon SendMessage,
mis läheb saata sõnumi peamine tegevus uue tegevuse
me peame kasutama kavatsus alustada uut tegevust alates selle ühe,
nii me ilmselt tahavad luua ülemaailmne pidev või ka eriti avaliku pidev
mis aitavad meil teada, kuidas me läheme viitamiseks string
sest kui me loome kavatsusega me mitte ainult kutsutakse uus tegevusala,
kuid me saame anda ka see kimp teavet.
Kimp on tegelikult termin, et Android kasutab,
ja see on viis öelda, anna see pildi andmed, mida ta ei saa olla väga keeruline andmetüüp,
kuid me saame kindlasti sisaldama tõeväärtused või stringid või ints.
Et selline asi.
>> Julgelt küsida mõni neist kvalifitseerujad siin
avalik, lõplik, staatiline.
Avalik on oluline.
See tähendab, et suudame selle muutuja teistest lähtekoodi failid
nagu siis, kui me luua uue aktiivsus.
Me võime viidata string jooksul seda faili.
Kui see on privaatne, see tähendab, et see on piiratud selle üksiku faili siin.
Aga me nimetame seda midagi ekstra sõnum.
Nüüd oleme teinud seda funktsiooni, ja kui me nuppu, see funktsioon on kutsutud.
Aga me ei ole teinud midagi, ilmselt koos funktsiooni.
Mida me tahame teha, on nüüd uue tegevuse
tegevus, mis on tegelikult käivitatakse.
Eclipse saame öelda uue Android aktiivsus, tühi tegevus.
Me ei saa anda sellele nime.
Nimetagem seda meie tulemus aktiivsus.
Ja siis see hierarhiline vanem valdkonnas on viis täpsustades
kuidas tegevus on seotud üksteisega.
Sest see on käivitatud teise tegevuse
peaksime täpsustama, et ta on vanem põhitegevus.
>> Ja ma oleks klõpsanud järgmisele väljale seal, mis oleks meile öelnud
mõned vabatahtlikud väljad, et see oli ka kaasa,
kuid kena asi ADT jällegi on see, et kui ma keri siin
aastal Manifest meeles pidada, et see kõik oli tõesti vaikimisi kaasatud
kui me algselt loodud projekti
ja nüüd, sest me kasutasime seda luua uus tegevus, mitte ainult
Lisades oma klassi fail, sest me läksime läbi oma GUI seda teed
see on juba lisatud see kõik Manifest meile
mis tähendab lihtsalt, et nüüd operatsioonisüsteem ei kurda
kui püüame käivitada seda tegevust.
Ja see ka, muidugi, andis see silt, mis näitab ka üles stringe.
Ta teeb palju asju kolp meile.
Igatahes, nüüd, et meil on see tulemus tegevus samuti,
tegelik lähtekoodi faili allikas kausta
ja te näete, et põgusalt selle-
sest me rääkisime ta selle hierarhilise vanem
see andis selles valdkonnas android.r.ide.home selles onOption valitud asi.
>> Mis see on põhimõtteliselt öelda, on seal menüü nupp nüüd
et ülemises vasakus nurgas
kui ma lähen tagasi PowerPoint, kus me esimest korda rääkisime toimingureale
sest hierarhiline vanem nüüd on vähe nool tagasi siia
ja see on klikitav, et me peaks suutma-pärast me tegelikult kasutada seda app-
tagasi minna, ja see on viis säästa meid natuke kood seal.
Nüüd jooksul see-hästi, see tundub olevat kurtnud, et hetkeks.
Olgem kommenteerida selle välja.
Nüüd, et tegelikult kasutavad neid 2 tegevus,
me peame looma eesmärki, mis sisaldab kõiki neid andmeid.
In SendMessage nüüd ma lähen püsikiiruse läbi mõned bitti kood
ja selgitada, et kui ma lähen.
Kavatsus, nagu ma ütlesin, on nii, et käivitada ühe tegevuse teise.
Tahtlus on tüüp. Loome muutuja myIntent.
>> Ja see on tegelikult objekt, mis on põhjus, miks meil on kutsuda uus.
On tavaline, et Java kasutamine seal, mis võib võtta natuke harjuda.
See tähendab, et me kasutades tegevus või klass peamine tegevus,
ja tahtlikult niimoodi kulub tegevus see läheb alates
ja tegevus, et see saab, mida me nimetame ResultActivity,
ja mis on oma klassis.
Kaasa et.
Ja siis, kui ma mainisin, me andsime selle ID edit tekstiväli
ja teksti arvates nii, et programmiliselt lüüa
tekst, mis on olemas editText
me kasutame seda funktsiooni nimetatakse findViewByID,
mis on sarnane midagi, et saad kasutada, kui üritavad väljad DOM.
Ehk David räägib see loeng.
Aga see on lihtsalt viis, kuidas need, sellepärast me sildistada need asjad neis valdkondades.
Id.editText1.
See on juba autocompleting mind seal.
>> Ja siis ka-see editText nüüd, et meil on vallas
jooksul oma programmi, kõik, mis findViewByID ei olnud põhimõtteliselt
sa võiksid mõelda seda meile anda viide, et editText.
Nüüd tahame saada string või teade
jooksul, et editText mis me saame teha, kasutades-
sa võiks mõelda editText nagu struct-
me nimetame seda objekti Java-terve hunnik erinevaid meetodeid
või valdkondades ja atribuudid lisada.
Kui ma ütlen, editText. see annab mulle võimaluse tutvuda
meetod nagu gettexti, mis saab praeguses tekstis
selles editText ja seejärel teisendada see selgesõnaliselt
string, ja me oleme päästetud sõnum.
Nüüd me tahame midagi teha, et tahtlus me loodud just hetked tagasi.
Ma panen pildi nagu seda nimetatakse ka tahtlikult,
mis jällegi nagu ma enne ütlesin, see on viis, kuidas luua kimbu
koos terve hunnik andmeid.
Extra sõnum on meie tag nii et me teame, mida me salvestamisel all,
ja siis ma olen ka sõnum.
>> Ja siis me saame tegelikult alustama tegevust, andes parameetri myIntent.
Ja see tegelikult käivitada tegevus, nii et nüüd, sest ma uuendatakse Windows 8
seal võivad olla mõned vead, mis näitab lühidalt, kuid püüdke neid ignoreerida.
Ja see on Android emulaator.
Loodetavasti kood tegelikult avanes kohe.
Jällegi, unustades kõik need väikesed asjad.
Aga Android emulaator saate jäljendada tahes versiooni operatsioonisüsteemi
alates varaseimast ones, Donut, piparkoogid.
See on Jelly Bean 4.1.
Aga nagu näete kohe, et see on midagi, mida me teha.
See on peamine tegevus, editText, nuppu.
Ma ei kirjuta siia midagi, aga mida me puuduvad selles küsimuses?
Tegime selle valdkonna peamine tegevus, mis toimub, et saata sõnum
et muu tegevus, kuid siinkohal
me ei ole teinud midagi muud tegevust, nii et ta ei kavatse saada midagi.
Lőpetame et osa enne kui me edasi liikuda.
>> See tulemus tegevus, mida me peame tegema, on me peame tegema, on me peame-
saame ka viide kavatsuste jooksul see tegevus,
nii et meil on lüüa tahtlus, mis on tõesti lihtne.
See funktsioon sisaldub aktiivsus klassi
nii et me saame öelda "Get sõnumi kavatsus."
"Tahtlus myIntent = getIntent."
Ja see annab meile-nüüd myIntent on objekt,
mis on viide tahtlus, mis viis meid seda tegevust.
Peamine tegevus nõuab ja annab täiendavat teavet kaasa aktiivsus.
Tulemus aktiivsus nüüd vaadeldakse kavatsusega, et miks ta siin,
ja me ei pääse sõnum, mida me loodud teine,
getStringExtra, ja see automaatteksti minu jaoks.
Ja siis mäletan, kuidas me kodeeritud, et natuke andmeid
oli, andes talle selles valdkonnas siin, see avalik string,
mis on silt string me tegelikult ka.
>> Kui ma ütlen MainActivity.Extra_Message
See on seal, ja see on omamoodi nagu parameetri nimi
kui me möödunud kood töötleja malli
kui me ütleks, et pealkiri nool midagi.
See on sama mõte, seal.
Nüüd, mäletan seda.
Samuti oli see auto loodud või auto loodud kood
tulemuse jaoks tegevus, mis sisaldab teksti vaade keskel
mis ütleb tere.
Me võiks teha, et suurem.
Teeme seda esimest.
Me võiksime teha 40 tihedus sõltumatu pikslit.
Vaatame, mis on super suur. See on okei.
Ja siis, et võrrelda seda üksikute tekst vaate meie kood
me peame andma see ID,
ja selleks, et teha, mida me ütleme @ + id, mis tähendab, et me määrata see ID.
Kui me just ütles @ id oleks eeldada, et me viitamine ID, mis on juba olemas,
ja olgem nimetame seda meie resultTextView.
Ja teate, et XML ei ole vaja semikooloniga või midagi.
Kõik on sees need sildid.
See on väga sarnane HTML palju meeli.
>> See võtab natuke harjumist, kuid lõpuks tunnete end päris mugavalt seda.
Olgem teksti ajakohastada meie tulemus tekst meelest
ja kui me tegime, kui me ei saada, et muuta tekstivälja meie muu tegevus
aastal peamine tegevus siin me ka samamoodi-
leiame vaadet ID.
Ja R, juhul ma ei maininud seda varem, on viide meie ressursside kausta
ja siis ID on viide kõike ressursside kausta kõik sümbolid,
ja resultTextView.
Ja nagu enne, resultTextView on objekt,
mis tähendab, et ta on kõik need omadused, mis on seotud sellega.
Kui me kasutame gettexti eest edit tekst selle teksti välja või teksti vaade
saame tegelikult kasutada setText,
ja siis me juba leitud sõnum tahtlus,
nii et ma ei saa öelda, sõnum, ja see on tegelikult määratud sõnum.
>> See hetk käivitada, ja siis saame näha, kas see kokku jookseb,
vaid küsimusi, mis protsess seal, et selline koostoime?
Paljuski on see arusaadav.
Põhjus, miks ma elan midagi läbi suhteliselt lihtne
on jälle, sest sa saad näha vastastikmõju paigutus,
lähtekoodi, kuidas te viite asja
ja võib-olla natuke kokkupuudet kuidas Java töötab seal.
Kui ma tegelikult kirjutada midagi siin, nagu Ohai ja siis ma vajutan nuppu,
see käivitab uue tegevuse ning teksti silmas ütleb Ohai.
See on väga lihtne, kuid loodetavasti pärast, et näiteks
sa omamoodi aru, kuidas see seos toimib, ja nüüd, et jama failid
vasakul küljel, et kõik need projekti kaustad, loodetavasti sa tead, kust otsida praegu.
See on oma lähtekoodi ala.
>> Layout on tõesti ainus asi, mida sa tegelema enne, kui lisada pilte
ja drawables või mis iganes, ja väärtused, mis sisaldavad stringe,
kui me rääkisime, ja siis stiilid on midagi, mis on omamoodi nagu CSS.
Lahendamiseks, kui soovite, kuid seni, kuni te tunnete end mugavalt lisades täiendavat elegantsi
teie taotlusele ei ole vaja muretseda liiga palju.
Just pakkima üks teine ​​asi, mida kindlasti tahan lisada-
eeldades soovite integreerida jahe funktsioone ja säästa ennast mõned ekstra kodeerimise-
oleks lisada 3. osapoole teeke.
Siin on väike Android kutt Sherlock Holmes müts.
See on tegevus baar Sherlock raamatukogu
mis põhimõtteliselt tähendab, et tegevus baar nägid varem
mis on nüüd standard Ice Cream Sandwich ja Jelly Bean,
kui soovite tuua, et mingisugune kasutaja kogemus kasutajatele vanemad versioonid
ning säästa end muretsema, kuidas kasutaja saab liikuda
vanemad versioonid kui et asi ei ole seal saate lisada selle raamatukogu
ja siis sa lihtsalt pead viide-mitte vaikimisi Android
raamatukogud toimingureale te viite selle toetuse raamatukogu.
>> Asjad Scoreloop, see on tore, kui sa lähed lisada mängu.
See võimaldab teil lisada liider lauad ja saavutusi mängud.
AdMobi on võimalus panna reklaame oma rakenduste
kui sa tahad teha natuke raha välja sellest.
Muidugi, seal on Facebook ja Twitter, et integreerida seal
kui sa tahad jagada asjad lihtsalt, jne.
Dropbox, samuti, ja Google Analytics on see, et skeem otsin kedagi.
See on väga oluline, kui sa tegelikult tahad näha, kes suhtlevad
teie app või kes see on, kuidas nad suhelda, ja nii edasi.
Google, vaikimisi ütleb teile palju statistikat selle kohta, kes on paigaldatud oma app
ja mida telefonid neil, millist operatsioonisüsteemi versioonid nad on.
Aga kui sa tahad näha, kes kasutab seda iga päev ja kuidas nad kasutavad seda
siis tahad, et lisada mingisugune jälgimise süsteem niimoodi.
>> Kui sa oled valmis, et levitada oma app
Ma ei pea minema, et liiga palju sügavust.
Kliki linki siin, Google Play.
Seda, Android turg.
Nad kaubamärgi alla kõik Google Play,
nii et nüüd te esitate selle.
See on väga lihtne.
Sa pead lisada kirjeldus, mõned pildid.
Nagu ma ütlesin, ei ole kinnitamise protsessi nagu iOS.
Ja kuhu minna siit?
Ma näitasin teile tõesti lihtne näide.
Loodetavasti, kui see tundub kohutavalt lihtne
siis see on ilmselt hea märk.
Kui te üldse tunda natuke segaduses või kindel täpselt, mida ma kirjutades
see on ka hea, kuid siit minema Google juhendid.
See on hea koht alustamiseks.
Ta selgitab teile, mida nad loodavad nii taotluse disain,
kuidas kasutajad tavaliselt suhelda ta.
See on palju rohkem vabas vormis kui iOS, ma ütleksin,
mis tundub nagu laud vaated-Ma ei tea, see on nende leib ja või.
Kõik on Lauas libistades üles ja alla.
Android nad kindlasti julgustada inimesi vaadata nii
terve hunnik erinevaid vaatenurki.
>> Kui lisada Tarkvaraarenduskomplekt selles ADT
vaikimisi sul terve hunnik proovi projekte Android.
Siinsamas, Android, Android Proovi Project.
Kui ma vajutan et siis ma saan valida versioon, mille proovi projekte taotleda.
Seal on terve hunnik erinevaid asju siin.
See hakkab liikuma tegevus baar ühilduvuse
kiirendusmõõtur mängida, varundada ja taastada, Bluetooth, žest ehitaja.
JetBoy on proov mäng nad teile, kui on LunarLander.
Seal on terve hunnik näidisrakendusi siin
ja nad kõik on suunatud eri aspekte Android API,
ja mõte on selles, et kui te teete oma taotluse
sa ei pea õppima kõike Android teha Android app.
Teil on vaja ainult õppida neid osi, mis sa tegelikult ei kavatse kasutada.
Vaata neid valimi raamatukogudes.
Julgelt kopeeri ja kleebi kood ja uuesti seda.
See on suur asi, mida pilk keerulisem kood
ning püüda mõista seda, mis on muidugi, miks CS50
me sageli annab teile suure hulga lähtekoodi.
Vaata mõned neist, kui te ei kavatse kasutada sarnaste raamatukogud
ja seejärel rakendada seda oma koodi.
Ja muidugi, seal on õpetused.
Otsi tutorials.
Ma leidsin palju head internetis, mis võib tuua teile kiirendamiseks
mida killud tõesti on ja kuidas neid kasutada.
>> Mõned neist disain asju, nagu killud,
sa tõesti ei pea olema mures, kui sa üritad
päris suur ulatusega projekti.
Need on asjad, et Google püüab järk sisse
Stackoverflow on muidugi sinu sõber.
Loodetavasti ma müüsin sulle natuke Android,
mõistes on see palju lihtsam läheneda nii lihtsalt kodeerimine keeles.
Java on ma ütleks palju lihtsam aru saada kui Objective-C.
Android kasvab ma arvan palju rohkem kui iOS.
Ma mõtlen, et andmed on seal liiga kõrvale, mida ma arvan.
See saab olema umbes mõnda aega,
ja nad on paar aastat taga poolest disain tsüklit,
nii et see on omamoodi mõistetav, et nad veel töötavad läbi mõned neist
järjepidevuse küsimusi, nagu selle meetme baar on uus asi neile ikka,
omamoodi luua sarnane kasutaja kogemus kõigi oma apps.
Loodetavasti saab minna edasi nüüd ja avada Eclipse
ja teha oma Android apps.
>> Kas kellelgi on mingeid küsimusi, enne kui me pakkima midagi?
Võin teile öelda, et vastus on 42.
Noh, õnnelik kodeerimine kõigile ja õnne.
[CS50.TV]