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