>> Fred WIDJAJA: Bone.
Saluton, ĉiuj.
Dankon bonvena por aliĝi min en ĉi tiu seminario.
Do hodiaŭ ni iras por paroli pri kiom por disvolvi apps por Android,
kaj aparte, ni tuj esti uzante Android Studio en ordo
disvolvi nian apps.
>> Do kiel vi cxiuj sciu.
Android uzas Java, kaj tiaj ni estos irante tra mallonga enkonduko
sur Java mem.
Do mi scias multaj de vi nur havas sperto programado en C. Do
tio tute delikata, kaj tio estas ĉar Java estas tre, tre
simila al C, kun iom diferencojn.
>> Do la tipojn en Java estas fiksitaj en la nombro de bajtoj.
Do en C, ni havi shorts kaj sopiras, kaj oni
diferenci en kvanto de bitoj laŭ la maŝinoj.
En Java, ĝi estas jam fiksita kiel normo.
Do bajtoj havas ok bitoj, shorts havas 16 bitoj, kaj tiel plu kaj tiel antaŭen.
Ni ankaŭ havas signojn, booleans, kaj ankaŭ flosas kaj duobloj.
Do la vojo vi plani en Java, ĝi estas tre simila.
Do ekzemple, ni havas por maŝojn kaj dum maŝojn,
kaj se kaj alie asertoj estas ĝuste la sama kiel vi faros en C.
>> Bone, do la speciala afero pri Java estas ke ĝi estas objektema.
Nun, kio estas celoj?
Do se vi rigardas la aferojn ĉirkaŭ vi, vi devos
rimarkos ke ĉiu reala mondo objekto havas du komunajn trajtojn.
Kaj tio estas, ke ili havas staton kaj ili havas ian konduton.
>> Do ekzemple, hundoj havus ŝtatoj kiuj
estas nomo, haŭtkoloro, raso, eble se la hundo estas malsata aŭ ne.
Kaj iuj kondutoj kiuj hundoj havus estus bojante, aŭ balancante voston,
aŭ serĉos pilko.
Do ni povas ankaŭ apliki ĉi al celoj inanimados.
Do ekzemple, aŭtoj, ili havas la modelo, jaro, maks rapido,
kaj tiel plu kaj tiel antaŭen.
Kaj ili havas iun konduton.
Ekzemple, akcelante, aŭ bremsita, aŭ irante inverse.
>> Do Javo celoj provo modeligi tiu por havi kampoj kaj metodoj.
Do kampoj estas la statoj kiu Java objekto povas havi,
dum metodo reprezentus la konduto kiu Ĝava objekto havus.
Do kiam mi diras metodoj kaj ludejoj, mi vere
nur signifi variabloj kaj funkcioj.
Ili estas ekzakte la sama, krom ke ili aplikas al certa objekto.
>> OK, tiel pasi al klasoj.
Java klasoj estas kiel la Blueprints por objekto.
Ili diras al vi kion metodoj ĝi havas, kion kampoj pluvis!
kaj eĉ tie, ni havas ion nomata aliro modifiloj kiu
ni atingos en kiam.
Do deklari Ĝava klaso, estas tre simila en sintakso al C struct.
>> Ĉi tie ni dividas kun publika klaso Car, kaj tiam ni havas malfermita krampo kaj poste
kelkaj nombro de kampoj kiuj Vi volas la celon havi.
Kaj tiam tie ni havas kelkajn metodojn, kaj ni ankaŭ havas celon konstruilo.
Nun kio estas tiu objekto konstruilo faras estas ĝi rakontas la objekto,
OK, Mi volas pravalorizi ĉi kontesti kun ia kampoj.
>> Do jen, ni volas ĉiu Aŭto havi modelo kaj jaro.
Do ni havas konstruanto nur specife
por la modelo kaj la jaro, kaj ĉi fiksus la modelo kampo
al certa valoro, kaj la jaro kampo ankaŭ.
>> Nun pri la aliro modifiloj mi parolas.
Ni tie havas la publiko kaj privata aliro modifiloj.
Do vi povas pensi pri ĉi tiel la RWX en via dosierujoj.
Do ili permesi unu popolo legi kaj surloke
al tiuj kampoj kaj metodoj.
>> Do se mi diras ke modelo kaj jaro kaj rapido estas privataj,
tio signifas ke aliaj objektoj ne povas provas aliri ĉi objekto kampoj
tie estas privataj.
Sed kiam mi difinis la aliro modifaj esti publika,
nun ke signifas ke aliaj objektoj rajtas aliri kaj eĉ
uzis la metodojn kiuj estas difinitaj tie.
>> Do tiu estas la baza Aŭto celo kiun mi havas.
Ni havas la akceli, rompi, kaj getSpeed ​​metodoj.
Al tia punkto, estas cxiu klara sur Java objektoj kaj kiel por deklari ilin?
Cool, tute certe.
Do se vi volas uzi la Java kontesti en programo mem,
tiam ni povas uzi tiun nova Aŭto konstruilo.
Do jen ni dirante ni volas deklari nova celo, kiu estas de tipo Aŭto.
Kaj tie ĝi estas aplikanta la modelo kaj jaro,
kiun ni difinis en tiu objekto ĝuste ĉi tie.
>> Do ĉi tiu estas ankaŭ alia kontesti, se vi rimarkas.
Estas klaso por la ĉefa programo mem.
Kaj ni havas ĉi PSVM, aŭ publika statika void main, funkcion,
kaj lia la ekkuron punkto de via programo,
Simila al la ĉefa funkcio en via C programon.
Tie, ni povas aliri kaj uzi la objekta funkcioj
uzante la skalara kaj tiam la funkcio nomo skribmaniero.
Kaj ni povas eĉ specifi certaj argumentoj aŭ parametroj
por tiu funkcio.
>> OK, do nun movas sur al heredo.
Do reala mondo objektoj povas dividas la samajn karakterizaĵojn.
Do ekzemple, estas malsamaj tipoj de bicikloj.
Ekzemple, mountain bike, urbo bicikloj, aŭ tandemo bicikloj.
Do ili havas tiun komunan karakterizaĵo de esti biciklo.
>> Kaj tiel bicikloj povas havi du radoj kaj ili povas havi stirilo, eble eĉ
vosto lumo aŭ iel simile.
Do Javo donas al ni tiun potenco por reprezenti celojn
kiuj havas iujn komunajn trajtojn tra heredo.
Nun, kio heredaĵo faras, estas ĝi pasas sur objekto kampoj kaj metodoj
al infano objekto.
>> Do ekzemple, se mi havas aŭton, kaj ĝi havas
la stato de havi kvar radojn kaj unu stirrado,
tiam ni povas pasi ĉi al iuj malsamaj tipoj de aŭtoj.
Ekzemple, ni havas la sedán, sporta aŭto, kaj SUV.
Nun, ĉi tiuj tri malsamaj tipoj de aŭtoj ankoraŭ
havas kvar radojn kaj unu stirrado, sed tiam ili
povas havi iun specialaj karakterizaĵoj,
kiel havanta kvin sidejoj kaj a por sedán, ekzemple.
>> Do por fari uzon de tiu heredaĵo trajto, ni uzas ĉi etendas ŝlosilvorto.
Do memoru reen al la Aŭto kontesti ke mi difinis antaŭe.
Nun mi difini Sedan objekto.
Do ĉi Sedan objekto havus la samaj kampoj kaj funkcioj, aŭ metodoj,
ke la aŭto devus.
Sed tiam, tie mi specifi iuj aldonaj funkcioj,
ekzemple, la aro nombro de pasaĝeroj
kaj la preni la nombron de pasaĝeroj.
>> Tie, vi povas rimarki ankaŭ ke ni povas nuligi metodoj,
kaj tio signifas ni ĵus anstataŭante la konduto
agi malsame en iuj kazoj.
Do, ekzemple, mi volas kontrauxmeti max rapido por nia aŭto.
Kaj por fari tion, mi kontrolu ĉu tiu rapido irus super la max rapido.
Kaj se ne, tiam mi vokos la Super klaso akceli metodo.
Do tiu estas la super.accelerate () alvokoj la super klason 'akceli metodo.
>> Fine, ni tuj paroli pri interfacoj.
Do interfacoj estas maniero elmontri nur certaj metodoj por la ekstera mondo.
Do ili estas kiel tablo de enhavoj, kaj vi
povas pensi pri ili kiel ŝatas la C kaplinio dosierojn, nur
kiel metodoj kun malplenaj korpoj, kaj ili ekzaktigis la objekto aŭ la klaso
devas havi, aŭ kion metodoj la celo aŭ klaso devas havi.
>> Do ekzemple, se mi havas biciklon interfacon,
kaj ĝi havas tri malsamajn metodojn, kaj tie, se mi implementar ĉi tiu interfaco,
tiam tio signifas ke ĉi Biciklo bezonus por implementar la samaj tri
metodoj kiujn mi difinis en la interfaco.
>> Ĝis tiu punkto, ajna alia demandojn?
Bone, malvarmeta.
Do tiu estis tre mallonga kaj rapidan lernilo sur Java.
Estas vojo pli karakterizaj kaj temoj en Java, ke vi povas reale trairu.
Ekzemple, ekzistas genéricos, ekzistas datumtipoj,
ekzistas eĉ enums kaj vazojn.
Do se vi volas lerni pli pri tio, do sekvu tiujn ligilojn,
kaj ili instruos vin pli pri ili.
>> OK, do, ni pluiru al la reala karno de la seminario,
kaj kiu estas reale Android programado.
Do antaŭ ol ni efektive akiri al programado,
Mi volas paroli pri iu slango.
Do aktiveco estas Android la maniero diri
ĝi estas sola ekrano ene de la apliko.
>> Do, ekzemple, se vi havas Gmail app, ni havas la vidon retmesaĝoj aktiveco.
Kaj tiam se vi klakas unu retpoŝto, ke
montros alian aktiveco kie ĝi estas vido retpoŝto aktiveco.
Kaj tiam ni ankaŭ havas la Compose aktiveco, aŭ la redakto mesaĝon aktiveco.
Kaj tiel aktivecoj estas ĝenerale nur sola ekrano
ene de la aplikaĵo mem.
>> Nun, rigardoj estas la komponantoj kiuj faras ĝis la ekrano, aŭ la agado mem.
Do ili desegni iun afero en via ekrano.
Do ekzemple, ĝi povus esti tekstujon, ĝi povus esti etiketo,
ĝi povus esti ĉekojn skatolo.
Tiel Estas multaj malsamaj tipoj de vidoj.
Do nun ni havas intencojn, kaj tio mesaĝon
kiu preterpasis al alia aktiveco.
Kaj ili enhavas informon pri kion vi volas ĉi aktiveco ekzekuti.
Laste, ni havas la Evidentaj dosiero, kaj ke
estas XML dosiero kiu donas via telefono ĉiuj informoj pri via app.
Do tio inkludas la version, kaj la aktivecoj kiujn vi havos.
>> OK, do ni komencu.
Do ni tuj estos uzante Android Studio.
Do se vi infanoj havas tiu jam instalita, ni invitas vin sekvi kune.
Ni penos kaj rekomencos el nulo.
Kaj tial mi iros por provi kaj krei novan projekton.
Kaj mi tuj vokas mia projekto Android 101.
Kaj tie ni enmetas la nomon de la projekton en la apliko nomo kampo.
>> Kompanio Domain, vi ne vere devas maltrankviligi ke.
Tiu estas precize kiel Android identigas via kandidatiĝo.
Do vi havas domajnnomon, vi povas tajpi en via domajna nomo ene de tie.
Sed se ne, vi povas senti libera enmeti ion vi deziras.
Do jen mi simple entajpu frederickw.com.
>> Kaj poste, fine, mi elektas kie Mi volas konservi mia projekto en.
Kaj mi tuj simple elektas mia labortablo.
Do Uzantoj, Frederiko Widjaja, kaj Desktop.
Akcepti.
Tiam alklaku Sekva.
Ĉi tie, mi tuj elektos la minimuma API por esti apogita.
Do en ĉi tiu kazo, kiu estas tuj elekti API 15.
Kaj estas delikata se vi fakte ĝuste elektu 4.4 kiu estas la lasta API.
Aŭ 5, fakte.
Sed tiam vi nur bezonas zorgi pri kiu telefonoj vi vere apogas,
kaj kiu telefonoj vi celado.
Klakas Progresa.
>> OK, do ni venis al tiu ekrano, kaj ni ĵus
tuj uzos krei aktiveco tra ĉi.
Do mi tuj klaku malplenan aktiveco kaj tiam Next.
Ni tuj nomas ĝin ĉefa aktiveco, mi pensas ke estas bone.
Nur tuj nomas ĝin, gazetaro Finiĝi dekstra tie.
Atendi ĝin ŝarĝi, kaj tie ni iru.
>> Do jen ni rimarkos tri malsamaj dosierujoj.
Ni havas la manifestoj dosierujo kiu enhavas nian manifestas.
Se vi malfermas ĝin, ni vidos niajn pako.
Aŭ kiel Android identigas via aplikaĵo
kaj tiam ni havas ĉi apliko etikedo, kiu
enhavas la titolo de nia apliko tiel kiel la ikono por la aplikaĵo.
>> Ni povas fakte kuri ĉi apliko rekte.
Do kial ni ne provu fari tion?
Mi tuj uzos Genymotion.
Se vi venigis vian propran telefonon, sed vi povas ligi ĝin kaj ruli ĝin, se vi volas.
Sed mi simple tuj uzi emulador, kaj mi tuj komencos ĉi.
Ooh.
Nu mi kredas ke tio estas tuj prenos tempon,
do mi opinias ke ni nur akiri rekte en klarigante pli pri tio.
Do jen ni havas la Java dosierujo, aŭ kie viaj dosieroj fonto estas enhavitaj.
Ni tie havas la ĉefa aktiveco mem.
Vi povas vidi ke ĝi etendas la aktiveco klaso.
Do nia ĉefa aktiveco estas ekrano ke estos en nia apliko.
Kaj tiam tie ni rimarkas ke nombro de funkcioj estas aŭtomata generita por ni.
Ni havas la onCreate funkcio, kaj kiu estos nomita whenever--
Lernanto: Ĉu vi kontraŭus farante la teksto pli granda?
Fred WIDJAJA: OK, sekura.
Mi provos kaj pligrandigi la tiparon.
Pensu ke devus esti bona.
Tio estas bona?
>> Student: malmulta pli alta, kiel 20 aŭ io.
>> Fred WIDJAJA: 20?
Akcepti.
OK, all right.
Do jen ni havas onCreate metodo kiu farus
nomi kiam nia aktiveco estas kreita en la [? montri?].
Ni havas la onCreateOptionsMenu, kaj ni
vidas ke estas vere ago trinkejo, kaj tiam
ni povas aldoni iujn menueroj sur ĝin.
Kaj tiam tie ni havas la onOptionsItemSelected.
Do ĉi tiu estas kiel okazaĵo aŭskultanto, do kiam ajn eblo en nia agado trinkejo
estas clicked, ĉi funkcio estos vokita,
kaj ĝi estos pasinta kun certaj ítem kiu estis klakita.
>> OK, Mi tuj see-- tio ne funkcias bone.
Ni provu kaj komenci.
Ho kara.
Akcepti.
Tio estas preocupante.
OK, do ĉiuokaze.
Ni tie havas la aranĝo por nia aktiveco mem.
Tio estas nia ĉefa aktiveco, kaj tie ni rimarkos ke estas la ago trinkejo.
Kaj tiam ni havas ĉi hello mondo discográfico, kaj ni povas reale
redakti tekston ĉi tie.
Se vi ne eniros kaj voluta malsupren al la Hello World,
Ni povas ŝanĝi ĝin al kion ni volas.
Ekzemple, ĝi povus esti, Hi tie.
Bonvenon.
Kaj tie ni iru, ĝi ŝanĝas.
Ho kara.
Tiu stilo ne laboras.
OK, estas preocupante.
OK, ĉiuokaze, ni povas movi sur sen tio.
Do nuntempe, ni provu kaj fari iun vere bazaj ajxoj.
Do jen ni tuj havos etiketo, kaj tiam ni
tuj havos tekston view-- Pardonu, ne estas teksto vido,
ni tuj havos redaktan tekston.
Kaj ke estas komponanto por vi tajpi kaj vazojn.
Do ni havas simplan tekston, kaj poste Ni nur aldonu gxin sur nia interfaco.
>> Ĉi tie, mi volas aldoni ankaŭ kelkajn rando la supron tiel ke ĝi aspektas pli bela.
Do ni tuj iru al la propraĵoj, kaj tiam ĉe la supro rando,
Ni tuj aldonos en 20 DPS.
Do nun, DPS estas nur unueco de mezuro en Android,
kaj ili reprezentas denseco sendependa rastrumeroj.
Do, kiel vi eble scias, Android, ekzistas multaj malsamaj specoj de ekranoj
kaj tiam ili devos malsama ekrano densecoj.
Do jen estas nur tuj estos denseca sendependa bildero,
Do estas tuj estos sama tra ĉiuj ekranoj.
>> Irante al etendi ĉi redakti tekston, kaj tiam mi ankaŭ tuj aldoni butonon.
Kaj ĝi tuj diros OK.
20 DPS.
Akcepti.
Do nun ni havas tri malsamaj komponantoj.
Kaj la vojo ni povas raporti al tiuj en nia ĉefa aktiveco klaso
estas per uzo ĉi metodo nomata findViewByID.
Do mi iros por difini iujn kampojn.
Do ni havas en TextView, tiel diru helloText.
Kaj tiam se vi uzas Android Studio, Vi povas uzi la serĉpeton alternaj,
eniri.
Kaj klaku Import Klaso aŭtomate importi la responda klasoj
ke ni bezonas.
Kaj tiam tie Mi tuj aldonas tie IRU por ĉi TextView kaj nomas ĝin text_hello.
Nun ke ni jam difinis IRU por ĉi TextView,
ni povas uzi tion por referi al la textview ke ni ĵus difinis.
Do helloText egalas TextView findViewByID,
kaj tiam ni specifi la IRU ke ni volas, kiu estas r.ID.text_hello.
>> Do tiu estas tre simila al Ĝavoskripto kaj jQuery, kie ni povas reale nur
referi al certaj elementoj en la aranĝo ĝuste
uzante la IRU ke ni specifis.
Do ĝenerale, konsenti certa objekto aŭ determinita kampo
en nia aranĝo, vi tuj devos uzi ĉi findViewByID metodo.
Kaj tiam ni tuj faros la saman aĵojn por la aliaj du eroj.
Ĉi tie, mi tuj aldonu la ID text_name.
Jes.
Tiel kiel por tiu ĉi.
Button_ok.
>> Nun kion mi volas tion fari estas kiam ni klaku la butonon,
kaj ni inputted ian de nomo en la teksto kampo,
tiam tuj ĝisdatigi ĉi label diri, Hi, Nomo, bonvenaj.
Do, reen en nia ĉefa aktiveco klaso, ni estas
ankaŭ tuj provi kaj raporti al tiuj elementoj kiujn ni havas por trovi.
>> Do ni havas la EditText nameText.
Oops.
Eniri kaj alternaj, importado klaso.
Kaj poste ankaŭ la butonon Akcepti.
Simile, ni tuj fari la samon ĉiam tie.
nameText egalas EditText findViewByID, r.ID.text_name.
Kaj tiam la OK butono.
findViewByID, r.ID, kaj tiam button_ok.
>> OK, do nun ni havas ĉiujn tri elementoj kiujn ni volas raporti al.
Do nun mi iros al alfiksi la sur alklaku aŭskultanto nia butono
aŭskulti por uzanto klakoj.
Por ke ni nur uzu la setOnClickListener okazaĵo.
Nun, Ĉi tie estas dirante ke ni bezonas specifi setOnClickListener,
kaj vi povas fari tion por nur havi nova onClickListener, kaj premu Enter.
>> Kaj tiam vi havas ĉi anonimaj klaso, aŭ anonima objekto.
Kaj ni ankaŭ havas ĉi onClick metodo, kaj tio estas esence
kio okazos al nomi kiam ajn nia butonon La klakis.
>> Do jen, mi volas ricevi la nomon kiu Estis input enen tekstujon unuaj Do
String nomo egalas al nameText.getText ().
Denove, ĉi tio estas kiel la Java sintakson por raportante
al funkcioj ene de la objekto.
Do nameText.getText, kaj tiam ni tuj konverti ĝin al ŝnuro.
Ni nun havas la nomo kiun Estis enigo de la uzanto.
>> Kaj tiam ni tuj generi novan ĉenon,
Do estas tuj estos nomita Hello.
Mi intencis diri, Hi, Nomo, bonvenaj.
Kaj fine, vi volas ĝisdatigi la helloText.
Do fari tion, ni simple vokas helloText.setText (saluton).
Akcepti.
Oops.
>> Mi tuj provos kaj re-ekzekuti Genymotion unu fina tempo kaj vidi se ĝi funkcias.
Se ne, ĝi estas tute bone.
Akcepti.
Do mi supozas ke tio ne funkcias.
Reale, mi provu kaj faru tion.
Eblus ĉi.
Genymotion.
Akcepti.
Bone.
Jes, ĝi funkcias.
Akcepti.
Tio estis timiga.
Akcepti.
Mi ne intencis fari tion.
OK, do ni havas ĉi Android emulador.
Nun mi turniĝu ĉi ekstere.
Do ni havas nian Android emulador.
Do ni tuj provi kaj kuri ĉi app kiu ni faris.
Nur tuj klaku la Play butonon, kaj ĝin tuj diros, atendante ADB.
Ho, viro.
Rekomenci.
OK, mi supozas ĉi ankoraŭ ne funkcias.
OK, Nevermind, tiam.
ĉi tiu tuj estos domaĝe.
Sed tiel ni diru, ke ni volas krei novan aktivecon,
kaj ni tuj havos Bildo en tiu aktiveco.
Por fari tion, ni povas simple alklaki Ĉi tiu dosiero kaj tiam Nov.
Kaj tiam tie ni povos selekti Aktiveco, kaj tiam Blank Aktiveco.
Ĉi tie, ni iras por voki ĝi eble CatActivity.
>> OK, do nun ĝi generas du aliaj dosieroj.
Unu nomiĝas activity_cat, kaj la aliaj
nomas catActivity, kiu estas klaso.
Do ni diru, ke ni volas aldoni bildon de kato dekstra tie.
Do kiam vi faras tion, ni iras uzi la ImageView klaso.
Ni tuj aldonos ĝin en ĉi tie.
Kaj tiam starigis la rando por esti 20 DP.
>> Kaj nun ni iras por trovi bildo de kato sur interreto.
Do ni vidu.
Kato.
Akcepti.
Mi supozas ke ĉi tio estas tre bone.
Akcepti.
Do nun ni havas niajn bildo.
Do ni tuj aldonu ĝin en nia projekto.
Povas fari tion per dekstra alklakinte, kaj then-- ni
povas reale simple malfermu ĉi, iri malŝarĝoj, pardonon, labortablo.
Tuj provi kaj trovi ĝin.
Kato.
Ĝuste ĉi tie.
Mi tuj kopii ĝin en mia dosierujo.
Nun, ĝi estas tuj demandos al mi malmultaj ebloj.
Nun, mi nur volas tion esti en la drawable dosierujon,
kaj ke tuj estos por ĉiuj malsamaj ekrano rezolucioj.
Alternative, ni povas fakte ĝuste elekti
kiun ekrano rezolucio vin volas tiun bildon esti en.
Do tuj selektos la drawable dosierujo, alklaku OK.
Nur tuj enoficigi ĝin cat.jpg.
>> OK, do, nun ĝi estas aldonita en nian bildon vido.
ni tuj devas uzi tiu fonto ĉi tie,
kaj tiam ni povas uzi ĉi dot dot dot butono, kaj elektu la kato bildo.
Akcepti.
Do nun mi volas igi ĝin tia ke estas nur la dekstran grandeco.
Do mi iros por elekti ĉi alĝustigi vidi limojn eblo ĝuste ĉi tie,
kaj kiu aŭtomate diferencigas ĝin dekstren grandeco.
Akcepti.
Nun, por vere ĵeti ĉi aktiveco de nia antaŭa aktiveco,
vi tuj devos uzi iu nomita la intenco.
Do diru Mi tuj aldonos alian butonon kiu ĵetas la aktiveco.
Mi tuj aldonos ĝin ĉi tie, ĉi tie.
Kaj tiam tuj havas la tekston aktivigi ĝin.
Oops.
Akcepti.
>> Nun, kiel ni vere malfermi la nova aktiveco ene tiu agado?
Do saman interkonsenton kiel antaŭe.
Ni bezonas aldoni IRU por tiu butonon, kaj nomas ĝin button_activate.
Kaj tiam en nia ĉefa aktiveco, irante havi tiun novan Buton activateButton.
Kaj tiam ankaŭ uzas la findViewByID metodo.
activateButton egalas Buton findViewByID r.ID.button_activate.
>> Akcepti.
Kaj tiam ni ankaŭ tuj aldoni en onClickListener.
Novaj onClickListener.
Kaj tiam ni tuj uzos tion nomis Intent.
Intent egalas nova Intent (ĉi).
Kaj tiam la nomo de la aktiveco kiu ni volas montri supren.
Do jen en tiu, ni iras havi catActivity.class.
Pardonu.
Ni tuj devas entajpi @ MainActivity.this.
Do nun la .this proprieto raportas al la aktuala kazo de la objekto
mem.
Akcepti.
Ĝis tiu punkto, ajna demandoj?
Ĉiuj bonaj?
Bone.
>> Kaj tiam, se vi volas komenci la aktiveco, estas sufiĉe simpla.
Ni nur alvoki la startActivity metodo.
Kaj tiam ni pasas en la Intent celo kiun ni ĵus difinis.
Bedaŭrinde, ni ne povas vere montri ĉi.
Mi esperis, ke ni povas reale kuri ĉi kaj montri ĝin kune en la seminario,
sed bedaŭrinde ne.
Ho, viro.
Mi vidu.
Ho, ni tuj provos kaj mortigos ATB.exe.
Akcepti.
Rekomenci.
Ĉu ĝi funkcias?
Ho, OK.
Do nun estas reale kompili.
Oh.
Bedaŭrinde, ne estas neniu mekanismoj kurante.
Ni provu kaj restartu mia emulador.
Ha, tie ni iru.
Ĝi aperis.
Akcepti.
Do mi tuj ĵetos mian app sur mia Android emulador.
Kaj ni havas tion ke ni difinis nur nun.
Do ni havas la etikedon, la teksto vido, la teksto kampo kaj tiam la butono.
Do Mi tuj enigo mia nomo ĉi tie,
kaj tie ni iru, tio ŝanĝis la tekston.
Do se ni tajpi en Foo, estas tuj ŝanĝos al Foo.
>> Kaj se mi klaku la Aktivigi butonon, kiu
Ni kunligis al reale ĵeti nova aktiveco, espereble tiu funkcios,
tie ni iru.
Ĝi ĵetas la nova aktiveco.
Reiri, ni povas premi la Back butonon dekstre tie.
Aŭ ne.
Ho, tie ni iru.
Oops.
Tio estis malbona.
Akcepti.
>> Do nun ke ni implementado iuj bazaj havajxoj en Android,
ni povas provi fari iun pli altnivelaj informoj.
Do unue, ni provu migru mesaĝojn de unu aktiveco al alia.
Do diru ni volas pasi en nomo de la ĉefa aktiveco
al la kato aktiveco.
Kaj nomon estus Konsultita de ĉi nameText.
>> OK, do unue, ni tuj rekuperi la nomon ĝuste ĉi tie.
String nomo egalas nameText.getText (). toString ().
Akcepti.
Kaj tiam ni povas uzi tion nomata intent.putExtra (nomo),
kaj poste ĝi efektive ankaŭ volas ŝlosila por tiu ekstra kampo.
>> Do mi tuj difini nova klavo, ni nomas ĝin EXTRA_NAME.
Do mi tuj uzos ĉi klavo, CatActivity.EXTRA_NAME,
kaj tiam pasas en la nomo mem.
>> OK, do nun ni povas fakte elsxuti ĉi ene la nova CatActivity.
Por fari tion, ni devas uzi la intenco egalas getIntent metodo.
Do nun estas tuj elsxuti intenco,
estis uzata por voki ĉi nova aktiveco.
Do se vi volas preni la kordo ke ni efektive metu ene la intenco,
vi povas uzi intent.getStringExtra kaj tiam pasas en la sama tonalo,
>> OK, do nun diru ni vin volas ŝanĝi ĉi kampo.
Ŝanĝi ĉi kampo dekstra tie.
Kaj ni akiru la tiparo grandeco de ĉi tiu kampo pli granda.
Do diru Mi volas ĉi esti 20 DP.
Akcepti.
Kaj mi tuj aldonas tie IRU por ĉi TextView,
kaj mi tuj vokos ŝin text_cat.
Pardonu.
>> Kaj reen en CatActivity, saman traktadon kiel antaŭe.
Ni intencas difini iujn kampojn.
Tie tuj estos oni TextView catText.
Kaj tiam catText egalas TextView findViewByID, r.ID.text_cat.
Akcepti.
Kaj tiam reen en ĉi tie, Mi estas tuj almetis la tekston dekstren
post ni elsxuti por ĝin de la intenco.
setText (nomo).
>> OK, do ni provu tion diveni.
Klaku la Play butonon.
Mi iras al uzi la sama mekanismo.
Reen en ĉi tie.
Do diru mi ne input-- se ni ne specifas neniun nomon,
ni vidu kio okazas.
Do nun nenio estas, ke aperas.
Do ni iru reen kaj enigo nia nomo, Estas nur tuj diros Fred.
Do ni povas reale pasi mesaĝojn de unu aktiveco al alia.
Akcepti.
>> Do tie estas faskon da aliaj vidpunktoj ke vi povas uzi en Android.
Do nun ni havas la progres-barojn, ni havas listrigardoj, ni havas Baskuli butonojn,
kaj se vi vere volis lerni pli pri tio,
vi povas vere viziti tiujn retpaĝojn.
Ili enhavas multaj malsamaj rimedoj.
Do ekzemple, la API gvidi dekstran tie reale
donas al vi kelkajn kodo ekzemploj por certaj karakterizaĵoj en la Android biblioteko.
>> Kaj kelkaj tutoriales mi trovis utila kiam lernante pri Android.
Tio estas la oficiala lernilo mem, kaj ankaŭ ĉi tiu alia lernilo dekstra tie.
Kaj fine, vi povas reale uzi malsamaj bibliotekoj
por via Android apliko.
Nun, tiuj efektive plilongigi la funcionalidad de via app
sen devi vere skribi multe kodo.
La malavantaĝo estas, Kompreneble, ke vi efektive
devas lerni la bibliotekoj mem.
>> Do ekzemple, se vi volas fari uzi de Dropbox nubo teknologio,
tiam vi povas uzi la Dropbox API.
Similaj per la Facebook API.
Kaj tiam tie estas reale kelkaj malsamaj aliaj Miscellaneous bibliotekoj
ke vi povas uzi.
Se vi provas atingi, kiel, JSON de iu retejo,
tiam mi kredas ke la Google JSON biblioteko estus bela helpema.
Do nun, kiu konvertas JSON formatitan tekston al Javo objekto,
kaj inverse.
>> Kaj tiam tie estas Retrofit kaj Picasso.
Kaj tio estas, se vi volas use-- tio estas ĉar se vi uzas ripozon API.
Kaj Picasso, se vi uzas bildojn por via Android apliko.
Bone.
Koran dankon, kaj amuzi kodigo.