[Powered by Google Translate] [Seminar] [Android Apps (Issa ma Fażola Jelly!)] [Ġordan Jozwiak] [Harvard University] [Dan huwa CS50.] [CS50.TV] Hello kulħadd, u jilqgħu għall-apps Android (Issa ma Fażola Jelly!) Seminar. Huwa sejjaħ Issa ma Fażola Jelly, naturalment, għaliex l-aħħar verżjoni ta 'l-OS huwa msejjaħ Jelly Bean. Meta I tkellem dwar Android aħħar sena u għamilt dan bażikament istess seminar I kien jippreżenta l-mudelli tad-disinn u l-għażliet stilistika għall Gingerbread, anki jekk Sandwich Ice Cream kienet waslet fil-ħin, u din hija xi ħaġa aħna ser jitkellmu dwar miexi 'l quddiem ftit. Android, naturalment, għandha xi kwistjonijiet mal-frammentazzjoni, sabiex is-sistema operattiva aktar tard Google hija normalment mhux verament se ssir komuni fost l-utenti għall potenzjalment sa sena, sfortunatament. Imma mingħajr konsiderazzjoni dan, aħna ser nitkellmu dwar ħafna raġunijiet għaliex Android hija ħafna aħjar minn IOS. Okay, aħna ser nitkellmu dwar Android versus IOS, xi mudelli tad-disinn, kif inti ser tingħata stabbiliti biss wieħed slide, u d-differenza kbira bejn din u s-sena li għaddiet hija I biss jixtiequ zoom permezz ta 'xi affarijiet kunċettwali li jaħdmu ma' is-sistema operattiva u mbagħad mur fis-eżempju verament bażiku. Fil-fatt, biss l-eżempju li Google jiddeskrivi għall-bini ewwel app tiegħek, u aħna ser jgħaddu minnha flimkien u biss tiddeskrivi. Naf ħafna minnkom biss kodifikati C, hekk Java huwa diġà se tkun perspettiva differenti, u b'dan il-mod int ser tingħata saqajn tiegħek imxarrab u tħoss ftit aktar komda magħha nisperaw. Sommarju ta 'malajr, Android versus IOS. Fil Android hemm dan il-ħlas iżviluppatur ta 'darba ta' $ 25, xejn minn dan ħaġa $ 100 kull sena. M'hemmx restrizzjonijiet, li jfisser li jekk irrid li jissottomettu app, I biss jissottomettih, u hemm ebda proċess ta 'approvazzjoni bħal hemm għall IOS. Ikollok biex tiżviluppa mal Java jużaw Eclipse, li hija pjattaforma transkonfinali, hekk ma jimpurtax jekk għandek Mac, Windows, jew xi magna Linux. Of course, ma IOS inti għandek tuża Xcode fuq Mac, u Android huwa użat minn ħafna aktar nies, jekk hekk tixtieq app tiegħek li jkollhom xi tip ta 'viżibilità jew forsi jagħmlu ftit flus minn reklami inti probabilment qed aktar probabbli li jibbenefikaw minn Android. U ħaġa waħda li dejjem kien magħruf dwar Android huwa l-ammont estrem ta 'customization, filwaqt IOS huwa ffissat ħafna fil-modi tagħhom sabiex ikunu jistgħu jżommu sigurtà u kontroll fuq kull aspett ftit tad-disinn fi ħdan OS tagħhom u l-apps individwali. Android huwa f'forma ħielsa ħafna, u hemm tant aktar possibbiltajiet. Okay, xi mudelli tad-disinn. Avviż hawn bħad IOS għandha pilloli u iPhones u jmiss iPod huma għandhom jappoġġjaw, ngħidu aħna, bħal xi strumenti tużżana jekk inti tixtieq li tappoġġja affarijiet storiċi kif ukoll. Bil Android inti għandek appoġġ mijiet ta 'mezzi, hekk hemm xi affarijiet li Google qed jippruvaw jimplimentaw biex jagħmlu l-utent esperjenza ftit aktar konsistenti, imma aħna ser nitkellmu wkoll dwar kif dan ifisser li hemm kwistjonijiet ta 'frammentazzjoni li inti dejjem għandek tkun konxju ta 'sostenn. Frammentazzjoni ifisser li hemm ħafna sistemi differenti operattivi, telefowns ħafna differenti hardware differenti running Android kollha fl-istess ħin, hekk din il-graff hawnhekk tmur lura għal madwar 6 xhur. Yeah, 6 xhur, u tista 'tara kif il-medda l-aktar skur fuq il-qiegħ huwa Jelly Bean, li ħareġ matul is-sajf, u tista 'tara dritt issa probabbilment madwar 2% mill-telefowns jkollhom dan. Sandwich Ice Cream ħareġ aktar minn sena ilu, u kwart ta 'l-telefowns jkollhom dan. Għad hemm ħafna ta 'telefons li qed jużaw verżjoni OS minn snin ilu. Ħaġa waħda li Google ppruvat tagħmel biex jagħmlu l-esperjenza utent ħafna aktar konsistenti madwar apps li jibda bl Honeycomb, li hija l-verżjoni pillola, allura Ice Cream Sandwich u Jelly Bean, dawn qed verament jippruvaw jenfasizzaw użu ta 'din l-azzjoni bar, li huwa dak li tista 'tara fil-quċċata hawn, kollox dritt hawn, inkluż din il-buttuna settings ftit. Hu l-għażla tad-disinn. Issa, kull meta inti tara l-tikek 3 jfisser ikklikkja fuq dan, u se jkun hemm menu drop-down, li għandu xi tip ta 'settings. Dan juri biss up minħabba I għafast fuq din il-buttuna. Din hija xi ħaġa li dawn qed jippruvaw jużaw biex jagħmlu apps ftit aktar konsistenti madwar l-bord u sabiex l-utent għandha sens aħjar ta 'esperjenza uniformi. Okay, hekk fil-każ int ma jsir dan diġà jew jekk inti qed jaraw fid-dar allura inti tista 'ssegwi dawn il-passi biex twaqqaf ambjent kodifikazzjoni tiegħek. Dan se jinvolvi tmur fil-websajt hawn. Tista 'Google Android SDK installazzjoni u ssegwi ċerti deskrizzjonijiet hemmhekk. Huma jgħidulek dak kollu. Huma jkollhom inti tinstalla l-SDK, download Eclipse verżjoni Classic, anki jekk, naturalment, aħna qed kodifikazzjoni Java. Huma jirrakkomandaw dan wieħed, u allura dan ADT, l-iżvilupp Għodod Android, huwa plugin li inti jinstallaw fis Eclipse li tippermetti li inti jkollhom esperjenza ferm aktar semplifikati bi Android ġewwa Eclipse. Huwa se jagħtik xi interfaces grafika user għat-tfassil tal-fehmiet, u se jagħtik ħafna aktar appoġġ u l-abbiltà li tniedi ma 'l-emulator u dak kollu li tip ta' ħaġa. Applikazzjoni qafas. I trid titkellem dwar kif il-proġetti fi ħdan Android huma strutturati, u mbagħad aħna ser imorru fis eżempju ta 'malajr, u nisperaw inti tista 'tistaqsi mistoqsijiet fi kwalunkwe punt u jħossu komdu sa l-aħħar ta' dan. Għandna xi lingwaġġ ewwel. Attività huwa bħall-iskrin inti tara meta inti tniedi app. L-esperjenza kollha hija l-attività nnifisha, sabiex inti tista 'taħseb bħala skrin jew ħsieb, iżda huwa attwalment il-ġenb kodiċi sors ta 'dan. Aħna xorta jsejħu l-parti interface attwali minnu ħsieb. Huwa tip ta 'prodotti simili kif fil pset 7 kellna l-kontrollur u mbagħad l-opinjoni. L-attività huwa iktar jew inqas il-kontrollur, u l-opinjoni huwa dak li aħna qed tagħmel f'termini ta 'l-XML li huwa assoċjat ma 'dik l-attività. Frammenti huma xi ħaġa li implimentat Sandwich Ice Cream miexi 'l quddiem. Huwa biss idea ta 'teħid partijiet tal-fehma jew l-attività u qassmithom bejn żoni separati sabiex inkunu nistgħu jagħmlu kodiċi tagħna aktar użabbli għal dawn il-mezzi differenti ħafna li għandna għall-appoġġ, u huwa biss mod ta 'tipprova wkoll fattur taf aktar kodiċi. Servizzi huma affarijiet isfond simili playing mużika jew direzzjonijiet tan-navigazzjoni potenzjalment. Fornituri tal-kontenut, dawn huma APIs fis-sistema operattiva li jippermetti li inti aċċess data komuni bħal-informazzjoni ta 'kuntatt, u mbagħad intenzjoni hija xi ħaġa aħna ser tuża meta rridu li tniedi attività ġdida mill-attività attwali tagħna. Hello Android, dan se jkun proġett li aħna ser nitkellmu dwar. I ser attwalment jagħmlu dan għalik, u mbagħad aħna ser nagħmlu xi ħaġa fejn aħna ikklikkja l-buttuna ma 'xi test u tniedi attività ġdida. Sempliċi ħafna, imma nixtieq li jgħaddu dak li se jmorru fi proġett bħal dan. Meta inti tagħmel l-proġett il-ġdid tkun taf tara fil Eclipse hemm dan proġett imsejjaħ Hello Android. Imbagħad hemm mazz sħiħ ta 'folders hawn. Dawk int verament kkonċernati huma s-folder sors, il-folder tar-riżorsi, il-res, u sa ċertu punt il-folder libs għal-libreriji. U biss hekk aħna qed dwar l-istess paġna ma 'dak jekk ġejt biex joħolqu proġett ġdid, inti tista 'tagħmel dan id-dritt hawn, hekk jekk irrid li hija sejħa HelloAndroid, u allura awtomatikament ma mazz sħiħ ta 'l-informazzjoni għall us. L-isem pakkett suppost tkun identifikatur uniku li normalment ikunu assoċjati mal-websajt, jekk kellek waħda. Per eżempju, I se sejħa dan net.cs50.helloandroid. U jien diġà għamlu dan il-proġett darba. Okay, sorry. Ejja sejħa hija HelloCS50. U mbagħad se titlob affarijiet simili x'tip ta 'ikona nistgħu jixtiequ jagħmlu. Dan huwa minħabba l-Android Developer Tools interface, il-plugin li aħna miżjud għall Eclipse, sabiex inkunu nistgħu jagħżlu affarijiet simili dak ikona li rridu, u li jmorru fil-fond li jekk irridu. Iżda fl-aħħar, biss tagħmel il-proġett, u kollox turi up dritt hawn. Kif I wera fuq l-iskrin oħra, aħna għandna l-folder sors, u jien ser jitkellmu dwar dak li dan kollu jfisser dalwaqt, imma int tista 'tara li immedjatament tieħu magħna biex l-iskrin HelloCS50. Hemm xi buttuni fuq hawn biex jiżdiedu test u test layouts qasam. Huwa tip ta 'prodotti simili Xcode imma sfortunatament mhux daqshekk effiċjenti. Iżda l-clips se tkun ħabib tiegħek u ADT b'mod partikolari biex isir dan. Okay, l-folder sors huwa fejn l-fajls Java huma miżmuma, u dan huwa fil-fatt it-tnedija tal-programm tiegħek. Huwa bażikament bħall-kontrolluri. Il-folder tar-riżorsi jew il-res huwa fejn aħna ser iżommu layouts iskrin, immaġini, ħsejjes, test, animazzjoni u kull ħaġa oħra, libs, ovvjament, libreriji. U l-Manifest, huwa l-mod li s-sistema Android jaf kif jinteraġixxu mal app tiegħek. Hija jgħidlekx dwar permessi u liema attivitajiet attwalment se titmexxa. Dan kollu l-informazzjoni essenzjali li l-bżonn biex imexxu app tiegħek. Il-folder sors huwa 'jekk aħna jespandu dan kif inti tista' tara dritt hawn. U eżempju li kodiċi look-dan huwa l-kodiċi default. Kif aħna hija imsejħa, MainActivity. Konvenzjonalment, irridu jiksbu onCreate, li huwa funzjoni li sejjaħ meta tagħbijiet din l-attività, sabiex inti tixtieq li sejħa onCreate (savedInstanceState). Dan se jirrestawraw xi bits ta 'informazzjoni f'każ li l-app kienet waqfa qasira. Hemm attività chart ċiklu kollu tal-ħajja li inti tista 'tħares lejn meta ikollok ftit aktar fil-fond fiha, iżda l-linja l-aktar importanti tal-kodiċi hemm din il-funzjoni setContentView li se tagħbija-fajl riżors għall-format. Imbagħad dak onCreate hawn hija bażikament tagħmel huwa kien qal meta I joħolqu din l-attività nixtieq li tagħbija dan id-disinn. U aħna ser nitkellmu dwar dak li l-firxa hija fit-tieni. Jekk konna li tniedi li hawn jidher eżattament bħal dan, u awtomatikament għaliex għandna eklissi tagħmel dan u ADT tagħmel dan għalina din hija kollha kodiċi boilerplate li ħolqu għalina, u nistgħu jimxu fuq u l-bidla l-affarijiet kif aħna simili. Il-folder riżorsa, bħal I said, dan huwa fejn aħna istiva layouts kollha, drawables f'termini ta 'kwalunkwe tip ta' immaġini dawn qed jissejjaħ drawables-u mbagħad fajls tal-ħoss, menus. Huwa mod ta mazz sħiħ ta 'XML b'mod magħżula sbieħ. Kif tistgħu taraw, hemm. Hdpi, ldpi, mdpi u folders xhdpi għall-drawables. Dawn huma densitajiet iskrin differenti, pixel densità tant għolja għal kull pulzier, densità baxxa, densità medja, densità għolja extra. Dan huwa, għal darb'oħra, hekk nistgħu nappoġġaw kollha dawn il-mezzi differenti, u idealment, ser ikollok immaġini differenti għal kull riżoluzzjoni differenti. Layouts huma fejn aħna jinkludu l-taqsim differenti li se jintużaw fl-attivitajiet differenti. Jistgħu jinkludu wkoll taqsim għall frammenti, li tfisser attivitajiet parzjali bażikament. Jekk inti tixtieq li tagħmel xi ħaġa jibred simili kull meta inti dawwar il-phone inti tixtieq li jkollha tqassim differenti inti tista 'tagħmel layout-pajsaġġ bħala folder differenti, u Android awtomatikament għandha mazz sħiħ ta 'dawn ir-regoli fil-folder tar-riżorsi, għalhekk se tkun taf biex tħares lejn folders differenti bbażati fuq il-setup attwali tal-telefon, x'tip ta 'hardware inti qed tuża. Bl-istess mod, din il-valuri-V11 hawn u l-valuri-v14 u l-valuri awtomatiċi folder dan huwa għall- ukoll, il-valuri minnu stess, din se tkun l-valuri awtomatiċi madwar verżjonijiet kollha tas-sistema operattiva. Min-naħa l-oħra, V11 u v14 jikkorrispondu mal Honeycomb u Ice Cream Sandwich, rispettivament. Għal darb'oħra, dawn huma modi li fi ħdan dawn folders-kordi huma differenti u stili, sabiex inti tista 'customize-dehra ta' app tiegħek jew potenzjalment anke funzjonalità tagħha, għalkemm dan probabbilment tkun idea ħażina, ibbażata fuq il-verżjoni tas-sistema operattiva. U I tkellmu dwar dan kollu hawn. Għal darb'oħra, drawable, prima, tqassim, il-valuri. Il-nuqqasijiet, jekk immorru fis Hello Android jew Hello CS50 dritt issa se tfittex biss bħal dan. Hija se ngħid bonjour dinja. Kif tistgħu taraw dritt hawn mat-test Android it-test għal din l-opinjoni it-test, li huwa bażikament biss tikketta, huwa dak li nixtiequ sejħa hija fil IOS. Dan ikollu din notazzjoni umoristiċi @ string / hello_world. Dan huwa hekk nistgħu-aħna tentattiv biex jiġi estratt kollha tal-kordi, kollha tal-kordi hard-kodifikati Android ġo folder separata, li jiġri li jkun fil values.strings. Jekk nagħtu ħarsa hawn, nistgħu naraw li għandna string hard-coded salvati hawn għal dinja hello, u huwa msejjaħ dinja hello, u dan huwa tip ta ' deċiżjoni disinn komuni madwar pjattaformi ħafna li inti tixtieq li- kordi huma t-tip ta 'affarijiet li rridu potenzjalment tkun kapaċi li jibdlu. Aħna ma jridu jikkontrollaw F fil tagħna file source code XML tagħna. Aħna rridu li tkun kapaċi li jibdlu dan kull meta irridu jiksbu l-opportunità. Dan il-fajl XML, strings.xml, huwa mod ta 'estrazzjoni kordi hard-kodifikati li altrimenti jkunu fir-riżorsi tqassim tagħna jew fil-kodiċi sors tagħna. Il-Manifest huwa fejn inżommu din l-informazzjoni essenzjali dwar l-applikazzjoni. Dan jinkludi l-isem pakkett. Li għandu jkun identifikatur uniku. B'differenza mill-Aħżen App għall IOS-ismijiet tal-applikazzjonijiet ma tkun unika, u inti tista 'fil-fatt jinbidel l-isem ta' l-applikazzjoni tiegħek wara li inti tissottometti dan, hekk jekk I tibda bil Għasafar Angry, u mbagħad I jagħmlu aġġornament, u ma rridx li jirrilaxxa verżjoni ġdida I raden I jistgħu sejħa hija Għasafar Angry 2 filwaqt li jien fuq l-istess ċiklu rilaxx. Ikun biss juru up bħala aġġornament. L-unika ħaġa li għandha tkun unika hija b'dan l-isem pakkett, li ma ħafna nies se tara. Well, youd biss tara jekk inti kienu qed ifittxu fil-kodiċi sors jew jekk ikun hemm xi tip ta 'żball. Il-komponenti jinkludu attivitajiet, hekk aħna li jiddikjaraw kwalunkwe tip ta 'attività nużaw. Dan huwa tip ta 'permess ħaġa. Minħabba Android ma jkollux dan il-proċess applikazzjoni rigoruża għas-sottomissjoni apps minflok huma biss ma kollox ibbażata off ta 'permessi u tiddikjara l-affarijiet fil-Manifest. Il-verżjoni SDK hija wkoll importanti. Nistgħu stabbilit użu bħala SDK xi ħaġa verżjoni minimu. Ovvjament, inti tixtieq li joħolqu kodiċi u d-disinn għall-sistemi operattivi ġodda. Forsi mhux l-aktar ġodda, forsi mhux Jelly Bean. Forsi inti tixtieq li disinn primarjament għall Sandwich Krema Silġ, għalkemm huma pjuttost l-istess f'termini tal deċiżjonijiet tad-disinn u l-libreriji attwali u APIs. Iżda minflok li n-nies tal-Android oriġinali verżjoni like donut mod lura meta- li għadhom jiġri li tkun qed tuża li jippruvaw li tniżżel l-applikazzjoni tiegħek u mbagħad jgħidu din ma taħdimx fuq il-mobile tiegħi inti tista 'tistabbilixxi l-verżjoni minima u li hija tkun Gingerbread jew Ice Cream Sandwich jew dak li tħoss iressqu komdu. U dan huwa eżempju ta 'l-Manifest. Nistgħu nħarsu lejn l-waħda reali fi ftit. Okay, aħna ser biss jmorru 'l quddiem ma' l-demo issa. Dan huwa l-demo jekk inti Google Android jibnu l-ewwel app tiegħek jew xi ħaġa bħal dik. Aħna ser jgħaddu dak kollu li għaddej fil hemm, u sorry, biss għall-referenza li hawn jaf Java sa kwalunkwe limitu? Okay, so Java huwa lingwa ġdida kodifikazzjoni għal ħafna nies li ġejjin mill-CS50. Fil-qosor, li jmorru fuq darb'oħra dak li jgħid hawn, dak li rridu nagħmlu huwa pjuttost milli taġġusta din l-applikazzjoni Hello dinja li kollox ma huwa tniedi u jgħid dinja bonjour u jgħid bonjour CS50 fil-quċċata minħabba li l-isem attività aħna qed tmur biex tipprova tagħmel qasam tat-test u buttuna b'tali mod li meta aħna istampa din il-buttuna se tieħu t-test mill-qasam tat-test u tniedi attività ġdida, u se ngħid tkun xi tkun li t-test qal fl-attività, u dan huwa relattivament sempliċi. Mhuwiex interessanti ħafna. Inti ma tkunx tixtieq li jirrilaxxa kwalunkwe app bħal dan. Iżda huwa juri xi affarijiet importanti tad-disinn. Aħna ser ikollhom jinteraġixxu mal-Manifest, bil-fajls tqassim, mal-kodiċi tas-sors, u tista 'tara kif tniedi attività waħda minn oħra. Aħna ser tibda bil-format għall-ewwel attività tagħna, li naf huwa tip ta 'intrapriżi żgħar, imma kif tista 'tara dritt issa, kollox huwa huwa għandu logo tagħna li aħna maħluqa, l-isem attività, u jgħid dinja bonjour fiċ-ċentru. Minflok, jien l-ewwel ser jagħmlu dan fi tqassim lineari, tqassim relattiv, u dawn huma kollha affarijiet inti tista 'tfittex up u jkunu jiswew għaddej matul f'xi punt fir-rigward tal-taqsimiet. Huwa ħafna bħall HTML. Għidna mhuwiex verament min jafu f'termini ta 'sens programmatiku, iżda hemm taqsim differenti tant inti tista 'kontroll, u huwa biss bħal CSS f'termini ta 'stili. Hemm ħafna għaddej biss f'termini ta 'l-estetika hawn, u yeah, huwa tagħlim worth, imma hija l-tip ta 'ħaġa li għandek tfittex up kif inti tmur u tħoss bħal għandek bżonn xi ħaġa ġdida. I tista 'tieħu vantaġġ ta' xi wħud mill-għodod ADT hawn inqas biex tibda off ma. I ser tagħmel qasam tat-test, u jien se tagħmel buttuna. Jqiegħdhom dritt ħdejn xulxin. Huma diġà resize xieraq. Jiddispjacini, għal darb'oħra, li jkunu ġejjin lura għad-differenza bejn tqassim lineari u t-tqassim relattiv, tqassim lineari jagħti funzjonalità ftit aktar f'termini ta 'mili l-ispazju u l-iżgurar Aħna pożizzjoni affarijiet orizzontali jew vertikali. Id-differenza kbira bejn tqassim lineari u arranġament relattiva huwa l-format relattiv pożizzjonijiet kollox relattiva għal opinjonijiet oħra, u l-ħaġa tajba dwar dan huwa li jieħu inqas ħin biex tiġbed għaliex is-sistema operattiva tħares lejn l-kodiċi u jgħid dan imur relattiva għal dan hawnhekk, hawnhekk. Dan ifisser jagħmel kejl inqas minn mazz sħiħ ta 'layouts lineari nested, li nixtieq għandek tagħmel jekk jien ridt affarijiet li jmorru vertikalment hawn. I diġà għandhom xi affarijiet għaddejjin orizzontalment, so I bżonn ta 'tqassim lineari differenti li bejta minnhom vertikalment, imma jekk jien kienu qed jagħmlu tqassim relattiva nista 'ngħid iżommu din ix-xellug, dan id-dritt u dawn l-affarijiet hawn taħt. Iżda minħabba I tixtieq li timla dritt issa jien ser tuża tqassim lineari, u tista 'tara diġà ma ħafna ta' dawn l-affarijiet għalina. Opinjonijiet kollha jeħtieġ li jkollhom proprjetà ta 'wisa' u għoli, u dan jiġri li jkollhom piż ta '1, u dan għandu piż ta' 1 b'tali mod li timla l-ispazju kollu. Iżda l-wisa 'u għoli huma l-aktar importanti. Dan il-qasam ID dritt hawn mhix importanti fi ħdan it-tqassim attwali sakemm aħna qed tuża tqassim relattiva u qal nistgħu referenza pożizzjoni perspettiva waħda fir-referenza għall-ieħor. Jekk kellna tqassim relattiva nistgħu ngħidu pożizzjoni dan hawn isfel dan wieħed jew aktar f'dan ID, iżda dan se jkun importanti ID meta aħna qed tużah kodiċi tagħna għaliex aħna tista 'referenza dawn l-opinjonijiet individwali b'dan il-mod. U allura inti tista 'tara l-requestFocus tikketta, li hija xi ħaġa inti probabilment raw pset 7. Kien hemm fokus tag auto jew xi ħaġa flimkien dawk il-linji għal wieħed mill-oqsma. U ħaġa waħda, naturalment, nistgħu nagħmlu eżatt bħal fil HTML, u avviż waħda mill-affarijiet sbieħ dwar ADT huwa li autocompletes hawn. Forsi mhux bħala nicely kif għamlet fil Xcode, iżda ma madankollu, u nistgħu ngħidu ħjiel u mbagħad jagħtuh xi tip ta 'spag bħal jiktbu messaġġ, u jekk I tagħtiha mument, ukoll avviż li niġi żball ftit hawn qal li għandna nużaw riżorsa string għal dan, hekk jekk I let do xi xogħol diffiċli għalija Kapaċi nagħżel din is-sekwenza, do refractor Android u estratt Android string. I tista 'tagħtiha dak l-isem, jiktbu messaġġ, u dak li issa ma huwa sostitwit li string hard-coded b'referenza għall-sekwenza fil. fajl XML-sekwenza, il- li jfisser issa dan huwa hawnhekk. U naf li jidher xogħol żejjed trivjali u bħal ftit f'dan il-punt, imma meta jkollok mazz sħiħ ta 'affarijiet, mazz sħiħ ta' kordi, li tassew importanti, u partikolarment għall-lokalizzazzjoni għax kif semmejt qabel, Android hija sistema operattiva użata ħafna globalment li inti tista 'sempliċiment tagħmel valuri-en jew il-valuri sp jew xi ħaġa għal-lingwi Ingliż jew Spanjol jew oħrajn. U allura inti probabilment ma kellhom din l-esperjenza s'issa peress li aħna ma jagħmlu ħafna JavaScript f'termini ta 'pprogrammar web, iżda nistgħu wkoll tagħmel il-qasam sejjaħ onclick għall-buttuna, u dan huwa mod ta 'referenzar fi ħdan tqassim tagħna li rridu funzjoni żgur jintalbu fil-kodiċi tas-sors tagħna. Jien ser sejħa dan sendMessage, u sabiex jagħmlu dan ix-xogħol li jfisser l-attività prinċipali hawnhekk I se jkollhom biex joħolqu funzjoni li hija pubblika sabiex ikun jista 'tiġi aċċessata mill-format. Huwa null għaliex inti biss ma jridux li jirritornaw xejn. Aħna ser sejħa hija sendMessage, u li tieħu ħsieb, li huwa tip ta 'kuntest li nistgħu jankra dan il-metodu din l-opinjoni individwali meta aħna qed taħdem dan. U jien ma nafx jekk inti ndunat-tajjeb, inti ma ndunat, iżda f'dan il-punt dritt hawn din il-fehma hija tip li ma ġewx inklużi, u ta 'kors, inti lkoll nafu minn CS50 dwar li ma inklużi tipi. Il-ħaġa sbieħ dwar IDE dinja bħall Eclipse huwa li jekk tinsa li jinkludi tip li se tenfasizza bi ftit aħmar squiggly u mbagħad jagħtuk l-għażla li jimportaw il-fehma. A quick mod ta 'kif isir dan huwa l-kontroll shift O, u se importazzjoni il-fajls kollha li hemm bżonn biex. Issa li għandna din sendMessage funzjoni, li se tibgħat il-messaġġ mill-MainActivity għal attività ġdida, aħna qed tmur biex ikollhom jużaw intenzjoni li tniedi l-attività l-ġdida minn dan wieħed, hekk aħna ser probabbilment tixtieq li toħloq kostanti globali jew wkoll partikolarment kostanti pubbliku li se tgħinna taf kif aħna qed tmur biex referenza l-sekwenza għaliex meta aħna joħolqu intenzjoni aħna qed mhux biss ssejjaħ attività ġdida, iżda nistgħu wkoll tagħtiha a bundle ta 'informazzjoni. A bundle huwa effettivament il-terminu li Android użi, u huwa mod ta 'tgħid jagħtuh data żejda, li ma tistax tkun ta' tip data sofistikat, iżda nistgħu definittivament jinkludu Booleans jew kordi jew INTs. Li tip ta 'ħaġa. Ħossok liberu li jistaqsu dwar kwalunkwe minn dawn qualifiers hawn, pubbliku, finali, statiku. Pubbliku huwa l-waħda importanti. Dan ifisser li nistgħu aċċess dan il-varjabbli minn fajls oħra source code bħal meta aħna joħolqu attività ġdida. Aħna tista 'referenza l-sekwenza fi ħdan dan il-fajl. Jekk huwa privat, dan ifisser li huwa limitat għal dan il-fajl individwali hawn. Iżda aħna ser sejħa dan xi ħaġa bħal messaġġ żejda. Issa għamilna din il-funzjoni, u jekk aħna ikklikkja l-buttuna, din il-funzjoni se tkun imsejħa. Iżda aħna ma jsir xejn, ovvjament, mal-funzjoni. Dak li rridu nagħmlu issa hu li toħloq attività ġdida, l-attività li attwalment se jiġu mnedija. Fil Eclipse nistgħu ngħidu ġdid, l-attività Android, attività vojt. Nistgħu tagħtiha isem. Ejja sejħa hija attività riżultat tagħna. U mbagħad il-qasam ġenitur ġerarkika huwa mod ta tispeċifika kif l-attivitajiet huma relatati ma 'xulxin. Minħabba dan wieħed se titnieda mill-attività l-oħra għandna tispeċifika li hija għandha l-attività prinċipali ġenitur. U I setgħet għafast fuq il-qasam li jmiss hemm, li kieku qalulna xi oqsma obbligatorji li kien ukoll inkluż, imma l-ħaġa sbieħ dwar ADT, għal darb'oħra, huwa li jekk I iscroll hawn fil-Manifest ftakar li dan kollu verament kien inkluż fil-kontumaċja meta aħna oriġinarjament maħluqa-proġett, u issa għaliex aħna użaw dan joħloq attività ġdida aktar milli biss żżid fajl klassi tagħna stess għaliex aħna marru permezz GUI tagħhom biex isir dan diġà miżjud kollu ta 'dan lill-Manifest għalina, li biss ifisser li issa s-sistema operattiva mhux se jilmentaw meta nippruvaw li tniedi din l-attività. U wkoll, naturalment, tatha tikketta, li wkoll juri fil kordi. Hija ma ħafna affarijiet fuq il-aħħar lura għalina. Xorta waħda, issa li għandna din l-attività riżultat kif ukoll, il-fajl attwali source code fil-folder sors, u tista 'tara' li tmiss fil-qosor dwar din- għaliex aħna told dwar dan ġenitur ġerarkika hija tat dan android.r.ide.home qasam f'dan magħżula ħaġa onOption. X'inhu dan huwa bażikament tgħid huwa hemm buttuna menu issa li fil-rokna tax-xellug tal-iskrin jekk immur lura għall-PowerPoint fejn aħna l-ewwel tkellem dwar azzjoni bar minħabba l-ġenitur ġerarkika issa hemm vleġġa ftit lura hawn u dan huwa clickable hekk għandna nkunu kapaċi biex wara we attwalment run dan app- tmur lura, u huwa mod ta 'ffrankar us ftit tal-kodiċi hemmhekk. Issa f'dan il-well, jidher li jilmentaw dwar li għal mument. Ejja kumment li out. Issa, sabiex effettivament jinteraġixxu ma 'dawn l-attivitajiet 2, għandna biex joħolqu intenzjoni li jinkludi kollha ta 'dan id-data. Fil sendMessage issa jien ser cruise permezz ta 'xi bits ta' kodiċi u tispjega li bħala mmur. B'intenzjoni, kif għidt, huwa mod biex tniedi attività waħda minn oħra. Intenzjoni hija t-tip. Aħna qed joħolqu myIntent varjabbli. U dan huwa attwalment oġġett, u huwa għalhekk li għandna biex sejħa ġdida. Huwa użu komuni Java hemm, li tista 'tieħu xi ftit ta' jkollna użati biex. Dan ifisser li aħna qed tuża l-attività jew l-MainActivity klassi, u l-intenzjoni b'dan il-mod jieħu l-attività li għaddej minn u l-attività li għaddej biex, li aħna sejħa ResultActivity, u li hija klassi tagħha stess. Tinkludi dik. U allura kif semmejt qabel, aħna taw li ID lill-qasam tat-test editja u l-opinjoni test, dan sabiex programmatically jaqbdu it-test li teżisti fil-editText nużaw din il-funzjoni tissejjaħ findViewByID, li huwa simili għal xi ħaġa li inti ser tuża meta tipprova tikseb oqsma mill-DOM. Forsi David taħdidiet dwar dan fl lecture. Imma huwa biss mod ta 'jkollna dawk il-huwa għalhekk li għandna tag dawn l-affarijiet ma' dawk l-oqsma. Id.editText1. Huwa diġà autocompleting għalija hemmhekk. U allura aħna ser jinkludu wkoll editText-dan issa li għandna l-qasam fil-programm tagħna, dak kollu li findViewByID ma kienet bażikament inti tista 'taħseb bħala tagħtina referenza għal dak editText. Issa aħna rridu nġibu l-sekwenza jew il-messaġġ f'dak editText li nistgħu nagħmlu billi tuża l- inti jista 'jaħseb editText bħala Struct- aħna sejħa hija oġġett fl Java-bil-mazz sħiħ ta 'metodi differenti jew oqsma u l-attributi mehmuża miegħu. Meta I say editText. huwa me tagħti l-opportunità għall-aċċess metodu bħal getText, li se tikseb l-test attwali f'dak editText u mbagħad jikkonvertu li espliċitament għal string, u aħna jkunu salvati l-messaġġ. Issa aħna fil-fatt trid tagħmel xi ħaġa ma 'dak intenzjoni ħloqna ftit mumenti ilu. I se tpoġġi żejda kif huwa msejjaħ fil-intenzjoni, li, għal darb'oħra, bħal I said qabel, dan huwa mod kif jinħolqu l-gozz bil-mazz sħiħ ta 'data. Messaġġ Extra huwa tag tagħna hekk nafu dak li aħna qed iffrankar dan taħt, u mbagħad jien inkluż il-messaġġ. U allura aħna tista 'tabilħaqq tibda l-attività billi tagħtiha l-myIntent parametru. U dan fil-fatt se tniedi l-attività, hekk issa peress I imtejba biex Windows 8 jista 'jkun hemm xi żbalji li juru up fil-qosor, iżda ipprova li tinjorahom. U dan huwa l-emulator Android. Nisperaw li l-kodiċi fil-fatt se pop up fil-mument. Għal darb'oħra, jinjora dawk kollha affarijiet ftit. Iżda l-emulator Android inti tista jimitaw kwalunkwe verżjoni tas-sistema operattiva minn dawk kmieni, donut, Gingerbread. Dan huwa Jelly Bean 4.1. Imma kif tista 'tara dritt issa, din hija xi ħaġa li għamilna. Dan għandu l-MainActivity, il editText, il-buttuna. I tista tip xi ħaġa hawn, imma dak li aħna neqsin f'dan il-punt? Għamilna l-qasam fil-MainActivity li għaddej biex jibgħat il-messaġġ għall-attività l-oħra, iżda f'dan il-punt aħna ma jsir xejn fl-attività l-oħra, dan mhuwiex ser tirċievi xejn. Ejja jispiċċaw dik il-parti qabel nimxu fuq. Din l-attività riżultat, dak li aħna ser bżonn tagħmel hu li aħna ser bżonn tagħmel hu li aħna ser bżonn to- nistgħu wkoll referenza l-intenzjoni fi ħdan din l-attività, hekk aħna li jaqbdu l-intenzjoni, li huwa verament sempliċi. Huwa funzjoni inkluża fil-klassi ta 'attività, hekk nistgħu biss jgħidu "Get-messaġġ mill-intenzjoni." "MyIntent Intenzjoni = getIntent." U dan se tagħtina-issa myIntent huwa oġġett, li hija referenza għall-intenzjoni li wassalna għal din l-attività. MainActivity sejħiet u jagħti informazzjoni addizzjonali li jirriżultaw attività. Attività riżultat issa tħares lejn l-intenzjoni li wasslitha hawn, u nistgħu aċċess għall-messaġġ li aħna maħluqa fil-ieħor, getStringExtra, u dan se AutoComplete għalija. U mbagħad tiftakar, il-mod aħna tagged li ftit ta 'data kien billi tagħtiha f'dan il-qasam dritt hawn, din is-sekwenza pubblika, li huwa l-tikketta għall-string aħna fil-fatt inklużi. Jekk ngħid MainActivity.Extra_Message huwa hemm dritt, u dan huwa tip ta bħall-isem parameter meta aħna għadda kodiċi mill-kontrollur għall-template, meta aħna Id jgħidu vleġġa titolu xi ħaġa. Huwa l-istess tip ta 'idea hemmhekk. Issa, ftakar dan. Aħna wkoll kien dan auto maħluqa jew auto iġġenerat kodiċi għall-attività riżultat, li tinkludi l-fehma test fin-nofs li tgħid bonjour dinja. Aħna potenzjalment jistgħu jagħmlu dik akbar. Ejja nagħmlu l-ewwel. Aħna jista 'jagħmilha 40 pixels indipendenti densità. Ejja naraw, li super enormi. Dak se jkun okay. U mbagħad sabiex referenza din il-fehma test individwali fil-kodiċi tagħna aħna ser bżonn li tagħtiha ID, u sabiex tagħmel li aħna ngħidu @ + id, li jfisser aħna tassenja din ID. Jekk aħna biss qal id @ kienet se tassumi aħna qed referenzar ta 'ID li diġà teżisti, u ejja sejħa dan resultTextView tagħna. U tinnota li fi XML hemm ebda ħtieġa għal semicolons jew xejn. Kollox huwa fi ħdan dawn it-tags. Huwa simili ħafna għal HTML fil-lott ta sensi. Huwa jieħu xi ftit ta 'jkollna użati biex, iżda eventwalment inti ser tħossok pretty komdu miegħu. Ejja taġġorna t-test għall-fehma tagħna test riżultat, u kif għamilna meta konna jkollna dik qasam tat-test editja fl-attività l-oħra tagħna fil MainActivity hawn aħna se wkoll bl-istess mod- aħna ser isibu l-opinjoni mill-ID. U R, fil-każ I ma jsemmi dan qabel, ir-riferiment għal folder riżorsi tagħna, u mbagħad ID hija referenza għall kollox fil-folder riżorsi, l-IDs, u resultTextView. U biss bħal qabel, resultTextView huwa oġġett, li jfisser li għandu l dawn il-proprjetajiet assoċjati magħha. Meta nużaw getText għat-test editja għal dan il-qasam test jew l-opinjoni test nistgħu attwalment jużaw setText, u allura aħna diġa 'sabu l-messaġġ mill-intenzjoni, hekk nista 'ngħid messaġġ, u dan fil-fatt se tistabbilixxi l-messaġġ. Hija tieħu mument biex tniedi, u allura nistgħu tara jekk jew le l-ħbit, iżda xi mistoqsijiet dwar il-proċess hemm dritt, dik it-tip ta 'interazzjoni? F'ħafna modi huwa sempliċi. Ir-raġuni jien għaddejjin xi ħaġa relattivament sempliċi huwa, għal darb'oħra, għaliex ikollok biex tara l-interazzjoni bejn it-tqassim, il-kodiċi sors, kif inti affarijiet referenza u forsi jiksbu l-espożizzjoni ftit għal kif Java jaħdem hemm. Jekk I attwalment tip xi ħaġa fil hawn, bħal ohai, u mbagħad I ikklikkja l-buttuna, hija se tniedi attività ġdida, u din l-opinjoni test jgħid ohai. C'est sempliċi ħafna, iżda nisperaw li wara dan leżempju inti tip ta 'tara kif din l-interazzjoni xogħlijiet, u issa li mess ta' fajls fuq ix-xellug għal dawn folders proġett, nisperaw li int taf fejn tfittex issa. Dan huwa qasam tiegħek kodiċi sors. Layout huwa verament l-unika ħaġa li inti ser jittrattaw sakemm inti jinkludu stampi u l-drawables jew kwalunkwe, u l-valuri, li se jinkludu kordi, kif aħna imsemmi, u mbagħad stili hija xi ħaġa li tip simili CSS. Jindirizzawha meta trid, imma sakemm tħossok komdu ma żżid Flair extra għall-applikazzjoni tiegħek hemm ebda bżonn ninkwetaw dwar dan wisq. Just biex nagħlaq ħaġa waħda oħra li inti tixtieq li definittivament se tinkludi ' jekk wieħed jassumi inti tixtieq li jintegraw il-karatteristiċi jibred u ħlief lilek innifsek xi extra kodifikazzjoni ' ikun li jinkludi 3 libreriji parti. Hawn il-Guy ftit Android mal-Holmes Sherlock hat. Din hija azzjoni bar Sherlock librerija, li bażikament ifisser li azzjoni bar inti raw qabel, li issa hija standard fil Ice Cream Sandwich u Jelly Bean, jekk inti tixtieq li tressaq dik it-tip ta 'utent esperjenza lill-utenti dwar verżjonijiet anzjani u ħlief lilek innifsek minn jinkwetaw dwar kif l-utent se jinnavigaw fuq verżjonijiet anzjani meta dik ħaġa ma jkunx hemm inti tista 'tinkludi din il-librerija u mbagħad inti biss għandek minn referenza aktar milli l-default Android libreriji għall-bar azzjoni, inti referenza din il-librerija appoġġ. Affarijiet simili Scoreloop, huwa kbir jekk int ser jinkludi logħba. Hija ihallik żid bordijiet mexxej u l-kisbiet biex logħob. AdMob huwa mod ta 'tqegħid ads in-applikazzjonijiet tiegħek fil-każ li inti tixtieq li tagħmel xi ftit ta 'flus off ta' dan. Of course, hemm Facebook u Twitter għall-integrazzjoni hemm jekk inti tixtieq li jaqsmu affarijiet faċilment, eċċetera. Dropbox, bl-istess mod, u Google Analytics huwa li chart tfittex waħda hemm. Dan se jkun importanti ħafna jekk inti fil-fatt tixtieq li tara li qed interazzjoni mal app tiegħek jew li huwa, kif dawn jinteraġixxu, eċċetera. Google, awtomatikament, jgħidlek ħafna ta 'statistika dwar min ikun installat app tiegħek u dak telefowns li jkunu, dak verżjonijiet tas-sistema operattiva li jkunu. Iżda jekk inti tixtieq li tara li qed tuża fuq bażi ta 'kuljum u kif jużawh allura tkun taf tixtieq li jinkludu xi tip ta 'sistema ta' traċċar bħal dik. Meta int lest biex jiddistribwixxu app tiegħek I m'għandhomx bżonn li jmorru fis li fl wisq fond. Ikklikkja fuq il-link hawn, Google Play. Hija użata biex tkun l-suq Android. Huma rebranded kollox ma 'Google Play, hekk issa inti tissottometti għal dan. Huwa sempliċi ħafna. Int għandek tinkludi deskrizzjoni, xi screenshots. Like I said, hemm ebda proċess ta 'approvazzjoni bħal IOS. U fejn imorru minn hawn? I wera inti eżempju verament sempliċi. Nisperaw jekk jidher terriblement sempliċi allura li probabbilment sinjal tajjeb. Jekk inti fil-livelli kollha ħassew xi ftit konfuż jew ċert dwar eżattament dak I kien ittajpjar li wkoll multa, iżda minn hawn mur Google Gwidi. Dan huwa post kbir biex tibda. Hija se jitkellem miegħek permezz ta 'dak li jistennew fit-termini tad-disinn applikazzjoni, kif l-utenti normalment jinteraġixxu miegħu. Huwa ħafna aktar f'forma ħielsa minn IOS, Id jgħidu, li jidher li huwa simili fehmiet mejda-I do not know, li ħobż tagħhom u butir. Kollox hija fehma tabella jiżżerżqu u 'l isfel. Bil Android huma definittivament jinkoraġġixxu lin-nies li tħares lejn din minn mazz sħiħ ta 'perspettivi differenti. Meta inti jinkludu l kit żvilupp ta 'softwer f'dan ADT b'mankanza għandek mazz sħiħ ta 'proġetti bħala kampjuni fil Android. Dritt hawn, Android, Project Kampjun Android. Jekk I ikklikkja fuq dan, allura I tista 'tagħżel verżjoni għal liema mill-kampjun japplikaw proġetti. Hemm mazz sħiħ ta 'affarijiet differenti hawn. Huwa jibda off ma kompatibilità bar azzjoni, play aċċellerometru, backup u jirrestawraw, Bluetooth, bennej ġest. JetBoy hija logħba kampjun huma jagħtuk, kif LunarLander. Hemm mazz sħiħ ta 'applikazzjonijiet kampjun hawn, u dawn qed kollha mmirati lejn aspetti differenti tal API Android, u l-idea hija li kif inti tagħmel l-applikazzjoni tiegħek inti m'għandekx bżonn biex jitgħallmu kollox dwar Android li jagħmlu app Android. Inti biss għandek biex jitgħallmu dwar il-partijiet li int fil-fatt ser tuża. Ħares lejn dawn il-libreriji kampjun. Ħossok liberu li kopja u paste tal-kodiċi u terġa 'tapplika. Hija ħaġa kbira li tħares lejn kodiċi aktar diffiċli u jipprova jifhem dan, li huwa ta 'kors għaliex fil CS50 aħna sikwit jagħtuk ammonti kbar ta 'kodiċi tas-sors. Ħares lejn xi wħud minn dawn jekk int ser tuża libreriji simili u mbagħad japplika għall-kodiċi tiegħek stess. U ovvjament, hemm tutorials. Tiftix għal tutorials. I sabu ħafna dawk tajba online li inti tista 'ġġib sa veloċità ma 'dak frammenti verament huma u kif inti tista' tużahom. Xi wħud minn dawn l-affarijiet tad-disinn ġodda, bħall-frammenti, int verament ma għandekx tkun inkwetat dwar jekk int tagħmel pretty kbar fil-proġett ambitu. Dawn huma affarijiet li Google qed tipprova li tneħħi pulzieri Stackoverflow huwa ta 'kors ħabib tiegħek. Nisperaw I mibjugħa inti daqsxejn fuq Android, attwati huwa ħafna aktar faċli li l-approċċ f'termini ta 'biss il-lingwa kodifikazzjoni. Java huwa Id jgħidu ħafna aktar faċli biex jinftiehem minn Objettiv-C. Android qed jikber naħseb ħafna aktar minn IOS. I mean, id-data hija hemm wisq, apparti minn dak li naħseb. Huwa ser tkun madwar għal xi ftit, u huma ftit snin lura f'termini ta 'ċikli tad-disinn tagħhom, dan huwa tip ta jifhem li dawn qed għadhom jaħdmu permezz xi wħud minn dawn mistoqsijiet konsistenza, bħal din l-azzjoni bar hija ħaġa ġdida għalihom għadhom, tip ta 'ħolqien ta' esperjenza simili utent madwar apps kollha tagħhom. Nisperaw inti tista 'tmur quddiem u issa jiftħu Eclipse u jagħmlu apps Android tiegħek stess. Ħadd ma jkollu xi mistoqsijiet qabel we nagħlaq dwar xi ħaġa? I jista 'jgħidlek it-tweġiba hija 42. Ukoll, kuntenti kulħadd, u Xorti tajba kodifikazzjoni. [CS50.TV]