[Powered by Google Translate] [Seminaras] ["Android" programos (Dabar su želė pupelės!)]
[Jordanija Jóźwiak] [Harvardo universiteto]
[Tai CS50.] [CS50.TV]
>> Sveiki visi, atvykę į "Android Apps" (Dabar su želė pupelės!) Seminaras.
Tai vadinama Dabar su želė pupelės, žinoma, nes
Naujausia versija OS vadinamas Jelly Bean.
Kai aš kalbėjau apie "Android" pernai ir tai padarė iš esmės tą patį seminarą
Buvau pateikiant dizaino modelius ir stilistinius pasirinkimų imbieru,
nors Ledai Sandvičo turėjo išeiti tuo metu,
ir tai yra kažkas, mes kalbame apie ėjimą į priekį šiek tiek.
"Android", žinoma, yra keletas su susiskaldymo klausimus,
todėl vėliau "Google" operacinė sistema yra paprastai
tikrai taps populiari tarp vartotojų potencialiai iki metų, deja.
>> Tačiau nepaisant to, mes kalbame apie daug priežasčių, kodėl
"Android" yra daug geriau nei iOS.
Gerai, mes kalbame apie "Android", lyginant su iOS,
Kai kurie dizaino paradigmos, kaip jums reikia steigti tik vieną skaidrę,
ir didelis skirtumas tarp šios ir praėjusiais metais, aš tik noriu
priartinimas per keletą konceptualių dalykų, dirbančių su
operacinė sistema ir tada eiti į tikrai pagrindinio pavyzdyje.
Tiesą sakant, tik pavyzdys, kad "Google" aprašoma pastato savo pirmąją programą,
ir mes pereiti per tai kartu ir tiesiog aprašyti.
>> Žinau, daugelis iš jūsų tik koduojami C, todėl Java jau bus
skirtingas požiūris, ir tokiu būdu jūs galėsite gauti jūsų kojų šlapias
ir jaustis šiek tiek patogiau su juo tikiuosi.
Greita santrauka, "Android", palyginti su iOS.
"Android" ten tai vienkartinis kūrėjas mokestis $ 25
nė vienas iš šios $ 100 per metus dalykas.
Nėra jokių apribojimų, o tai reiškia, kad jei aš noriu pateikti programą,
Aš tiesiog pateikti, ir nėra patvirtinimo procesas, kaip ten yra iOS.
Jūs gaunate kurti su Java naudojant Eclipse,
kuris yra kryžius platforma, todėl ji neturi reikšmės, jei turite Mac,
Langai, arba kai "Linux" mašina.
Žinoma, su iOS turite naudoti Xcode Mac,
ir "Android" yra naudojama daug daugiau žmonių,
todėl, jei norite, kad jūsų app turėti tam tikrą matomumo rūšiuoti ar galbūt
padaryti šiek tiek pinigų iš reklamos
jūs tikriausiai labiau tikėtina, kad naudos iš "Android".
>> Ir dar vienas dalykas, kad visada buvo žinoma apie "Android"
yra kraštutinis suma pritaikymas, o IOS yra labai nustatytas jų kelius
taip, kad jie gali išlaikyti saugumą ir kontrolę, kas mažai aspektas
iš per savo OS ir atskirų apps dizainas.
Android yra labai laisvos formos, ir ten tiek daug daugiau galimybių.
Gerai, kai projektavimo paradigmas.
Atkreipkime dėmesį, kaip iOS turi tablečių ir iPhone ir iPod paliečia
jie turi remti, tarkim, kaip tuziną įtaisais, jeigu norite paremti
istorinių dalykų taip pat.
Su "Android", jūs turite padėti šimtus prietaisų,
taip yra keletas dalykų, kad "Google" bando įgyvendinti
kad vartotojas patirti šiek tiek nuosekliau,
bet mes taip pat kalbėti apie tai, kaip tai reiškia, kad yra klausimų suskaidymo
kad jūs nuolat turite žinoti, remti.
Fragmentiškumas reiškia, kad yra daug skirtingų operacinių sistemų,
daug įvairių telefonų su skirtingų aparatūros veikia "Android" visi tuo pačiu metu,
todėl ši diagrama čia nueina maždaug 6 mėnesius.
Taip, 6 mėnesių, ir jūs galite pamatyti, kaip tamsiausias grupę
apačioje yra Jelly Bean, kuris išėjo per vasarą,
ir jūs galite pamatyti dabar tikriausiai apie 2% telefonų turite jį.
>> Ledai Sandvičo išėjo daugiau nei prieš metus,
ir iš telefonų ketvirtį jį.
Yra dar telefonų, kurie naudoja OS versiją iš metų daug.
Vienas dalykas, kad "Google" bandė daryti, kad vartotojų patirtį
daug nuoseklesnis apps pradedant medaus,
kuri yra tabletė versija, tada ledų sumuštiniai ir želė pupelių,
jie tikrai stengiasi pabrėžti pasinaudoti šia veiksmų juostoje,
o tai, ką matote viršuje čia
viskas čia, įskaitant tai mažai nustatymų mygtuką.
Tai dizaino pasirinkimas.
Dabar, kai pamatysite 3 taškus, tai reiškia, spustelėkite ant šios,
ir ten bus išskleidžiamajame meniu, kuris turi tam tikrą nustatymų rūšiuoti.
Tai tik rodo, nes aš paspaudžia ant šio mygtuko.
Tai yra kažkas, kad jie bando naudoti, kad apps tiek nuosekliau
visur ir todėl vartotojas turi geresnį jausmą vienodą patirtį.
>> Gerai, kad tuo atveju, jei to dar nepadarėte jau ar jūs žiūrite namuose
tada galite atlikti šiuos veiksmus, kad nustatytumėte savo kodavimo aplinką.
Tai apims vyksta į svetainę čia.
Jūs galite įdiegti "Google Android SDK
ir laikytis tam tikrų aprasymuose.
Jie pasakys viską.
Jie turi įdiegti SDK parsisiųsti Eclipse Classic versiją,
nors, žinoma, mes kodavimo Java.
Jie rekomenduoja šį vieną, tada šį VDA, Android Programavimo įrankiai,
yra įjungti, įdiegti į Eclipse, kuri leidžia jums
yra daug paprastesne patirties su "Android" per Eclipse.
Jis duos jums keletą grafinės vartotojo sąsajos
projektavimo nuomonę, ir jis duos jums daug daugiau paramos
ir gebėjimas pradėti su emuliatorius ir visi, kad dalykas rūšiuoti.
Taikymo sistemą.
>> Aš noriu kalbėti apie tai, kaip per Android projektai struktūra,
ir tada mes eiti į greitai Pavyzdžiui, ir, tikiuosi,
galite užduoti klausimus bet kuriuo metu ir jaustis patogiai pagal jo pabaigoje.
Mes turime žargono pirmas.
Veikla yra tarsi ekrane matote, kai paleidžiate programą.
Visa patirtis yra pati veikla
todėl galima galvoti apie tai, kaip ekrane ar peržiūrėti,
bet tai tikrai kodo pusėje.
Mes vis dar vadiname tikrąją sąsajos dalis jį peržiūrėti.
Tai tarsi kaip į pset 7 turėjome duomenų valdytojas, ir tada vaizdas.
Veikla yra daugiau ar mažiau valdiklis,
ir vaizdas yra tai, ką mes darome, kalbant apie XML
kuri yra susijusi su šia veikla.
Fragmentai yra kažkas, kad įgyvendinta Ledai Sandvičo ateityje.
Tai tiesiog imtis dalis mano idėja ar veikla
, ir padalijant juos į atskiras sritis, kad galėtume
kad mūsų kodas paprastesnių šių įvairių prietaisų
kad mes turime remti, ir tai tik bando būdas
taip pat veiksnys iš daugiau kodą.
Paslaugos yra fono dalykų, pavyzdžiui, muziką ar navigacijos kryptys potencialiai.
Turinio teikėjai, tai yra API per operacinės sistemos
kad galima prieiti prie bendrai naudojamų duomenų, pavyzdžiui, kontaktinius duomenis,
ir tada tikslas yra kažkas, mes naudojame, kai norime pradėti
nauja veikla iš mūsų dabartinę veiklą.
>> Sveiki Android ", tai bus projektas, mes kalbame apie.
Aš tikrai tai padaryti už jus, ir tada mes nieko daryti, jei mes paspauskite mygtuką
su tam tikru tekstu ir pradėti naują veiklą.
Labai paprasta, bet aš noriu eiti per
kas bus eiti į panašaus projekto.
Kai jums padaryti naują projektą pamatysite per Eclipse
ten tai projektas, pavadintas Sveiki Android.
Tada yra visa krūva aplankų čia.
Tie, jūs tikrai rūpinasi, yra šaltinis aplankas,
išteklių katalogą, raiška, ir tam tikru mastu libs aplanką bibliotekose.
Ir tik todėl mes į tą patį puslapį su ta
jei buvo sukurti naują projektą,
Jūs galite tai padaryti čia, todėl, jei aš noriu jį vadiname HelloAndroid,
ir tada jis automatiškai daro visa krūva už mus informacijos.
Paketas pavadinimas turėtų būti unikalus identifikatorius
įprastai būtų susijęs su svetainę, jei jūs turėjote vieną.
>> Pavyzdžiui, aš vadinu tai net.cs50.helloandroid.
Ir aš jau padarė šį projektą vieną kartą.
Gerai, atsiprašau. Leiskite jį vadiname HelloCS50.
Ir tada jis paprašys dalykų, pavyzdžiui, kokios rūšies piktograma norime padaryti.
Visa tai dėl to, kad "Android Developer Tools sąsaja,
įskiepiai, kad mes įtraukti į Eclipse, todėl mes galime pasirinkti dalykų, pavyzdžiui,
ką piktogramą mes norime, ir kad būtų eiti į tą gylį, jei norime.
Bet, galų gale, tiesiog įsitikinkite, projektą,
ir viskas rodo čia.
Kaip parodžiau kita ekraną,
mes turime šaltinio katalogą, ir aš kalbėti apie tai, ką visa tai reiškia, greičiau,
bet jūs galite pamatyti, kad iš karto ji nukelia mus į HelloCS50 ekrane.
Yra keletas čia mygtukai pridėti teksto ir teksto lauko maketus.
Tai tarsi Xcode, bet deja, ne visai taip sklandžiai.
Tačiau klipai bus jūsų draugas ir VDA ypač tai daryti.
>> Gerai, šaltinis aplankas yra kur
"Java failai laikomi, ir iš tikrųjų tai yra jūsų programos paleidimas.
Tai iš esmės kaip ir valdikliai.
Išteklių katalogą arba raiška, kur mes išlaikyti ekrano maketai,
vaizdai, garsai, tekstas, animacija ir visa kita, libs, žinoma, bibliotekos.
Ir Akivaizdus, ​​tai taip, kad "Android" sistema žinotų,
kaip bendrauti su jūsų app.
Jis pasakoja apie teises ir kokia veikla tikrai bus paleisti.
Visa tai esminė informacija, kad tai būtina paleisti programą.
Šaltinis aplankas yra-jei mes jį išplėsti, kaip matote čia.
Ir pavyzdys, kodas atrodytų-tai yra numatytasis kodas.
Kaip mes pavadino jį pagrindinę veiklą.
Pagal nutylėjimą, mes onCreate, kuris yra funkcija, kuri vadinama, kai ši veikla apkrovos,
todėl jūs norite skambinti onCreate (savedInstanceState).
Tai padės atkurti bet kokios informacijos bitai
atveju programa buvo sustabdyta.
>> Yra visa ši veikla gyvavimo ciklo struktūrą, kurioje galite pažvelgti
kai jūs gaunate šiek tiek giliau į jį,
bet svarbiausia eilutėje kodas yra šio setContentView funkcija
kurie bus įkelti išteklių failą maketą.
O kas onCreate čia iš esmės tai yra tai sakydamas
kai aš sukurti šią veiklą Noriu įkelti šį maketą.
Ir mes kalbame apie tai, kas, kad išdėstymas yra per sekundę.
Jeigu mes buvo pradėti, kad čia ji atrodo lygiai taip pat kaip tai,
ir pagal nutylėjimą, nes mes Eclipse tai daryti ir VDA daro mums
visa tai Standartiniai kodas, kuris yra sukurta mums,
ir mes galime judėti į priekį ir ką nors keisti, kaip mums patinka.
Išteklių katalogą, kaip ir sakiau, tai yra, kai mes manome, visi maketai,
drawables požiūriu bet kokio pobūdžio vaizdų-
jie vadinami drawables-ir tada garso failus, meniu.
Tai iš visa krūva XML gražus surūšiuoti mados būdas.
Kaip matote, yra. Hdpi, ldpi, mdpi ir xhdpi aplankai su drawables.
Tai yra įvairių ekrano tankis, todėl didelio tankio pikselių colyje,
mažo tankio, vidutinio tankio, ypatingai didelio tankio.
>> Tai, vėlgi, todėl mes galime remti visus šiuos įvairius įrenginius,
o idealiu atveju, jūs turite skirtingus vaizdus kiekvieno atskiro sprendimo.
Išdėstymai, kur mes apimti visus skirtingus maketus, kurie bus naudojami įvairioje veikloje.
Jie taip pat galėtų apimti maketus fragmentų,
o tai reiškia, dalinių veiklą iš esmės.
Jei norite padaryti kažką kietas kaip kai pasukate telefoną
norite, kad jis turi kitą maketą, galite tai padaryti topografijos kraštovaizdį kaip kitą aplanką,
ir "Android" automatiškai turi visa krūva šių taisyklių per išteklių katalogą
todėl žinosite pažvelgti į skirtingus aplankus pagal dabartinį nustatymą į telefoną,
kokios įrangos jūs naudojate.
Taip pat ši vertybėmis v11 čia ir vertybėmis V14
ir numatytosios vertės aplanką tai yra už-
gerai, vertybės savaime, tai bus numatytosios vertės visuose operacinės sistemos versijose.
Kita vertus, V11 ir V14 atitinka Akyti
ir ledų sumuštiniai, atitinkamai.
Vėlgi, tai yra būdų, kad-per šių aplankų yra atskirų stygų
ir stilių, todėl galite tinkinti savo app išvaizdą
arba potencialiai net jo funkcionalumas, nors tai tikriausiai būtų bloga idėja,
remiantis operacinės sistemos versiją.
>> Ir aš kalbėjau apie visa tai čia.
Vėlgi, Išimamos, žaliavos, maketavimas, vertybės.
Pagal nutylėjimą, jei mes einame į "Hello" Android "arba hEllo CS50 dabar
ji atrodys kaip šis.
Jis sako hello world.
Kaip matote čia su Android tekstą
šio teksto peržiūrą tekstas, kuris iš esmės yra tik etiketė,
yra tai, ką mes vadiname jį iOS.
Ji šį juokingas notacijos @ eilutė / hello_world.
Taip yra todėl galime-mes stengiamės išgauti visas eilutes,
visi sunkiai koduojamų styginiams "Android" į atskirą aplanką,
kuris atsitinka būti values.strings.
Jei pažvelgsime čia matome, kad mes turime sunkiai koduojamų eilutę įrašytą čia
už hello world, ir ji vadinama hello world, ir tai yra tarsi
vienodas projektavimas sprendimas daugelyje platformų, kad jūs norite-
stygos yra dalykų, kad mes norime būti potencialiai gali pakeisti rūšiuoti.
Mes nenorime valdyti F mūsų kodo failą mūsų XML.
Mes norime, kad būtų galima tai pakeisti, kai mes gauti galimybę.
>> Šis XML failą, strings.xml yra gavybos būdas
sunkiai koduojamų stygos, kad kitaip būtų mūsų išdėstymo išteklių
arba mūsų kodą.
Akivaizdus kur mes išlaikyti šią pagrindinę informaciją apie prašymo.
Ji apima paketo pavadinimą. Tai turi būti unikalus identifikatorius.
Skirtingai App Store iOS prašymuose vardai
neturi būti unikalus, ir jūs iš tikrųjų gali pakeisti savo programos pavadinimą
po to, kai ją pateikia, todėl, jei aš pradėti su Angry Birds,
ir tada aš galiu atnaujinti, ir aš nenoriu išleisti naują jos versiją
Manau, galėčiau jį vadiname Angry Birds 2, o aš tą pačią išleidimo ciklą.
Būtų tiesiog parodyti kaip atnaujinti.
Vienintelis dalykas, kuris turi būti unikalus tai paketo pavadinimas,
kuris ne daug žmonių pamatys.
Na, jūs tik pamatyti, jei jūs ieškojome kodo arba jei yra tam tikrų klaidų rūšiuoti.
Komponentai apima veiklą, todėl mes turime pripažinti
bet koks veiklos rūšies mes naudojame.
Tai leidimas rūšies dalykas.
>> Kadangi "Android" neturi šios griežtą procesą
pateikimo programas, o jie tiesiog viskas pagrįsta ne leidimus
ir deklaruojant dalykus manifeste.
SDK versija yra taip pat svarbus.
Mes galime nustatyti naudoti kaip SDK minimali versija kažką.
Akivaizdu, kad norite sukurti kodą
ir dizainas naujesnių operacinių sistemų.
Galbūt ne naujausias, o gal ir ne želė pupelių.
Gal norite sukurti pirmiausia Ice Cream Sandwich
nors jie yra beveik tas pats, kalbant apie dizaino sprendimus
ir faktinės bibliotekų ir API.
Tačiau užuot turime žmonių
pradinio Android versija-kaip Donut kelią atgal, kai-
kurie vis dar atsitiktų būti naudojant, kad pabandyti atsisiųsti savo paraišką ir tada pasakyti
jis neveikia mano telefone galite nustatyti minimalią versiją
ir jis bus Meduoliai su imbiero priedais ar ledų sumuštiniai
ar kas jums jaustis patogiai pateikia.
Ir tai iš manifestu pavyzdys. Mes galime pažvelgti į faktinį ir vienas šiek tiek.
>> Gerai, mes tiesiog eiti į priekį su demo dabar.
Tai demo, jei "Google Android statyti savo pirmąją programą ar kažką panašaus.
Mes eiti per viską, kas vyksta ten,
ir gaila, tik nuoroda, kas čia žino, Java bet kiek?
Gerai, kad "Java" yra nauja kodavimo kalba dauguma žmonių išeina CS50.
Trumpai tariant, eiti vėl, ką ji sako čia
ką mes norime padaryti, tai, o ne reguliuoti šį Hello World taikymo
kad visa tai yra ji pradeda ir ji sako hello world
ir ji sako, Apie CS50 viršuje, nes tai veikla vardas
mes ketiname bandyti užmegzti ryšius su teksto lauką ir mygtuką
todėl, kad kai mes paspauskite šį mygtuką, ji imsis tekstą
iš teksto lauką ir pradėti naują veiklą, ir jis sakys
kad ir ką tekstas sako veikloje, o tai yra gana paprasta.
Tai nėra labai įdomi. Jūs nenorėtų išleisti bet kaip tai app.
Tačiau tai rodo keletą svarbių dizaino dalykų.
>> Mes turime bendrauti su manifestu, su išdėstymo failus,
su kodo, ir jūs galite pamatyti, kaip pradėti vieną veiklą nuo kito.
Pradėsime už mūsų pirmąją veiklą išdėstymą,
kurį aš žinau, tai tipo mažas,
bet kaip matote dabar, visa tai yra tai turi mūsų logotipą kad mes sukūrėme,
veiklos pavadinimas, o ji sako hello world centre.
Vietoj to, aš pirmą kartą ketina padaryti tai į linijinį išdėstymą,
santykinis išdėstymas, ir tai yra viskas
galite ieškoti ir verta vyksta per tam tikru požiūriu maketų tašką.
Tai kaip HTML aikštelė.
Mes sakė, kad tai tikrai nėra verta žinoti kalbant apie programinį prasme,
tačiau yra tiek daug skirtingų maketų galite kontroliuoti,
ir tai tik kaip CSS, kalbant apie stilių.
>> Yra daug vyksta tik dėl estetikos čia
ir taip, tai verta mokytis, bet tai dalykas rūšiuoti jums reikia ieškoti
kaip jūs einate ir jūs manote, kaip jums reikia ką nors naujo.
Galiu pasinaudoti kai kurių ADT Įrankiai Čia bent pradėti nuo.
Aš padarysiu teksto lauką, ir Aš padarysiu mygtuką.
Įdėkite juos šalia vienas kito.
Jie jau keisti tinkamai.
Atsiprašome, vėl grįžta į tarp linijinės išdėstymą ir santykinio išdėstymo skirtumas,
linijinis išdėstymas suteikia šiek tiek daugiau funkcijų
kalbant apie pildymo erdvę ir užtikrinti,
mes pozicija dalykų horizontaliai arba vertikaliai.
Didelis skirtumas tarp linijinės išdėstymas ir santykiniu išdėstymu
yra santykinis išdėstymas pozicijos viskas palyginti su kitų nuomonėmis,
ir geras dalykas apie tai, kad ji užima mažiau laiko atkreipti
nes operacinė sistema analizuoja visą kodą ir sako, kad tai eina
, palyginti su tai čia, čia.
Tai reiškia, kad daro mažiau matavimus nei visa krūva įdėtos linijinių maketus,
kuri aš turiu daryti, jei aš norėjau ką eiti vertikaliai čia.
>> Aš jau keletas dalykų vyksta horizontaliai, todėl man reikės kitą linijinį išdėstymą
į lizdą juos vertinti vertikaliai, o jei aš būčiau daro santykinį išdėstymą galėčiau pasakyti
kad ši į kairę, tai į dešinę, ir šių dalykų žemiau.
Bet kadangi aš noriu juos užpildyti dabar aš ketinate naudoti linijinį išdėstymą,
ir jūs galite pamatyti, kad jau daro šių dalykų mums.
Visi svečiai turi turėti pločio ir aukščio turtą,
ir tai vyksta turėti svoris 1, ir tai turi svoris 1
taip, kad jis užpildytų visą erdvę.
Bet plotis ir aukštis yra svarbiausi.
Ši ID laukas čia nėra svarbu atsižvelgiant į realias išdėstymą
nebent mes naudojame santykinis išdėstymą ir sako, kad mums gali nuoroda
vienas vaizdas pozicija nuoroda į kitą.
Jei mes turėjome santykinį išdėstymą galima sakyti poziciją tai žemiau šio vieno
arba virš šio numerio, tačiau šis numeris bus svarbu
kai mes jį naudoti mūsų kodą, nes mes galime nuoroda
šie atskiri peržiūros tokiu būdu.
>> Ir tada jūs galite pamatyti tegus requestFocus, kuri yra kažkas, jūs tikriausiai matė pset 7.
Nebuvo automatinis fokusavimas tegus arba kažkas palei tas linijas ir viena iš sričių.
Ir dar vienas dalykas, žinoma, mes galime padaryti, kaip HTML,
ir pranešimas vienas iš naudingų dalykų apie VDA yra tai, kad autocompletes čia.
Gal ne taip gražiai, kaip tai padarė Xcode, tačiau ji vis dėlto,
o mes galėtume pasakyti užuominą ir tada suteikti jai tam tikrą eilutę rūšiuoti
patinka rašyti žinutę,
ir jei aš suteikti jai metu, taip pat pastebėsite, kad man šiek tiek klaida čia
sakydamas, kad mes turėtume naudoti eilutę išteklių už tai,
todėl, jei aš tegul jis ką nors sunkaus darbo man
Galiu pasirinkti šią eilutę, tai refraktorius Android ir ekstraktas Android eilutę.
Galiu suteikti jai tokį pavadinimą, parašyti pranešimą,
ir ką ji dabar tai pakeitė šią sunkiai koduojamų eilutę
su nuoroda į į eilutę aisiais. xml failo eilutę,
o tai reiškia, dabar tai yra čia.
>> Ir aš žinau, kad atrodo šiek tiek trivialus ir kaip papildomas darbas šiuo metu,
tačiau jei turite visa krūva dalykų, visa krūva eilučių,
tai tikrai svarbu, ir ypač lokalizacijos
nes, kaip minėjau anksčiau, "Android" yra labai visame pasaulyje naudojama operacinė sistema
kad galite tiesiog padaryti vertybėmis LT vertybes-SP
ar kažkas anglų arba ispanų ar kitomis kalbomis.
Ir tada jūs tikriausiai neturėjo tokios patirties dar
nes mes ne padaryti daug "JavaScript" kalbant apie web programavimas,
bet mes taip pat galime padaryti šį lauką, vadinamą onclick už mygtuką,
ir tai iš nuorodų per mūsų išdėstymo būdas
kad mes norime tam tikrą funkciją galima pavadinti mūsų kodą.
Aš ruošiuosi skambinti šiuo SendMessage,
ir siekiant atlikti šį darbą, tai reiškia, pagrindine veikla čia
Aš turiu sukurti funkciją, kuri yra visuomenės
taip, kad ji gali būti prieinama maketą.
Tai negalioja, nes jūs tiesiog nenorite, kad jis vėl nieko.
Mes jį vadiname SendMessage, ir užtrunka vaizdą,
kuris yra iš konteksto rūšiuoti, kad mes galime įtvirtinti šį metodą
to asmens nuomone, kai mes paleisti jį.
>> Ir aš nežinau, jei jūs pastebėjote, gerai, jūs negalite pastebėjau,
bet šiuo metu čia
šis požiūris yra rūšis, kuri dar nebuvo įtraukta,
ir, žinoma, jūs visi žinote, nuo CS50 apie neįskaitant rūšys.
Gražus dalykas, apie IDE kaip Eclipse yra tai, kad
jei pamiršite įtraukti tipo jis pabrėš, raudono deformuoti
ir tada suteikia jums galimybę importuoti vaizdą.
Greitas būdas padaryti tai yra kontrolė perėjimas O ir ji bus importuoti
visus failus, kad ji turi.
Dabar, mes turime šią funkciją SendMessage,
kuris ketina siųsti pranešimą iš pagrindinę veiklą į naują veiklą,
mes ketiname turėti naudoti ketinimą pradėti naują veiklą nuo šį vieną,
todėl greičiausiai norėsite sukurti pasaulio nuolat ar taip pat ypač visuomenės pastovus
kuris padės mums žinoti, kaip mes ketiname nuoroda eilutę
nes kai mes sukurti ketinimų mes ne tik skambinimas naują veiklą,
bet mes taip pat galime suteikti jai informacijos paketas.
Pluoštas yra iš tikrųjų terminas, kad "Android naudoja,
ir tai pasakyti, suteikti jai papildomų duomenų, kurie negali būti labai sudėtingas duomenų tipą būdas,
bet mes tikrai gali įtraukti loginę ar eilutes ar int.
Kad dalykas rūšiuoti.
>> Nesivaržykite paklausti apie bet kurį iš šių apibūdinimų čia
visuomenė, galutinis, statiška.
Visuomenė yra svarbus.
Tai reiškia, kad mes galime pasiekti šį kintamąjį nuo kitų kodo failų
pavyzdžiui, kai mes sukurti naują veiklą.
Mes galime nuoroda per šio failo eilutę.
Jei tai privatus, tai reiškia, kad jis tik šiam atskirą failą čia.
Bet mes tai vadiname kaip papildomą pranešimą kažką.
Dabar mes padarėme šią funkciją, ir jei mes paspauskite mygtuką, ši funkcija bus vadinamas.
Bet mes nieko nepadarė, žinoma, su šia funkcija.
Ką mes norime padaryti dabar yra sukurti naują veiklą,
veikla, kurios faktiškai bus pradėta.
Eclipse galima sakyti naujas, Android veiklą, Blankas veiklos.
Mes galime suteikti jai pavadinimą.
Tegul bus mūsų rezultatas veikla.
Ir tai hierarchinė tėvų laukas apibūdinimo būdas
kaip veikla yra susijusi tarpusavyje.
Kadangi šis bus paleista iš kitos veiklos
turėtume nurodyti, kad ji turi patronuojančią pagrindinę veiklą.
>> Ir aš galėjo paspausti ant kito lauko ten, kuri mums papasakojo
kai Neprivalomi laukeliai, kad ji taip pat buvo taip pat,
bet malonus dalykas, apie VDA, vėlgi, yra ta, kad jei aš pereikite čia
į manifestu prisiminti, kad visa tai tikrai buvo įtrauktas pagal nutylėjimą
kai mes iš pradžių sukūrė projektą,
ir dabar, nes mes naudojamas tai sukurti naują veiklą, o ne tik
pridedant savo klasės failas, nes mes išgyveno jų GUI tai daryti
tai jau įtraukta visa tai į manifestu mums
kuris tiesiog reiškia, kad dabar veikianti sistema nesiskundžia
kai mes bandome pradėti šią veiklą.
Ir jis taip pat, žinoma, davė jam ženklą, kuris taip pat rodo į eilutes.
Ji daug dalykų apie nugaros pabaigoje mums.
Bet kokiu atveju, dabar, kad mes turime šį rezultatą veiklą, taip pat,
Tikrasis kodo failą į šaltinio katalogą,
ir jūs galite pamatyti, trumpai paliesti tai-
nes mes papasakojo apie šį hierarchinę tėvų
ji davė šį laukelį android.r.ide.home šiame onOption pasirinkto dalyko.
>> Ką tai iš esmės pasakyti, ten meniu mygtukas dabar
kad viršutiniame kairiajame ekrano kampe
jei aš einu atgal į "PowerPoint", kur mes pirmą kartą kalbėjo apie veiksmų juostoje
nes hierarchinės tėvų dabar yra šiek tiek rodyklė grįžti čia
ir tai yra spausti, kad mes turėtų galėti-kai mes iš tikrųjų paleisti šią programą-
grįžti, ir tai taupymo mums šiek tiek kodo ten kelią.
Dabar per tai-gerai, panašu, kad ji skundžiasi, kad akimirką.
Leiskite komentarą, kad iš.
Dabar, norint, kad iš tikrųjų bendrauti su šių 2 veiklos,
mes turime sukurti ketinimų, kuris apima visus šiuos duomenis.
Be SendMessage dabar aš ruošiuosi kruizinių per keletą kodo bitai
ir paaiškinti, kad, kaip aš einu.
Tyčia, kaip sakiau, yra būdas pradėti vieną veiklą nuo kito.
Tikslas yra tipo. Mes sukurti kintamą myIntent.
>> Ir iš tikrųjų tai yra objektas, kuris yra, kodėl mes turime skambinti nauja.
Tai bendras "Java naudojimas ten, kuris gali užtrukti šiek tiek priprasti.
Tai reiškia, kad mes naudojame veiklą ar klasė pagrindinę veiklą,
ir ketinimų tokiu būdu laikosi veiklą jis ketina nuo
ir veikla jis ketina, kuri mes vadiname ResultActivity,
ir kad yra savo klasės.
Įtraukti kad.
Ir tada, kaip jau minėjau anksčiau, mes davė, kad ID redagavimo laukelį
ir teksto vaizdas, todėl norint programiškai užfiksuoti
tekstas, kuris egzistuoja editText
mes naudojame šią funkciją, vadinamą findViewById,
kuris yra panašus į kažką, kad jūs naudojate, kai bando gauti laukelius DOM.
Galbūt, Dovydas kalba apie tai paskaitą.
Bet tai tik gauti būdas tiems, štai kodėl mes pažymėti šiuos dalykus su šiose srityse.
Id.editText1.
Tai jau autocompleting man ten.
>> Ir tada mes taip pat-tai editText dabar, kad mes turime lauką
per mūsų programoje, viskas, findViewById darė, buvo iš esmės
galima galvoti apie tai, kaip mums nuorodą į tą editText.
Dabar mes norime gauti eilutę arba pranešimą
per tą editText kurį mes galime padaryti naudojant-
galima galvoti editText kaip konstrukto-
mes jį vadiname Objektas Java-su visa krūva skirtingų metodų
arba laukai ir atributai prie jo pritvirtintos.
Kai aš sakau, editText. jis suteikia man galimybę prieiti prie
pvz Gettext metodas, kuris gaus esamą tekstą
toje editText ir tada konvertuoti, kad aiškiai
į eilutę, ir mes išgelbėti pranešimą.
Dabar mes iš tikrųjų nori kažką daryti su ketinimų mes sukūrėme vos prieš akimirką.
Aš sukelsiu papildomų, kaip tai vadinama ketinimų,
kuris, vėlgi, kaip ir minėjau anksčiau, tai yra sukurti ryšulėlį būdas
su visa krūva duomenis.
Papildomas pranešimas yra mūsų tegus todėl mes žinome, ką mes taupyti tai pagal,
ir tada aš įskaitant žinutę.
>> Ir tada mes iš tikrųjų galėtų pradėti veiklą, suteikiant jam parametro myIntent.
Ir tai iš tikrųjų pradėti veiklą, todėl dabar, nes Aš atnaujinau į "Windows 8
gali būti kai kurių klaidų, kurios rodomi trumpai, bet pabandykite juos ignoruoti.
Ir tai yra "Android emuliatorius.
Tikimės, kad kodas bus tikrai pop-up akimirką.
Vėlgi, ignoruodama visus tuos smulkmenos.
Tačiau "Android emuliatorius galite sekti jokios operacinės sistemos versiją
nuo pirmųjų tie, spurga, Meduoliai su imbiero priedais.
Tai želė pupelių 4.1.
Bet, kaip matote dabar, tai yra kažkas, mes padarėme.
Tai turi pagrindinę veiklą, editText, mygtuką.
Galiu tipo kažką čia, bet ką mes trūksta šiuo metu?
Mes padarėme lauką į pagrindinę veiklą, kas vyksta jei norite siųsti šinutę
kitai veiklai, tačiau šiuo metu
mes nepadarė nieko kita veikla, todėl ji nesiruošia gauti bet ką.
Leiskite baigti tą dalį, kol mes judėti pirmyn.
>> Šis rezultatas veikla, ką mes turime padaryti, tai mes turime padaryti, tai mes turime-
mes taip pat galime nuoroda ketinimų šioje veikloje,
todėl mes turime fiksuoti ketinimų, kuris yra tikrai paprasta.
Tai funkcija įtraukta į veiklos klasės,
todėl galime tik pasakyti "Gauti pranešimą iš ketinimų."
"Ketinimas myIntent = getIntent."
Ir tai duos mums-dabar myIntent yra objektas,
kuris yra nuoroda į ketinimų, kuri atvedė mus į šią veiklą.
Pagrindinę veiklą vadina ir suteikia papildomą informaciją atsirasti veikla.
Rezultatas veikla dabar žiūri ketinimų, kuri atvedė jį čia,
ir mes galime gauti žinią, kad mes sukūrėme į kitas,
getStringExtra, ir tai bus automatinis baigimas man.
Ir tada prisiminti, kaip mes pažymėtą, kad šiek tiek duomenų
buvo suteikiant jai šį lauką čia, šį viešąjį eilutę,
kuris yra eilutės mes iš tikrųjų įtraukti žyma.
>> Jei aš sakau MainActivity.Extra_Message
tai tiesiai ten, ir tai yra tarsi parametro pavadinimas
kai mes išlaikė kodą iš reguliatoriaus į šabloną,
kai mes sakyčiau pavadinimas rodyklės kažką.
Tai tos pačios rūšies idėja ten.
Dabar, atminkite tai.
Mes taip pat turėjo tai automatiškai sukurtas arba Automatiškai sugeneruota kodą
rezultato veikla, kuri apima teksto vaizdą viduryje
kad sako hello world.
Mes galėtų padaryti, kad didesni.
Leiskite tai padaryti pirmiausia.
Galėtume padaryti tai 40 tankio nepriklausomi taškų.
Pažiūrėkime, kad super didžiulis. Tai bus gerai.
Ir tada, kad nuoroda Šis asmuo teksto vaizdą per mūsų kodą
mes turime suteikti jai vardą,
ir siekiant padaryti, kad mes sakome @ + ID, kuris reiškia, kad mes ją priskirti ID.
Jei mes ką tik pasakė @ id ji perima mes nuorodų asmens dokumentą, kad jau egzistuoja,
ir tegul tai vadiname mūsų resultTextView.
Ir pastebėsite, kad XML nėra už kabliataškiais arba nieko nereikia.
Viskas yra šiose žymes.
Jis labai panašus į HTML kurį pojūčius aikštelė.
>> Tai užtrunka šiek tiek priprasti, bet galiausiai jums jaustis gana patogiai su juo.
Leiskite atnaujinti mūsų rezultatas teksto peržiūrą tekstą
ir kaip mes padarėme, kai mes buvo gauti, kad redaguoti teksto lauką mūsų kitos veiklos
į pagrindinę veiklą Čia mes taip pat taip pat-
mes rasti iki tapatybės dokumento vaizdas.
Ir R, jei aš ne paminėti prieš tai, yra nuoroda į mūsų nuorodų katalogą,
ir tada ID yra nuoroda į viską į išteklių katalogą, visi identifikatoriai,
ir resultTextView.
Ir kaip anksčiau, resultTextView yra objektas,
tai reiškia, kad turi visas šias savybes, susijusias su juo.
Kai mes naudojame Gettext už Edit text šio teksto lauką arba teksto peržiūrą
mes iš tikrųjų galite naudoti setText,
ir tada mes jau rado pranešimą iš ketinimų,
todėl galiu pasakyti, pranešimą, ir tai tikrai bus nustatyti pranešimą.
>> Tai šiek tiek laiko ir pradėti, ir tada mes galime pamatyti, ar ji sugenda,
bet jei apie šį procesą klausimus tiesiai ten, kad sąveikos rūšiuoti?
Daugeliu atžvilgių tai paprasta.
Priežastis, kodėl aš ruošiuosi per kažką gana paprasta
, vėlgi, nes jums pamatyti tarp išdėstymo sąveiką,
kodą, kaip jums pagalbos dalykai
o gal ir gauti šiek tiek ekspoziciją kaip "Java" ten dirba.
Jei aš iš tikrųjų tipo kažkas čia, kaip ohai, ir tada aš spustelėkite mygtuką
ji pradeda naują veiklą, ir kad tekstas vaizdas sako ohai.
Tai labai paprasta, bet tikiuosi po tos pavyzdžiui
Jūs tarsi pamatyti, kaip ši sąveika veikia, ir dabar, kad failų netvarka
kairėje pusėje visų šių projektų katalogus, tikiuosi, jūs žinote, kur ieškoti dabar.
Tai jūsų kodo srityje.
>> Išdėstymas yra tikrai vienintelis dalykas, jums spręsti, kol apima vaizdus
ir drawables ar kas, ir vertybės, į kurį bus įtraukta eilutes,
kaip minėjome, tada stiliai yra kažkas, kad tarsi kaip CSS.
Jį spręsti, kai jūs norite, bet kol jums jaustis patogiai su pridedant papildomų nuojauta
Jūsų prašymų nereikia jaudintis dėl to per daug.
Tiesiog susivynioti Vienas kitas dalykas, jūs tikrai norite būti-
jei jūs norite integruoti įdomių funkcijų ir sutaupyti keletą papildomų kodavimo-
būtų įtraukti 3rd party bibliotekas.
Štai šiek tiek "Android" vaikinas su Šerlokas Holmsas skrybėlę.
Tai veiksmas baras Šerlokas biblioteka,
kuris iš esmės reiškia, kad veiksmų juostą matėte anksčiau,
kuris dabar yra standartas Ice Cream Sandwich ir želė pupelių,
jei norite pareikšti, kad vartotojų patirtį rūšiuoti vartotojams ant senesnės versijos
ir išsaugoti save nuo nerimauti, kaip vartotojas ketina pereiti
ant senesnės versijos, kai tas dalykas yra ne ten, galite įtraukti šią biblioteką
ir tada jums tiesiog turi atskaitos, o ne pagal nutylėjimą "Android"
bibliotekos veiksmų juostoje, jums nuoroda Ši parama biblioteką.
>> Dalykų, pavyzdžiui, Scoreloop, tai puiku, jei jūs ketinate įtraukti žaidimą.
Jis leidžia jums pridėti lyderis lentos ir pasiekimus žaidimų.
"AdMob" yra išleidimą skelbimus į savo programas būdas
tuo atveju, jei norite, kad šiek tiek pinigų išjungti jį.
Žinoma, yra "Facebook" ir "Twitter" integravimas yra
jei norite pasidalinti dalykų lengvai, ir tt.
"Dropbox", taip pat ir "Google Analytics" yra tai, kad schema ieško vienas ten.
Tai bus labai svarbus, jei jūs iš tikrųjų norite pamatyti, kas bendrauja
su savo app arba kas tai yra, kaip jie bendrauja, ir tt.
"Google", pagal nutylėjimą, jums pasakys statistikos apie daug kas įdiegta jūsų app
ir kas telefonai jie, kokią operacinę sistemą versijos jie.
Tačiau jei norite pamatyti, kas jį naudoja kasdien ir kaip jie ją naudoja
tada jūs norite įtraukti tam tikrą stebėjimo sistema, pavyzdžiui, kad rūšiuoti.
>> Kai būsite pasiruošę platinti savo app
Man nereikia eiti į, kad per daug gylio.
Spustelėkite šią nuorodą čia, "Google" Play.
Ji naudojama taip, Android Market ".
Jie pervadinta viską su Google Play,
todėl dabar jūs pateikiate, kad.
Tai labai paprasta.
Jūs turite būti aprašymas, kai šuoliai.
Kaip ir sakiau, nėra patvirtinimo procesas kaip iOS.
Ir kur eiti iš čia?
Aš parodžiau jums tikrai paprastą pavyzdį.
Tikimės, kad jei atrodo siaubingai paprastas
tada tai tikriausiai geras ženklas.
Jei ne visi jautėsi šiek tiek supainioti arba nežinote apie ką aš rašyti
tai taip pat gerai, bet iš čia eiti į "Google" vadovai.
Tai puiki vieta pradėti.
Jis supažindins Jus ko jie tikisi, kalbant apie dizaino programos,
kaip vartotojai paprastai bendrauti su juo.
Tai daug laisvos formos nei iOS, sakyčiau,
kuris atrodo stalo vaizdai-Aš nežinau, tai jų duona ir sviestas.
Viskas stalo vaizdas stumdomas aukštyn ir žemyn.
Su Android jie tikrai paskatinti žmones pažvelgti į jį iš
visa krūva skirtingų perspektyvų.
>> Kai apima programinės įrangos kūrimo rinkinys šioje VDA
pagal nutylėjimą turite visa krūva pavyzdžių projektams Android.
Štai čia, "Android", "Android" Imties projektas.
Jei aš spustelėkite, kad tada aš galiu pasirinkti versiją, kuri iš mėginio projektai taikyti.
Yra visa krūva įvairių dalykų čia.
Ji prasideda nuo veiksmų juostoje suderinamumo,
Pagreičio žaisti, atsarginę kopiją ir atkurti, "Bluetooth", gestas statybininkas.
JetBoy yra pavyzdys žaidimas jie jums, kaip LunarLander.
Yra visa krūva programų pavyzdžių čia
ir jie visi skirta įvairių aspektų Android API
ir idėja yra tai, kad jums padaryti jūsų prašymą
Jums nereikia sužinoti viską apie "Android", kad "Android app.
Jums tik reikia sužinoti apie dalių, kad jūs iš tikrųjų ketinate naudoti.
Pažvelkite į šiuos imties bibliotekose.
Jauskitės laisvai nukopijuokite ir įklijuokite kodą ir iš naujo jį.
Tai puikus dalykas, pažvelgti sunkiau kodas
ir bandyti ją suprasti, o tai, žinoma, kodėl CS50
mes dažnai duoti jums daug kodo.
Pažvelkite į kai kuriuos iš jų, jei jūs ketinate naudoti panašius bibliotekas
ir tada taikyti jį į savo kodą.
Ir, žinoma, yra vadovėliai.
Ieškoti vadovėliai.
Radau iš gerų daug internete, kuri gali atnešti jums iki greičio
su kuo fragmentai tikrųjų yra ir kaip galite juos naudoti.
>> Keletas šių naujų dizaino dalykų, pavyzdžiui, fragmentai,
Jūs tikrai neturite būti susirūpinę, nebent jūs darote
gana didelis apimties projektas.
Jie yra dalykų, kad "Google" bando palaipsniui in
Stackoverflow, žinoma, jūsų draugas.
Tikimės, kad aš pardavė jums šiek tiek "Android",
suprasdamas, kad tai daug lengviau kreiptis požiūriu tik kodavimo kalba.
Java sakyčiau daug lengviau suprasti nei Objective-C.
"Android auga manau daug daugiau nei iOS.
Aš turiu galvoje, duomenys yra ten pat, išskyrus tai, ką aš manau.
Tai bus maždaug už o,
ir jie keletą metų atsilieka nuo savo dizaino ciklų,
todėl tarsi suprantama, kad jie vis dar dirba per kai kurias iš jų
nuoseklumo klausimų, kaip šioje veiksmo juostoje yra naujas dalykas jų vis dar,
tarsi sukurti panašią vartotojo patirtį visose jų programas.
Tikimės, kad jūs galite eiti į priekį dabar ir atverti Eclipse
ir padaryti savo Android Apps.
>> Ar kas nors turite kokių nors klausimų, kol mes susivynioti apie ką nors?
Galiu jums pasakyti, kad atsakymas yra 42.
Na, malonu kodavimo visiems, ir geros kloties.
[CS50.TV]