[Powered by Google Translate] [Seminaari] [Android-sovellukset (Nyt Jelly Beans!)]
[Jordan Jozwiak] [Harvardin yliopisto]
[Tämä on CS50.] [CS50.TV]
>> Hei kaikille, ja tervetuloa Android-sovellukset (Nyt Jelly Beans!) Seminaari.
Sitä kutsutaan Nyt Jelly Beans, tietenkin, koska
uusin versio OS on nimeltään Jelly Bean.
Kun puhuin Android viime vuonna ja teki tämän periaatteessa sama seminaari
Esitin suunnittelumalleja ja tyylillisiä valintoja Gingerbread,
vaikka Ice Cream Sandwich oli tullut tuolloin,
ja tämä on jotain me puhumme menee hieman eteenpäin.
Android tietenkin on joitakin ongelmia hajanaisuus,
joten uusin Googlen käyttöjärjestelmä on yleensä
ei todellakaan aio yleistynyt käyttäjien keskuudessa mahdollisesti jopa vuoden, valitettavasti.
>> Kuitenkaan huomioida, että me puhumme paljon syitä, miksi
Android on paljon parempi kuin IOS.
Okei, me puhumme Android vs. iOS,
joitakin suunnittelu paradigmoja, miten voit saada perustaa vain yhden dian,
ja iso ero tämän ja viime vuonna on Haluan vain
zoom läpi joitakin käsitteellisiä asioita kanssa
käyttöjärjestelmä ja sitten mennä todella perus esimerkki.
Itse asiassa vain esimerkki siitä, että Google kuvaa rakentaa ensimmäinen sovellus,
ja me sen läpi yhdessä ja vain kuvata.
>> Tiedän, että monet teistä ovat vain koodattu C, niin Java on jo olemaan
eri näkökulmasta, ja näin saat jalat märkä
ja tuntuu hieman mukavalta toivottavasti.
Nopea yhteenveto, Android vs. iOS.
Android on tämä kertaluonteinen kehittäjä maksu $ 25
mikään tästä 100 dollaria vuodessa asia.
Ei ole rajoituksia, mikä tarkoittaa, että jos haluan esittää app,
Minä vain toimittaa sen, ja ei ole hyväksymisprosessi kuten on iOS.
Saat kehittää Java Eclipse,
joka on cross platform, joten sillä ei ole väliä, jos sinulla on Mac,
Windows tai jokin Linux-kone.
Tietenkin iOS voit käyttää XCode Macissa
ja Android käyttävät paljon enemmän ihmisiä,
joten jos haluat app on jonkinlainen näkyvyys tai ehkä
tehdä vähän rahaa mainoksia
olet todennäköisesti todennäköisesti hyötyä Android.
>> Ja yksi asia, joka on aina ollut tiedossa Android
on äärimmäinen määrä räätälöinnin, kun iOS on hyvin kiinnitetty niiden tapoja
jotta he voivat ylläpitää turvallisuutta ja valvoa jokainen pieni osa
suunnittelusta niiden OS ja yksittäiset sovellukset.
Android on hyvin vapaamuotoinen, ja siellä on niin paljon enemmän mahdollisuuksia.
Okei, joitakin suunnittelu paradigmoja.
Huomatkaa aivan kuten iOS on tabletit ja iPhone ja iPod koskettaa
niiden on tuettava, sanoa, kuin kymmeniä laitteita, jos haluat tukea
historiallisia asioita.
Android joudut tukemaan satoja laitteita,
niin on olemassa joitakin asioita, jotka Google on yrittänyt toteuttaa
jotta käyttäjä kokea hieman johdonmukaisempi,
mutta me myös puhua siitä, miten tämä tarkoittaa, että on olemassa asioita hajanaisuus
että olet jatkuvasti täytyy olla tietoinen tukea.
Pirstoutuminen tarkoittaa, että on olemassa monia eri käyttöjärjestelmiä,
monia erilaisia ​​puhelimia eri laitteiden käynnissä Android kaikki samaan aikaan,
joten tämä kuvaaja tässä menee takaisin noin 6 kuukautta.
Joo, 6 kuukautta, ja voit nähdä, kuinka tummin vyöhyke
pohjassa on Jelly Bean, joka tuli ulos kesän aikana,
ja voit nähdä juuri nyt luultavasti noin 2% puhelimissa on se.
>> Ice Cream Sandwich tuli ulos yli vuosi sitten,
ja neljännes puhelimissa on se.
On vielä paljon puhelimia, jotka käyttävät OS versio vuotta sitten.
Yksi asia, että Google on yrittänyt tehdä, jotta käyttökokemus
paljon yhtenäistetty apps alkaa Honeycomb,
joka on tabletti versio, niin Ice Cream Sandwich ja Jelly Bean,
he todella yrittävät korostaa käyttää tätä Toim.palkin,
joka on mitä näet yläreunassa täällä,
kaikki täällä, kuten tämä pieni asetuksia-painiketta.
Se on design valinta.
Nyt, kun näet 3 pistettä tarkoittaa klikkaa tästä,
ja siellä on pudotusvalikosta, joka on jonkinlainen asetuksia.
Tämä näkyy vain, koska olen napsauttanut tätä painiketta.
Tämä on jotain, että he yrittävät käyttää tehdä apps hieman johdonmukaisempi
kautta linjan, joten käyttäjän on parempi tunne yhtenäinen kokemus.
>> Okei, joten jos et ole jo tehnyt niin tai jos olet katsomassa kotona
voit seurata näitä ohjeita perustaa oman koodaus ympäristöön.
Se sitouttaa menossa verkkosivuilla täällä.
Voit Google asentamalla Android SDK
ja seurata joitakin kuvauksia siellä.
He kertovat sinulle kaiken.
Heillä asennat SDK, lataa Eclipse Classic-versio,
vaikka tietysti olemme koodaus Java.
He suosittelevat tätä, ja sitten tämä ADT, Android Development Tools,
on plugin, joka asennetaan osaksi Eclipse, jonka avulla voit
on paljon virtaviivaisempi kokemusta Android sisällä Eclipse.
Se antaa sinulle joitakin graafisia käyttöliittymiä
suunnittelussa näkemyksiä, ja se antaa sinulle paljon enemmän tukea
ja kyky käynnistää kanssa emulaattori ja kaikki että sellainen asia.
Sovellus puitteet.
>> Haluan puhua siitä, miten hankkeiden Android ovat rakenteeltaan,
ja sitten me mennä nopea esimerkki ja toivottavasti
voit kysyä milloin tahansa ja tuntea olonsa mukavaksi loppuun mennessä se.
Meillä on joitakin ammattikieltä ensin.
Toiminta on kuin näytöllä näet kun käynnistää sovelluksen.
Koko kokemus on toiminnan itse,
joten voisi ajatella sitä näytön tai näkymä,
mutta se on todella lähdekoodin puolella.
Olemme silti soittaa todellinen käyttöliittymän osa sitä mieltä.
Se on tavallaan kuin miten PSET 7 meillä oli ohjain ja näkymä.
Aktiivisuus on enemmän tai vähemmän ohjain,
ja näkymä on mitä teemme kannalta XML
joka liittyy kyseiseen toimintaan.
Fragments ovat jotain, joka on toteutettu Ice Cream Sandwich eteenpäin.
Se on vain ajatus ottaa osia näkymästä tai toiminnan
ja jakamalla ne eri alueille, jotta voimme
tekevät koodi käyttökelpoisempia nämä monet eri laitteiden
että meidän on tuettava, ja se on vain tapa yrittää
huomioon myös lisää koodia.
Palvelut ovat taustalla asioita, kuten musiikin tai liikkumissuunnat mahdollisesti.
Sisällöntuottajat, nämä ovat API käyttöjärjestelmässä
joiden avulla voit käyttää jaettua tietoa, kuten yhteystietoja,
ja sitten tarkoitus on jotain käytämme kun haluamme käynnistää
Uusi toiminta nykyisessä toimintaa.
>> Hei Android, tämä tulee olemaan hanke, me puhumme.
Minä itse tehdä sen sinulle, ja sitten me tehdä mitään, jos me sitten painiketta
joitakin tekstiä ja käynnistää uutta toimintaa.
Hyvin yksinkertaista, mutta en halua mennä läpi
mitä menee tällaiseen projektiin.
Kun teet uuden projektin näet sisällä Eclipse
on tämä projekti nimeltään Hei Android.
Sitten on koko joukko kansioita täällä.
Itse olet todella huolissaan ovat lähde kansio
resurssi kansio, res, ja jossain määrin libs kansio kirjastoille.
Ja juuri niin olemme samalla sivulla, että
jos haluat luoda uuden projektin,
voit tehdä tämän täällä, joten jos haluan kutsua sitä HelloAndroid,
ja sitten se automaattisesti tekee koko joukko tietoa meille.
Paketin nimi on tarkoitus olla yksilöllinen tunniste
jotka yleensä liittyvät verkkosivuilla, jos sinulla olisi yksi.
>> Esimerkiksi minä kutsun tätä net.cs50.helloandroid.
Ja olen jo tehnyt tämän hankkeen kerran.
Okei, anteeksi. Kutsukaamme sitä HelloCS50.
Ja sitten se kysyy asioita, kuten millaista kuvaketta haluamme tehdä.
Tämä kaikki johtuu Android Developer Tools-liitäntä,
plugin lisäämämme Eclipse, jotta voimme valita asioita, kuten
mitä kuvake haluamme, ja että menisi tuohon syvyyteen, jos haluamme.
Mutta loppujen lopuksi, vain tehdä projektin,
ja kaikki näkyy täällä.
Kuten olen osoitti toisella näytöllä,
meillä lähde kansio ja kerron mitä tämä kaikki tarkoittaa pian,
mutta voit nähdä, että heti se vie meidät HelloCS50 näytön.
On joitakin painikkeita tänne lisätä tekstiä ja tekstikenttään ulkoasuja.
Se on tavallaan kuin Xcode, mutta valitettavasti ei aivan yhtä virtaviivainen.
Mutta leikkeitä ystäväsi ja ADT erityisesti tätä varten.
>> Okei, lähde kansio on, jos
Java-tiedostot järjestetään, ja tämä on todella käynnistää oman ohjelman.
Se on pohjimmiltaan kuin ohjaimet.
Resurssi kansio tai res on, jos me jatkamme asetteluasetuksilla
kuvia, ääniä, tekstiä, animaatiota ja kaikki muu, kirjastoissa, tietenkin, kirjastot.
Ja Manifest, se on tapa, että Android-järjestelmä tietää
miten vuorovaikutuksessa sovelluksen.
Se kertoo se siitä, luvat ja mitä toiminta todella ajaa.
Se on kaikki olennaiset tiedot, jotka on tarpeen ajaa app.
Lähdekansio on-jos laajennamme sitä voit nähdä täällä.
Ja esimerkki siitä, että koodi näyttäisi-tämä on oletusarvo koodi.
Koska kutsuimme, MainActivity.
Oletuksena saamme onCreate, joka on toiminto, joka kutsutaan kun tätä toimintaa kuormia,
niin haluat soittaa onCreate (savedInstanceState).
Tämä palauttaa kaikki bittiä tietoa
Jos sovellus on keskeytetty.
>> On koko toiminnan elinkaaren kaavio jonka voit katsoa
kun saat hieman syvällisempää siinä,
mutta tärkein koodiriviä on tämä setContentView toiminto
joka lataa resurssitiedosto asettelua.
Niin mitä onCreate tässä on pohjimmiltaan tekee se sanoo
kun luon tätä toimintaa haluan ladata tätä asettelua.
Ja me puhumme siitä, mitä tuo ulkoasu on toinen.
Jos ryhdyttäisiinkin että tässä se näyttää täsmälleen samalta kuin tämä,
ja oletuksena, koska olemme Eclipse tätä ja ADT tekee sen meille
Tässä on kaikki boilerplate koodi, joka on luonut meille,
ja voimme siirtyä eteenpäin ja muuttaa asioita kuin haluamme.
Resurssi-kansioon, kuten sanoin, tämä on, jos pidämme kaikki ulkoasuja,
drawables kannalta minkäänlaista kuvat-
niitä kutsutaan drawables-ja äänitiedostoja, valikot.
Se on tapa koko joukko XML mukava lajiteltu muoti.
Kuten näette, on olemassa. Hdpi, ldpi, mdpi ja xhdpi kansiot drawables.
Nämä ovat eri näytön tiheydet, joten high density pikselin tuumalla,
alhainen, keskinkertainen tiheys, erittäin korkea tiheys.
>> Tämä on jälleen, joten emme voi tukea kaikkia näitä eri laitteita,
ja mieluiten, sinulla on erilaisia ​​kuvia kunkin eri resoluutio.
Ulkoasut ovat jossa ovat kaikki erilaisia ​​ulkoasuja, joita käytetään eri toimintoja.
Ne voisivat myös kaavoista fragmentteja,
mikä tarkoittaa osittaista toimintaa periaatteessa.
Jos haluat tehdä jotain kivaa kuten aina kääntää puhelimen
haluat sen olevan erilainen ulkoasu voit tehdä layout-maisemaa eri kansioon,
ja Android automaattisesti on koko joukko näiden sääntöjen puitteissa resurssi kansio
niin se tietää tarkastella eri kansioihin olevien asetusten puhelin,
millaisia ​​laitteita käytät.
Tätäkin arvoihin v11 täällä ja arvoihin V14
ja oletusarvot kansio tämä on-
hyvin, arvot itse, tämä on oletusarvot kaikissa versioissa käyttöjärjestelmän.
Toisaalta, V11 ja V14 vastaavat Honeycomb
ja Ice Cream Sandwich, vastaavasti.
Nämäkin ovat tapoja,-näissä kansiot ovat erilaiset jouset
ja tyylejä, joten voit muokata ulkoasua sovelluksen
tai mahdollisesti jopa sen toimintoja, vaikka se olisi todennäköisesti huono idea,
perustuu version käyttöjärjestelmästä.
>> Puhuin tästä kaikesta täällä.
Jälleen drawable, raaka, layout, arvot.
Oletusarvot, jos menemme Hei Android tai Hei CS50 juuri nyt
se näyttää aivan kuten tämä.
Se tervehtimään maailmassa.
Kuten näette täällä kanssa Android tekstiä
teksti tämän tekstin näkymä, joka on pohjimmiltaan vain etiketti,
on mitä me kutsumme sitä iOS.
Se on tämä hauska merkintätapa @ string / hello_world.
Tämä on niin voimme-yritämme purkaa kaikki jouset,
kaikki kovakoodatuilla jousille Android erilliseen kansioon,
joka sattuu olemaan values.strings.
Jos katsomme täällä, voimme nähdä, että meillä on koodattu merkkijono tallennetaan täällä
for hello world, ja sitä kutsutaan hello world, ja tämä on tavallaan
yhteinen suunnittelu päätös monille alustoille, jotka haluat-
jouset ovat sellaisia ​​asioita, joita haluamme mahdollisesti voi muuttaa.
Emme halua ohjata F meidän lähdekooditiedostoa meidän XML.
Haluamme pystyä muuttamaan tämän, kun saamme mahdollisuuden.
>> Tämä XML-tiedoston, strings.xml, on tapa talteen
kovakoodatuilla jouset, jotka muutoin olisivat meidän layout resursseja
tai lähdekoodiin.
Manifest on, jos pidämme tätä olennaista tietoa sovelluksen.
Se sisältää paketin nimi. Tämän on oltava yksilöllinen tunniste.
Toisin kuin App Storesta iOS nimet sovellusten
ei tarvitse olla ainutlaatuinen, ja voit itse muuttaa nimeä hakemuksesi
kun olet lähettänyt sen, joten jos aloitan ulos Angry Birds,
ja sitten tehdä päivityksen, ja en halua julkaista uuden version
Voisin kutsua sitä Angry Birds 2 kun olen samassa tiedotteessa aikana.
Se olisi vain näkyä päivitys.
Ainoa asia, joka on ainutlaatuinen on tämän paketin nimi,
joka ei monet ihmiset näkevät.
No, olisit vain nähdä, jos katsoisit lähdekoodia tai jos on jonkinlainen virhe.
Komponentteja ovat toimintaa, joten meidän täytyy julistaa
minkäänlaista toimintaa käytämme.
Tämä on lupa sellainen asia.
>> Koska Android ei ole tässä tiukassa hakuprosessi
esittämiselle apps sijaan he vain eivät kaikki perustuu pois käyttöoikeudet
ja julistaa asioita Manifest.
SDK versio on myös tärkeää.
Voimme asettaa käytettäväksi SDK vähintään versio jotain.
On selvää, haluat luoda koodin
ja suunnittelu uudemmissa käyttöjärjestelmissä.
Ehkä ei ole uusin, ehkä ei Jelly Bean.
Ehkä haluat suunnitella ensisijaisesti Ice Cream Sandwich,
vaikka ne ovat melko sama kannalta suunnittelu päätöksiä
ja todellinen kirjastot ja API.
Mutta sen sijaan on ihmisiä
alkuperäisen Android version kaltainen donitsi takaisin, kun-
jotka vielä sattuvat olemaan avulla, jotka yrittävät ladata sovelluksen ja sitten sanoa
se ei toimi puhelimessa voit asettaa vähintään versio
ja on se Gingerbread tai Ice Cream Sandwich
tai mitä tunnet olosi mukavaksi toimittamiselle.
Ja tämä on esimerkki selvä. Voimme tarkastella todellinen yksi bitti.
>> Okei, meidän täytyy vain mennä eteenpäin demo nyt.
Tämä on demo, jos Google Android rakentaa ensimmäinen sovellus tai jotain.
Menemme läpi kaiken, mitä siellä tapahtuu,
ja anteeksi, vain viittaus, joka täällä tietävät Java millään tavalla?
Okei, joten Java on uusi koodaus kieli useimmille tulee ulos CS50.
Lyhyesti, mennä uudestaan, mitä tässä sanotaan,
mitä haluamme tehdä, on sen sijaan säätää tätä hello world sovelluksen
että kaikki se on se käynnistää ja se sanoo hello world
ja se sanoo hei CS50 huipulla, koska se toiminta nimi
aiomme yrittää tehdä tekstikenttään ja painike
niin että kun painat tätä painiketta se vie tekstin
alkaen tekstikenttään ja käynnistää uutta toimintaa, ja se sanoo
mitä tämän tekstin sanoi toimintaa, ja se on suhteellisen yksinkertainen.
Se ei ole kovin kiinnostavaa. Et halua vapauttaa minkä tahansa App näin.
Mutta se osoittaa joitakin tärkeitä suunnittelun asioita.
>> Meidän täytyy vuorovaikutuksessa Manifest, jossa ulkoasu tiedostoja,
lähdekoodin kanssa, ja näet, miten käynnistää yksi toiminnan toisesta.
Aloitamme asettelun ensimmäinen toimintaa,
jonka tiedän se on aika pieni,
mutta kuten näette nyt, kaikki on se on meidän logo loimme,
toiminnan nimi, ja se sanoo hello world keskustassa.
Sen sijaan, olen ensimmäinen menossa tehdä tästä lineaarinen layout,
suhteellinen ulkoasu, ja nämä ovat kaikki asioita
voit etsiä ja kannattaa mennä jossain vaiheessa suhteen kaavoista.
Se on paljon, kuten HTML.
Sanoimme se ei oikeastaan ​​ole tietämisen arvoista kannalta ohjelmallinen mielessä
mutta on niin monia erilaisia ​​ulkoasuja voit hallita,
ja se on aivan kuin CSS kannalta tyylejä.
>> Siellä on paljon meneillään juuri kannalta estetiikka täällä,
ja joo, se on oppimisen arvoinen, mutta se on sellainen asia, sinun pitäisi etsiä
as you go ja tuntuu tarvitset jotain uutta.
Voin hyödyntää joitakin ADT työkaluja täällä ainakin alkajaisiksi.
Teen tekstikenttään ja teen painiketta.
Laita ne oikeassa vierekkäin.
Ne on jo kokoa asianmukaisesti.
Anteeksi, taas, palaan ero lineaarisen ulkoasu ja suhteellinen ulkoasu,
lineaarinen layout antaa hieman enemmän toimintoja
kannalta täyttötilaan ja varmista
meidän asema asioita vaaka-tai pystysuoraan.
Suuri ero lineaarisen ulkoasu ja suhteellinen ulkoasu
on suhteellinen layout kantoja kaikkea suhteessa muihin näkemyksiä,
ja hyvä asia on, että se vie vähemmän aikaa tehdä
koska käyttöjärjestelmä näyttää kaikkien koodin ja sanoo menee
suhteessa tähän täällä, täällä.
Se tarkoittaa, se tekee vähemmän mittauksia kuin koko joukko sisäkkäisiä lineaarinen ulkoasuja,
joka minun olisi tehtävä, jos halusin asiat mennä pystysuunnassa täällä.
>> Olen jo joitakin asioita menossa vaakasuoraan, joten minun olisi eri lineaarinen layout
pesä niitä pystysuunnassa, mutta jos olisin tekemässä suhteellinen ulkoasu voisin sanoa
pitää tämä vasemmalle, tämä oikealle ja näitä asioita alla.
Mutta koska en halua niitä täyttää nyt aion käyttää lineaarinen layout,
ja voit nähdä se jo tekee paljon näitä asioita meille.
Kaikki näkemykset täytyy olla omaisuutta leveys ja korkeus,
ja tämä tapahtuu painoarvo on 1, ja tämä paino on 1
siten, että se täyttää koko tilan.
Mutta leveys ja korkeus ovat tärkeimpiä.
Tämä tunnus kenttä täällä ei ole tärkeää se todellinen ulkoasu
ellemme käytät suhteellista asettelua ja sitä, että voimme viitata
yksi näkymä aseman viittaus toiseen.
Jos meillä olisi suhteellisen layout voisimme sanoa asentoon tämä alla tämä
tai tätä ID, mutta tämä tunnus on tärkeää
kun käytämme sitä meidän koodi, koska emme voi viitata
Näiden yksittäisten näkemyksiä tällä tavalla.
>> Ja sitten näette tag requestFocus, joka on jotain varmaan näki PSET 7.
Oli automaattitarkennus tagi tai jotain tämänsuuntaista yhden kentät.
Ja yksi asia, tietenkin voimme tehdä aivan kuten HTML,
ja ilmoitus yksi mukavia asioita ADT on, että se autocompletes täällä.
Ehkä ei niin hienosti kuin se teki XCode, mutta se kuitenkin,
ja voisimme sanoa vihje ja sitten antaa se jonkinlainen merkkijono
kuten kirjoittaa viestin,
ja jos annan sen hetken, myös huomata, että saan hieman virhe täällä
sanomalla, että meidän pitäisi käyttää merkkijonoresurssin tähän,
joten jos en anna sen tehdä joitakin kovaa työtä minulle
Voin valita tämän merkkijonon, tee itsepäinen Android ja ote Android merkkijono.
Voin antaa se, että nimi, kirjoita viestin,
ja mitä se nyt on se korvattiin koodattu merkkijono
jossa viitataan merkkijono merkkijonon. xml-tiedosto,
mikä tarkoittaa nyt tämä on täällä.
>> Ja tiedän, että tuntuu hieman triviaali ja kuten ylimääräistä työtä tässä vaiheessa,
mutta kun on koko joukko asioita, koko joukko jouset,
se on todella tärkeää, ja erityisesti lokalisointi
sillä kuten aiemmin mainitsin, Android on erittäin maailmanlaajuisesti käytetty käyttöjärjestelmä
että voit tehdä arvoihin en tai arvoja-sp
tai jotain Englanti tai espanjaksi tai muita kieliä.
Ja niin luultavasti ei ole ollut tätä kokemusta vielä
koska emme tehneet paljon JavaScript kannalta Web-ohjelmointi,
mutta voimme myös tehdä tällä alalla kutsutaan onClick varten painiketta,
ja tämä on tapa viitataan sisällä layout
että haluamme tietty toiminto voidaan kutsua meidän lähdekoodia.
Aion kutsua tätä SendMessage,
ja jotta tämä työ merkitsee päätyö täällä
Minulla on luoda funktio, joka on julkinen
siten, että se pääsee asettelua.
Se on mitätön, koska et vain halua sitä takaisin mitään.
Me kutsumme sitä SendMessage, ja se vie mielestä
joka on eräänlainen yhteydessä, että voimme ankkuroida tätä menetelmää
kuin oman käsityksen kun olemme käynnissä se.
>> Ja en tiedä jos olet huomannut, hyvin, et olisi huomannut,
mutta tässä vaiheessa täällä
Tämä näkemys on tyyppi, joka ei ole vielä lisätty
ja tietysti kaikki tiedämme CS50 noin ilman tyyppejä.
Kiva juttu IDE: n, kuten Eclipse on, että
jos unohda tyyppi se korostaa hieman punainen koukeroinen
ja sitten antaa sinulle mahdollisuuden tuoda mieltä.
Nopea tapa tehdä se on valvonnan siirtyminen O, ja se tuo maahan
kaikki tiedostot, jotka se tarvitsee.
Nyt kun meillä on tämä toiminto SendMessage,
joka aikoo lähettää viestin MainActivity uuteen toimintaa,
aiomme on käytettävä tarkoitus käynnistää uutta toimintaa tästä yhdestä,
joten luultavasti halua luoda maailmanlaajuinen jatkuva tai myös erityisen julkisen jatkuvasti
jotka auttavat meille, miten me aiomme viittaus merkkijonon
koska kun luomme tarkoitusta emme ole vain soittamalla uutta toimintaa,
mutta voimme myös antaa sille nippu tietoa.
Nippu on todella termi, että Android käyttää,
ja se on tapa sanoa antaa sille lisää tietoja, joita se ei voi olla hyvin kehittyneitä data tyyppi,
mutta voimme ehdottomasti sisällyttää booleans tai nauhojen tai ints.
Sellaista.
>> Voit vapaasti kysyä mitään näistä karsinnoista täällä,
julkinen, lopullinen, staattinen.
Julkinen on tärkeä.
Se tarkoittaa, että voimme käyttää tätä muuttujaa muista lähdekooditiedostoihin
kuten silloin, kun luomme uutta toimintaa.
Voimme viitata merkkijonon tämän tiedoston.
Jos se on yksityinen, se tarkoittaa että se on rajoitettu tämän yksittäisen tiedoston täällä.
Mutta me kutsumme tätä jotain ylimääräistä viesti.
Nyt olemme tehneet tätä toimintoa, ja jos me painiketta, tämä toiminto on nimeltään.
Mutta emme ole tehneet mitään, ilmeisesti, jossa toiminto.
Mitä me haluamme tehdä nyt on luoda uutta toimintaa,
toimintaa, joka todella käynnistetään.
Eclipse voimme sanoa uusia, Android toiminta, tyhjä toimintaa.
Voimme antaa sille nimi.
Kutsukaamme sitä tuloksemme toimintaa.
Ja sitten tämä hierarkkinen vanhemman kenttä on tapa määritellään
miten toiminta liittyvät toisiinsa.
Koska tämä laukaistaan ​​muu toiminta
meidän olisi täsmennettävä, että se on vanhemman päätyö.
>> Ja voisin klikannut seuraavaan kenttään siellä, joka olisi kertonut meille
joitakin valinnaisia ​​kenttiä, että se oli myös muun muassa,
mutta kiva juttu ADT taas on, että jos minä selaa täällä
vuonna Manifest muistaa, että kaikki tämä todella oli mukana oletuksena
kun alunperin luotu hanke,
ja nyt, koska käytimme tätä luomaan uutta toimintaa eikä vain
lisäämällä oman luokan tiedostoa, koska kävimme läpi heidän GUI Näin
se on jo lisätty kaikki tämän Manifest meille,
mikä tarkoittaa vain sitä, että nyt käyttöjärjestelmä ei valittaa
kun yritämme käynnistää tätä toimintaa.
Ja tietysti myös, antoi se tarra, joka myös näkyy myös jouset.
Se tekee paljon asioita loppupäätä meille.
Joka tapauksessa, nyt kun meillä on tämä tulos toiminnan sekä,
todellinen lähdekoodin tiedosto lähde kansioon,
ja voit nähdä-lyhyesti käsitellä tämän-
koska me kerroimme sen tästä hierarkkinen emoyhtiön
se antoi tällä alalla android.r.ide.home tässä onOption valitun asia.
>> Mitä tämä on periaatteessa sanonta on olemassa valikkopainiketta nyt
että vasemmassa yläkulmassa näytön
jos menen takaisin PowerPoint jossa ensin puhuttiin Toim.palkin
koska hierarkkinen vanhemman nyt on pieni nuoli takaisin
ja tämä on klikattava joten meidän pitäisi pystyä-jälkeen olemme todella ajaa tätä app-
palata, ja se on tapa säästää meille hieman koodia siellä.
Nyt tässä no, se näyttää olevan valittavat, että hetki.
Katsotaanpa kommentoida, että ulos.
Nyt, jotta todella vuorovaikutuksessa näiden toimien 2,
meidän on luotava tahallisuus, joka sisältää kaikki nämä tiedot.
Vuonna SendMessage nyt aion risteily läpi joitakin pätkiä koodia
ja selittää, että menen.
Tahallisuus, kuten sanoin, on tapa käynnistää yksi toiminnan toisesta.
Tarkoitus on tyyppiä. Luomme muuttuja myIntent.
>> Ja tämä on todella esine, minkä vuoksi meidän täytyy soittaa uutta.
On tavallista Java käyttö siellä, joka saattaa kestää hieman totuttelua.
Tämä tarkoittaa, että käytät toimintaa tai luokan MainActivity,
ja tarkoitus tällä tavoin vie toimintaa se menee
ja toimintaa se tulee, jota kutsumme ResultActivity,
ja että on omaan luokkaansa.
Kuuluu, että.
Ja sitten kuten aiemmin mainitsin, annoimme tunnuksen edit tekstikenttään
ja Tekstinäkymässä niin jotta ohjelmallisesti kaapata
tekstiä, joka on olemassa napilla pääset
käytämme tätä toimintoa kutsutaan findViewByID,
joka on samanlainen kuin jotain, että voit käyttää, kun yrittää saada kentät DOM.
Ehkä David puhuu tästä luennossa.
Mutta se on vain tapa saada ne-siksi me merkitä näitä asioita kyseisillä aloilla.
Id.editText1.
Se on jo autocompleting minua siellä.
>> Ja sitten me myös-tästä napilla pääset nyt, että meillä on alan
ohjelmassamme, kaikki findViewByID ei ollut periaatteessa
voisit ajatella sitä antaa meille viittaus kyseiseen napilla pääset.
Nyt haluamme saada merkkijono tai viestin
kyseisessä napilla pääset jonka voimme tehdä käyttämällä-
voisit ajatella napilla pääset kuin struct-
me kutsumme sitä esineen Java-koko joukko erilaisia ​​menetelmiä
tai kenttiä ja ominaisuuksia liitteenä.
Kun sanon napilla pääset. se antaa minulle mahdollisuuden käyttää
menetelmää, kuten GetText, joka saa nykyisen tekstin
että napilla pääset ja sitten muuntaa että nimenomaisesti
on merkkijono, ja olemme säästäneet viestin.
Nyt me todella haluamme tehdä jotain, että tahallisuus loimme juuri hetki sitten.
Aion laittaa ylimääräistä kuin sitä kutsutaan tahallisuus,
joka taas kuten aiemmin sanoin, tämä on tapa luoda nippu
koko joukko tietoja.
Extra viesti on meidän tag jotta tiedämme, mitä olemme säästää tämän mukaisesti,
ja niin olen myös viestin.
>> Ja sitten voimme todella alkaa toimintaa antamalla sille parametri myIntent.
Ja tämä todella käynnistää toimintaa, joten nyt kun olen päivittänyt Windows 8
siellä saattaa olla joitakin virheitä, jotka osoittavat hetkeksi, mutta yrittää sivuuttaa niitä.
Ja tämä on Android emulaattori.
Toivottavasti koodi todella pop up hetki.
Jälleen unohdetaan kaikki ne pienet asiat.
Mutta Android emulaattori voit jäljitellä mitään versiota käyttöjärjestelmästä
alkaen aikaisintaan niitä, donitsi, Gingerbread.
Tämä on Jelly Bean 4.1.
Mutta kuten näette nyt, tämä on jotain teimme.
Tämä on MainActivity, napilla pääset, painiketta.
Voin kirjoittaa jotain, mutta mitä me puuttuu tässä vaiheessa?
Teimme kentän MainActivity, joka tulee lähettää viestin
Muihin aktiivisuutta, mutta tässä vaiheessa
emme ole tehneet mitään muuta toimintaa, joten se ei tule saamaan mitään.
Katsotaan loppuun asti, että osa ennen siirrymme.
>> Tämä tulos toimintaa, mitä meidän täytyy tehdä, on meidän täytyy tehdä, on meidän täytyy-
Voimme myös viittaus tahallisuus tämän toiminnan piiriin,
joten meidän on kaapata tahallisuus, joka on todella yksinkertaista.
Se on tehtävä sisältyy toimintaa luokassa,
joten voimme vain sanoa "Get viestin tarkoitusta."
"Intent myIntent = getIntent."
Ja tämä antaa meille-nyt myIntent on esine,
joka on viittaus tahallisuus johti meidät tähän toimintaan.
MainActivity pyytää ja antaa lisätietoja johtaa toimintaa.
Tulos toimintaa nyt tarkastellaan tarkoitusta, joka johti sitä täällä,
ja voimme käyttää viestin, että loimme toinen,
getStringExtra, ja tämä autocomplete minulle.
Ja muista sitten, miten me koodattu, että vähän tietoja
oli antamalla sille tällä alalla täällä, tämä julkinen string,
joka on tag merkkijonon me itse mukana.
>> Jos sanon MainActivity.Extra_Message
se on tuolla, ja tämä on tavallaan kuin parametrin nimi
kun ohitimme koodi ohjaimen malli,
kun olimme sanoa otsikko nuoli jotain.
Se on samanlainen idea siellä.
Nyt, muistakaa tämä.
Meillä oli myös tämä auto luonut tai auto Tuotettu koodi
ja tuloksena toimintaa, joka sisältää tekstiä näkymä keskellä
joka sanoo hello world.
Voisimme mahdollisesti tehdä, että isompi.
Tehdään se ensimmäinen.
Voisimme tehdä sen 40 tiheys riippumaton pikseliä.
Katsotaan, että on erittäin suuri. Se on kunnossa.
Ja sitten, jotta voitaisiin verrata näitä yksittäisiä tekstinäkymä sisällä koodi
meidän täytyy antaa sille ID,
ja voidakseen tehdä, että sanomme @ + id, mikä tarkoittaa, asetamme sen tunnus.
Jos me vain sanoi @ id se olettaa olemme vertailemalla tunnus, joka on jo olemassa,
ja kutsukaamme tätä meidän resultTextView.
Ja huomaa, että XML ei ole tarvetta puolipisteitä tai mitään.
Kaikki on näitä tageja.
Se on hyvin samankaltainen HTML paljon aisteja.
>> Se vie hieman totuttelua, mutta lopulta sinun tuntuu mukavalta.
Katsotaanpa päivittää tekstiä tuloksemme Tekstinäkymässä
ja kuten teimme, kun olimme tulossa, että muokkaa tekstikenttään meidän muu toiminta
vuonna MainActivity täällä me myös myös-
löydämme näkymää tunnus.
Ja R, jos en maininnut tätä ennen, on viittaus resursseja kansioon,
ja sitten tunnus on viittaus kaikki resurssit kansiossa, kaikki tunnukset,
ja resultTextView.
Ja kuten ennenkin, resultTextView on esine,
mikä tarkoittaa, että se on kaikki nämä ominaisuudet liittyvät siihen.
Kun käytämme GetText varten muokata tekstiä tähän tekstikenttään tai tekstinäkymä
voimme todella käyttää setText,
ja sitten me jo viestin tarkoitusta,
joten voin sanoa viestin, ja tämä todellakin asettaa viestin.
>> Se hetki käynnistää, ja sitten näemme, onko se kaatuu,
mutta kysyttävää, että prosessi oikeassa, tuollainen vuorovaikutusta?
Monella tapaa se on yksinkertaista.
Syynä Olen menossa läpi jotain suhteellisen yksinkertaista
on, jälleen, koska saat nähdä vuorovaikutusta layout,
lähdekoodia, miten viittaus asioita
ja ehkä saada hieman altistuminen miten Java toimii siellä.
Jos olen itse kirjoittaa jotain täällä, kuten ohai, ja sitten painamalla painiketta
se käynnistää uutta toimintaa, ja että teksti näkymä kertoo ohai.
Se on hyvin yksinkertainen, mutta toivottavasti sen jälkeen esimerkiksi
olet tavallaan nähdä, miten tämä vuorovaikutus toimii, ja nyt, että sotku tiedostoja
vasemmalla puolella kaikista näistä projektin kansiot, toivottavasti tiedät mistä etsiä nyt.
Tämä on lähdekoodi alueella.
>> Layout on oikeastaan ​​ainoa asia, sinun käsitellä ennen kuin ovat kuvat
ja drawables tai mitä tahansa, ja arvot, jotka ovat jouset,
kuten edellä, ja sitten tyylejä on jotain, joka on tavallaan kuin CSS.
Käsitellä sitä, kun haluat, mutta kunnes tunnet olosi mukavaksi lisäämällä elävyyttä
hakemukseen ei tarvitse huolehtia siitä liikaa.
Vain kääriä yksi asia et varmasti halua sisällyttää-
olettaen haluat liittää hienoja ominaisuuksia ja säästää ylimääräistä koodaus-
olisi sisällyttää 3rd party kirjastoja.
Tässä pikku Android kaveri Sherlock Holmes hattu.
Tämä on Toim.palkin Sherlock kirjasto,
mikä tarkoittaa periaatteessa sitä, että Toim.palkin näit aiemmin,
joka on nyt vakiona Ice Cream Sandwich ja Jelly Bean,
jos haluat tuoda tuollainen käyttökokemuksen käyttäjille vanhemmat versiot
ja säästää itsesi huolta siitä, kuinka käyttäjä on menossa navigoida
vanhemmissa versioissa, kun että asia ei ole siellä voit lisätä tämän kirjaston
ja sitten sinun täytyy vain viite-eikä oletuksena Android
kirjastot Toim.palkin, johon viittaat tämän tuen kirjasto.
>> Asiat kuten Scoreloop, se on hienoa, jos aiot sisällyttää peliin.
Sen avulla voit lisätä johtaja laudat ja saavutuksia pelejä.
AdMob on tapa saada mainoksia sovelluksiin
jos haluat tehdä hieman rahaa pois siitä.
Tietenkin siellä on Facebook ja Twitter integroida olemassa
jos haluat jakaa asioita helposti, et cetera.
Dropbox, samoin, ja Google Analytics on, että kaavion näköinen ketään.
Se on erittäin tärkeää, jos todella haluavat nähdä, kuka on vuorovaikutuksessa
teidän App tai kuka se on, miten ne ovat vuorovaikutuksessa, et cetera.
Google, oletuksena, kertoo paljon tilastoja, jotka on asennettu App
ja mitä puhelimet he ovat, mitä käyttöjärjestelmää versiot heillä on.
Mutta jos haluat nähdä kuka sitä käyttää päivittäin ja kuinka he käyttävät sitä
niin sinun kannattaa sisällyttää jonkinlainen seurantajärjestelmä niin.
>> Kun olet valmis jakaa app
Minun ei tarvitse mennä, että liian paljon syvyyttä.
Klikkaa linkkiä täällä, Google Play.
Sitä käytetään olla Android markkinoilla.
Ne rebranded kaikki Google Play,
joten nyt annat sen.
Se on hyvin yksinkertaista.
Sinun on oltava kuvaus, joitakin kuvakaappauksia.
Kuten sanoin, ei ole hyväksymisprosessi kuin iOS.
Ja minne mennä seuraavaksi?
Näytin todella yksinkertainen esimerkki.
Toivottavasti jos se tuntuu hirveän yksinkertainen
niin se on luultavasti hyvä merkki.
Jos kaikilla tuntui hieman sekava tai epävarma, mitä olin kirjoittamalla
se on myös hieno, mutta täältä mene Googleen oppaat.
Tämä on hyvä paikka aloittaa.
Se puhuu sinulle, mitä he odottavat kannalta suunnittelu,
miten käyttäjät yleensä vuorovaikutuksessa sen kanssa.
Se on paljon enemmän vapaa muodossa kuin iOS, sanoisin,
mikä se tuntuu taulukon näkemyksiä-En tiedä, se on heidän leipää ja voita.
Kaikki on pöytänäkymän liukuva ylös ja alas.
Android he varmasti kannustaa ihmisiä katsomaan sitä
koko joukko eri näkökulmista.
>> Kun lisäät Software Development Kit tässä ADT
Oletuksena on koko joukko esimerkkejä hankkeista Android.
Juuri täällä, Android, Android Sample Project.
Jos klikkaan sitä, niin voin valita versio, joka on esimerkkiprojektit sovelletaan.
On koko joukko erilaisia ​​asioita täällä.
Se alkaa pois Toim.palkin yhteensopivuus,
kiihtyvyysanturi pelata, varmuuskopiointi ja palautus, Bluetooth, ele rakentaja.
Jetboy on näyte peli he antavat sinulle, kuten LunarLander.
On olemassa koko joukko mallisovelluksia täällä,
ja he kaikki suunnattu eri osa Android API,
ja ajatus on, että teet hakemuksen
sinun ei tarvitse oppia kaikkea Android tehdä Android-sovellus.
Sinun täytyy vain oppia osia, jotka olet todella aio käyttää.
Katsokaa näitä näyte kirjastoissa.
Voit vapaasti kopioida ja liittää koodin ja ottaa sen uudelleen.
Se on hyvä asia tarkastella vaikeampaa koodi
ja yrittää ymmärtää sitä, mikä on tietenkin miksi CS50
me usein antaa sinulle paljon lähdekoodia.
Katsokaa joitakin näistä, jos aiot käyttää samanlaisia ​​kirjastoja
ja sitten soveltaa sitä oman koodin.
Ja tietenkin on olemassa opetusohjelmia.
Etsi opetusohjelmia.
Löysin paljon hyviä verkossa, joka voi tuoda sinulle jopa nopeudella
mitä palasia todella ovat ja miten voit käyttää niitä.
>> Jotkut näistä uusista suunnittelun asioita, kuten fragmentteja,
sinun ei todellakaan tarvitse olla huolissaan, jos teet
melko suuri laajuudeltaan hankkeeseen.
Ne ovat asioita, jotka Google yrittää vähitellen sisään
Stackoverflow on tietenkin ystäväsi.
Toivottavasti myin teille hieman Android,
ymmärtämättä se on paljon helpompi lähestyä kannalta vain koodaus kieli.
Java on sanoisin paljon helpompi ymmärtää kuin Objective-C.
Android kasvaa mielestäni paljon enemmän kuin iOS.
Tarkoitan, tiedot on siellä, syrjään mitä ajattelen.
Se tulee olemaan noin jonkin aikaa,
ja ne ovat muutaman vuoden jäljessä niiden suunnittelu jaksoa,
joten se on tavallaan ymmärrettävää, että he edelleen työtä läpi joitakin näistä
johdonmukaisuus kysymyksiä, kuten tämä Toim.palkin on uusi asia heille vielä,
tavallaan luoda samanlainen käyttökokemus kaikissa niiden sovellukset.
Toivottavasti voit mennä eteenpäin nyt ja avata Eclipse
ja tee oma Android-sovellukset.
>> Onko kellään mitään kysyttävää ennen kuin kääriä mitään?
Voin kertoa teille vastaus on 42.
No, onnellinen koodaus kaikille, ja onnea.
[CS50.TV]