Fred WIDJAJA: Ang lahat ng karapatan. Kumusta, lahat. Salamat tanggapin ka para sa pagsali sa akin sa seminar na ito. Kaya ngayon namin pagpunta sa ay pakikipag-usap tungkol sa kung paano bumuo ng mga app para sa Android, at lalo na, kami ay pagpunta sa maging gamit ang Android Studio upang upang bumuo ng aming mga app. Kaya bilang ng maaaring alam mo lahat. Android ay gumagamit ng Java, at sa gayon kami ay magiging pagpunta sa pamamagitan ng isang maikling panimula sa Java mismo. Kaya alam ko marami sa inyo mayroon lamang karanasan sa programming sa C. Kaya na lubos pinong, at iyon ang dahil ang Java ay napaka, napaka katulad ng sa C, na may kaunti pagkakaiba. Kaya ang mga uri sa Java ay mga naayos na sa bilang ng mga byte. Kaya sa C, mayroon kaming shorts at longs, at sila ay -iba sa bilang ng mga piraso mula sa machine sa machine. Sa Java, na-set bilang batayang. Kaya byte may walong bits, shorts may 16 bit, at iba pa at iba pa. Mayroon din kaming mga char, boolean, at sa kamay din at doubles. Kaya ang paraan ng programa mo sa Java, ito ay halos katulad na. Kaya halimbawa, mayroon kaming para sa loop at habang loop, at kung at iba pa na mga pahayag eksaktong pareho ng kung paano mo gawin sa C. Ang lahat ng mga karapatan, sa gayon ang mga espesyal na bagay tungkol sa Java ay na ito ay nakatuon sa bagay. Ngayon, ano ang mga bagay? Kaya't kung tiningnan mo sa mga bagay sa paligid mo, ikaw ay mapapansin na ang bawat tunay na mundo na bagay May dalawang karaniwang mga katangian. At iyon ay na mayroon sila ng estado at ang mga ito ay isang uri ng pag-uugali. Kaya halimbawa, aso ay magkakaroon ng mga estado na mga pangalan, kulay, lahi, siguro kung ang aso ay gutom o hindi. At ilang mga pag-uugali na aso ay magkakaroon ay magiging Barking, o wagging isang buntot, o sa pagkuha ng bola. Kaya maaari rin naming ilapat ito walang buhay na bagay. Kaya halimbawa, mga kotse, ang mga ito modelo, taon, max bilis, at iba pa at iba pa. At mayroon silang ilang mga pag-uugali. Halimbawa, accelerating, o pagpepreno, o pagpunta sa laban. Kaya bagay pagtatangka na gawing modelo ang Java ito sa pamamagitan ng pagkakaroon ng mga patlang at mga pamamaraan. Kaya field ang estado na ang Java sa bagay na maaaring mayroon, habang pamamaraan ay kumakatawan sa pag-uugali na ang isang Java object ay magkakaroon. Kaya kapag sinabi ko pamamaraan at mga patlang, ako talaga ibig sabihin lang variable at mga function. Ang mga ito ay eksaktong pareho, maliban na ilapat ang mga ito sa isang tiyak na bagay. OK, kaya gumagalaw sa sa mga klase. Mga klase sa Java ay tulad ng blueprints para sa isang bagay. Sila sabihin sa iyo kung ano ang mga pamamaraan ito ay, kung ano ang mga field ito ay, at kahit dito, mayroon kaming isang bagay tinatawag na modifier ng access na susuriin namin ang ilang sandali. Kaya idedeklara isang Java class na ito, na halos kapareho sa syntax sa isang C struct. Narito magsimula kami sa klase ng Kotse publiko, at pagkatapos ay mayroon kaming isang bukas na suhay at pagkatapos ay ilang bilang ng mga patlang na Gusto mo ang bagay na magkaroon. At pagkatapos dito mayroon kaming ilang pamamaraan, at magkaroon din kami ng isang bagay na constructor. Ngayon kung ano ang bagay na constructor Nagbibigay ba ay nagsasabi nito ang bagay na ito, OK, gusto kong i-initialize ito object na may ilang mga uri ng mga patlang. Kaya dito, nais naming ang bawat Kotse na magkaroon ng isang modelo at sa isang taon. Kaya mayroon kaming constructor partikular lamang para sa mga modelo at taon, at ito ay i-set ang patlang na modelo sa isang tiyak na halaga, at ang taon field pati na rin. Ngayon tungkol sa pag-access modifier ay pakikipag-usap ko tungkol sa. Narito mayroon kaming mga pampubliko at pribadong access modifier. Kaya maaari mong isipin na ito bilang ang RWX sa iyong mga direktoryo. Kaya pinapayagan nila ang ilang mga tao magbasa, at magkaroon ng access sa mga patlang na ito at pamamaraan. Kaya kung sasabihin ko na modelo at taon at bilis ay pribado, ay nangangahulugan na ang ibang mga bagay ay hindi maaaring tangkaing i-access ang mga patlang sa bagay na ito mayroong mga pribado. Ngunit kapag ako magse-set ang access modifier maging pampubliko, ngayon ay nangangahulugan na ang ibang bagay Libre ang upang ma-access at maging ginamit ang pamamaraan na tinutukoy dito. Kaya ito ay ang pangunahing Car object na mayroon akong. Mayroon kaming mga pabilisin, masira, at getSpeed ​​mga pamamaraan. Upang puntong ito, ay malinaw sa lahat ng tao sa Java bagay at kung paano ipinahahayag ang mga ito? Mahusay, ang lahat ng karapatan. Kaya kung nais mong gamitin ang Java object sa isang program mismo, pagkatapos ay maaari naming gamitin ito bagong Car constructor. Kaya dito iyong sinasabi namin na gusto namin na idedeklara ng isang bagong bagay, na kung saan ay uri ng Car. At dito ito ay nag-aaplay ang modelo at taon, na aming tinukoy sa sa bagay na ito dito mismo. Kaya ito ay din isa pang object, kung napansin mo. Ito ay isang klase para sa pangunahing programa mismo. At mayroon kaming ito PSVM, o public static na walang bisa pangunahing, function, at nito ang panimula punto ng iyong programa, katulad ng pangunahing -andar sa iyong C programa. Dito, maaari naming ma-access at gamitin ang pag-andar ng bagay na gamit ang tuldok at pagkatapos ay ang pangalan ng function pagtatanda. At maaari naming kahit na tukuyin ang tiyak na mga argumento o mga parameter para na function. OK, kaya ngayon sa paglipat sa sa inheritance. Kaya tunay na mundo mga bagay ay maaaring magbahagi ng parehong mga katangian. Kaya halimbawa, mayroong iba't ibang uri ng mga bisikleta. Halimbawa, mountain bike, lungsod bisikleta, o magkasunod bisikleta. Kaya ang mga ito ay karaniwang na ito katangian ng pagiging isang bike. At kaya bike ay maaaring may dalawang gulong at maaari silang may manibela, baka pa isang buntot ilaw o isang bagay tulad na. Kaya ay nagbibigay sa amin ng Java na ito kapangyarihan upang kumatawan sa mga bagay na may ilang mga karaniwang mga katangian sa pamamagitan ng mana. Ngayon, kung ano ang inheritance nga, ay ito pass sa mga patlang at pamamaraan ng isang bagay na sa sa isang bata na bagay. Kaya halimbawa, kung ako magkaroon ng kotse, at ito ay ang estado ng pagkakaroon ng apat na gulong at isa manibela, pagkatapos ay maaari naming ipasa ito sa sa tiyak na iba't ibang uri ng mga sasakyan. Halimbawa, mayroon kaming mga sedan, sports car, at isang SUV. Ngayon, ang tatlong iba't ibang mga uri ng mga sasakyan ng ginagawa pa rin may apat na gulong at isa manibela, ngunit pagkatapos ay sila ay maaaring magkaroon ng ilang mga espesyal na mga katangian, tulad ng pagkakaroon ng limang upuan at isang para sa isang sedan, halimbawa. Kaya upang gamitin ng mga ito ang inheritance tampok na ito, ginagamit namin ito ay umaabot ng keyword. Kaya tandaan pabalik sa Kotse object na aking tinukoy dati. Ngayon tukuyin akong Sedan bagay. Kaya ito Sedan object ay magkakaroon ng parehong field at pag-andar, o pamamaraan, na ang Car ay magkakaroon. Ngunit pagkatapos, narito aking tinukoy ang ilang mga karagdagang pag-andar, halimbawa, ang hanay bilang ng mga pasahero at ang makakakuha ng bilang ng mga pasahero. Dito, ay maaari ring mapansin mo maaari naming i-override ng mga pamamaraan, at nangangahulugan na hindi namin lamang pinapalitan ang pag-uugali kumilos nang naiiba sa ilang mga kaso. Kaya, halimbawa, gusto kong itakda ang isang max bilis para sa aming mga kotse. At upang gawin iyon, tingnan ko kung ito bilis ay pupunta sa ibabaw ng max bilis. At kung hindi, pagkatapos ay tawagan ko ang super class na 'pabilisin paraan. Kaya ito ay ang super.accelerate () tawag ang sobrang klase 'pabilisin paraan. Sa wakas, kami ay pagpunta sa makipag-usap tungkol sa mga interface. Kaya mga interface ay isang paraan upang ilantad lamang ang ilang mga pamamaraan upang ang labas mundo. Kaya ang mga ito ay tulad ng isang talahanayan ng mga nilalaman, at Maaari palagay sa kanila bilang tulad ng ang C header na file, lamang tulad ng mga pamamaraan na may laman ang katawan, at sila ay tukuyin kung ano ang bagay o mga klase May upang magkaroon ng, o kung ano ang mga pamamaraan ang bagay o klase ay magkaroon. Kaya halimbawa, kung ako magkaroon ng isang interface ng Bisikleta, at mayroon itong tatlong iba't ibang mga paraan, at dito kung ipapatupad ko ang interface, pagkatapos ay nangangahulugan na na ito Bisikleta ay kailangang ipatupad ang parehong tatlong mga pamamaraan na tinukoy ko sa interface. Hanggang sa puntong ito, ang anumang iba pang mga tanong? Ang lahat ng mga karapatan, cool. Kaya ito ay isang lubos na mabilis at mabilis na tutorial sa Java. May paraan higit pang mga tampok at mga paksa sa Java, na maaari mong aktwal na pumunta sa pamamagitan ng. Halimbawa, mayroong generics, may mga uri ng data, mayroong kahit enums at bagay-bagay. Kaya kung gusto mong matuto nang higit pa tungkol dito, gawin sundin ang mga link na ito, at ang mga ito magturo sa iyo higit pa tungkol sa mga ito. OK, kaya, ay lumipat sa ipaalam aktwal na karne ng seminar, at iyon ay talagang Android programming. Kaya bago namin talaga makapunta sa programming, Gusto kong makipag-usap tungkol sa ilang mga hindi maintindihang pag-uusap. Kaya isang aktibidad ay Paraan ng pagsabi ng Android ito ay isang solong screen sa loob ng application. Kaya, halimbawa, kung mayroon kang isang Gmail app, mayroon kaming mga aktibidad view ng email. At pagkatapos ay kung iki-click mo isang tiyak na e-mail, na ay magpapakita ng isa pang aktibidad kung saan ito ay isang aktibidad view ng email. At pagkatapos ay mayroon din namin ang pag-email aktibidad, o mga aktibidad sa pag-edit ng mensahe. At gayon aktibidad ay Sa pangkalahatan ay lamang ng isang solong screen sa loob ng application mismo. Ngayon, na mga view ay ang mga bahagi na gumawa up screen, o ang aktibidad mismo. Kaya gumuhit ng mga ito sa isang tiyak bagay sa iyong screen. Kaya halimbawa, maaari itong isang patlang ng teksto, maaari itong isang label, maaari itong isang tseke box. Kaya ito ay maraming iba't ibang mga uri ng mga view. Kaya ngayon mayroon kaming mga layunin, at iyon ang isang mensahe na maipasa sa sa isa pang aktibidad. At naglalaman ang mga ito ng impormasyon tulad ng ano ang gusto mong ang aktibidad na ito upang maisagawa. Panghuli, mayroon kaming mga manifest file, at na ay isang XML file na nagbibigay sa iyong telepono ang lahat ng impormasyon tungkol sa iyong app. Kaya na kinabibilangan ng mga bersyon, at ang mga gawain na kailangan mong. OK, na simulan kaya hayaan. Kaya kami ay magiging paggamit ng Android Studio. Kaya kung mayroon guys ito na -install, huwag mag-atubiling sundin kasama. Susubukan naming at magsimulang muli mula sa simula. At kaya ako pagpunta sa subukan at lumikha ng isang bagong proyekto. At ako pagpunta sa tumawag sa ang aking proyekto Android 101. At dito ilalagay namin ang pangalan ng proyekto sa field ng pangalan ng application. Kumpanya ng domain, na hindi mo gusto talagang kailangang mag-alala tungkol sa na. Ganito lamang sa Android Kinikilala ng iyong application. Kaya mayroon kang isang domain name, maaari mong i-type sa pangalan ng iyong domain sa loob ng doon. Ngunit kung wala ka, maaari mong huwag mag -atubiling i-type ang anumang nais mo. Kaya dito lang nagta-type ako sa frederickw.com. At pagkatapos ay, sa wakas, ako pumili kung saan Gusto kong mag-imbak ng aking proyekto sa. At ako pupunta upang piliin lamang ang aking desktop. Kaya mga user, Frederick Widjaja, at Desktop. OK. Pagkatapos i-click ang Susunod. Dito, pupunta ako upang piliin ang minimum na API upang masuportahan. Kaya sa kasong ito, ako pagpunta sa pumili API 15. At ito ay pinong kung talagang lamang piliin 4.4 kung saan ay ang pinakabagong API. O 5, sa katunayan. Ngunit pagkatapos ay kailangan mo lamang na mag-alala tungkol sa na mga telepono ay talagang naka-pagsuporta, at kung aling mga telepono na iyong tina-target. I-click ang Susunod. OK, kaya dumating kami sa screen, at nagpapaumanhin kami lamang gagamitin lumikha ng isang aktibidad sa pamamagitan ng ito. Kaya ako pagpunta sa i-click blangko aktibidad at pagkatapos Susunod. Kami ay pagpunta sa tumawag ito pangunahing aktibidad, sa tingin ko na ang multa. Pagpunta lamang tawagin namin, pindutin ang Tapos dito mismo. Maghintay para dito upang i-load, at doon kami pumunta. Kaya dito napansin namin ang tatlong iba't-ibang mga folder. Mayroon kaming manifest folder na naglalaman ng aming manifest. Kung buksan mo ito, gagamitin namin ang aming package. O kaya naman kinikilala paano Android ang inyong aplikasyon at pagkatapos ay mayroon kaming na ito application tag na Naglalaman ang pamagat ng aming mga application pati na rin ang icon para sa application. Maaari talaga naming patakbuhin ito application tuwid. Kaya bakit hindi namin subukan at gawin iyon? Pupunta ako upang magamit Genymotion. Kung dinala ka sa iyong sariling telepono, maaari kang -link ito up at magpatakbo ng mga ito kung nais mong. Ngunit lamang ako ng pagpunta sa gumamit ng isang emulator, at pupuntahan ko upang simulan ito. Ooh. Well tingin ko na pagpunta sa magtagal, kaya tingin ko gagamitin namin lamang makakuha ng tuwid sa nagpapaliwanag ang nalalaman tungkol sa ito. Kaya dito mayroon kaming direktoryo ng Java, o kung saan ang iyong mga file pinagmulan ay nakapaloob. Narito mayroon kaming ang pangunahing aktibidad mismo. Maaari mong makita na ito ay umaabot sa klase aktibidad. Kaya aming pangunahing gawain ay isang screen na magiging sa aming application. At pagkatapos dito napansin namin na ang isang numero ng mga pag-andar ay auto na binuo para sa amin. Mayroon kaming mga onCreate function, at iyon ay tinatawag na whenever-- MAG-AARAL: Gawin mo na bale paggawa ng mga teksto ng mas malaking? Fred WIDJAJA: OK, sigurado. Kukunin ko subukan at dagdagan ang laki ng font. Mag-isip na dapat ay mabuti. Na mabuti? MAG-AARAL: lamang nang kaunti mas mataas, tulad ng 20 o isang bagay. Fred WIDJAJA: 20? OK. OK, ang lahat ng karapatan. Kaya dito mayroon kaming onCreate paraan na gagawin tatawagin kapag ang aming mga aktibidad ay nalikha sa [? ipakita?]. Mayroon kaming ang onCreateOptionsMenu, at kami kailanman makita na mayroong talaga isang pagkilos bar, at pagkatapos ay Maaari naming magdagdag ng ilang mga item sa menu sa dito. At pagkatapos dito mayroon kaming ang onOptionsItemSelected. Kaya ito ay tulad ng isang tagapakinig ng kaganapan, sa gayon sa tuwing ang isang opsyon sa aming pagkilos bar -click, ito function na ay tinatawag na, at ito ay pumasa sa isang ang ilang mga item na na-click. OK, pupunta ako sa see-- na hindi mahusay na gumagana. Subukan at simulan Hayaan. Oh mahal. OK. Ito ay hindi nag-aalala. OK, kaya pa rin. Narito mayroon kami ng layout para sa aming mga aktibidad mismo. Ito ang aming pangunahing gawain, at dito napansin namin na may mga pagkilos na bar. At pagkatapos ay mayroon kaming na ito halo label mundo, at maaari naming aktwal i-edit ang teksto dito mismo. Kung kang pumunta at mag-scroll pababa sa Hello World, maaari naming baguhin ito sa anumang nais naming. Halimbawa, maaaring ito ay, Hi doon. Maligayang pagdating. At doon pumunta kami, nagbago ito. Oh mahal. Style na ito ay hindi gumagana. OK, na nag-aalala. OK, gayon pa man, maaari naming ilipat sa walang iyon. Kaya sa ngayon, Subukan ipaalam at gawin ang ilang mga talagang pangunahing bagay. Kaya dito kami ng pagpunta sa mayroon isang label, at pagkatapos ay hindi namin pagpunta sa magkaroon ng isang text view-- Paumanhin, hindi isang view ng teksto, kami ay pagpunta sa may isang pag-edit ng teksto. At iyon ay isang bahagi ng para sa iyo na mag-type at bagay-bagay. Kaya mayroon kaming plain text, at pagkatapos ay idagdag lamang namin ito sa aming interface. Dito, Gusto kong idagdag din ang ilang mga margin sa tuktok upang mukha itong nicer. Kaya kami ay pagpunta sa pumunta sa sa ari-arian, at pagkatapos ay sa tuktok margin, kami ay pagpunta upang idagdag sa 20 DPs. Kaya ngayon, DPs lamang yunit ng pagsukat sa Android, at tumayo sila para sa density independiyenteng pixels. Kaya, dahil maaaring alam mo na, Android, mayroong maraming iba't ibang mga uri ng mga screen at pagkatapos ay mayroon sila iba't ibang screen density. Kaya dito ito ay lamang ng pagpunta sa maging isang density independiyenteng pixel, kaya magiging pareho sa buong lahat ng mga screen. Pagpunta sa pahabain ang pag-edit ng teksto, at pagkatapos ay pupuntahan ko rin na magdagdag ng isang pindutan. At ito ang nangyayari upang sabihin ang OK. 20 DPs. OK. Kaya ngayon ay mayroon kaming tatlong iba't ibang mga bahagi. At ang paraan na maaari naming sumangguni sa ang mga ito sa aming pangunahing klase aktibidad ay sa pamamagitan ng paggamit ng pamamaraang ito tinatawag na findViewByID. Kaya ako pupunta upang tukuyin ang ilang mga patlang. Kaya mayroon kaming sa TextView, kaya sabihin nating helloText. At pagkatapos ay kung gumagamit ka ng Android Studio, maaari mong gamitin ang shortcut kahaliling, ipasok. At awtomatikong i-click ang I-import upang Class -import ang naaangkop na mga klase na kailangan namin. At pagkatapos dito ako pupunta upang magdagdag ng isang ID sa ito TextView at tawagan ito text_hello. Ngayon na iyong natukoy namin isang ID para sa TextView, maaari naming gamitin ito upang tukuyin ang textview na tinukoy namin lamang. Kaya ay katumbas ng helloText TextView findViewByID, at pagkatapos ay tukuyin namin ang ID na gusto naming, na r.ID.text_hello. Kaya ito ay halos kapareho sa JavaScript at jQuery, kung saan maaari naming talagang lamang sumangguni sa ilang mga elemento sa layout lamang pamamagitan ng paggamit ng ID na tinukoy namin. Kaya sa pangkalahatan, upang ma-access ang ang ilang mga object o isang tiyak na field sa aming layout, na iyong pupuntahan ay may upang magamit ang pamamaraang ito findViewByID. At pagkatapos kami ay pagpunta sa gawin ang parehong mga bagay para sa iba pang mga dalawang mga elemento. Dito, ako pagpunta sa idagdag ang text_name ID. Oo. Pati na rin ang para sa isang ito. Button_ok. Ngayon kung ano ang gusto ko itong gawin ay kapag nag-click kami sa pindutan ng OK, at inputted namin ang ilang mga pag-uuri ng pangalanan sa patlang ng teksto, pagkatapos ito ay pagpunta upang i-update ito label sasabihin, hi, pangalan, maligayang pagdating. Kaya, bumalik sa aming pangunahing class na aktibidad, hindi namin pagpunta ring subukan at sumangguni sa mga elemento mayroon kaming mahanap. Kaya mayroon kaming ang EditText nameText. Oops. Ipasok at kahaliling, mag-import ng klase. At pagkatapos din ang pindutan ng OK. Katulad nito, kami ay pagpunta sa gawin ang parehong bagay sa paglipas dito. nameText katumbas EditText findViewByID, r.ID.text_name. At pagkatapos ay ang pindutan ng OK. findViewByID, r.ID, at pagkatapos ay button_ok. OK, kaya ngayon kami ay lahat ng tatlong mga mga elemento na gusto naming sumangguni sa. Kaya ngayon pupuntahan ko upang i-attach ang isang on-i-click ang tagapakinig sa aming mga pindutan makinig para sa mga click ng user. Upang na ginagamit namin lamang ang setOnClickListener kaganapan. Ngayon, narito ito sinasabi kailangan namin upang tukuyin setOnClickListener, at maaari mong gawin na sa pamamagitan lamang ng pagkakaroon ng bagong onClickListener, at pindutin ang Enter. At pagkatapos ay mayroon kang ito ng hindi nakikilalang klase, o hindi kilalang bagay. At mayroon din namin ito onClick pamamaraan, at iyon ang isa lamang kung ano ang nangyayari na ito ay tinatawag na sa tuwing nag-click aming mga pindutan. Kaya dito, nais kong kunin ang pangalan na ay input sa isang field ng teksto unang Kaya Pangalan String ay katumbas sa nameText.getText (). Muli, ito ay tulad ng Java na syntax para sa nagre-refer na sa mga pag-andar sa loob ng object. Kaya nameText.getText, at pagkatapos ay hindi namin pagpunta sa convert ito sa isang string. Ngayon kami ay ang pangalan na ay input ng user. At pagkatapos kami ay pagpunta sa bumuo ng bagong string, kaya ang nangyayari na tinatawag na kumusta. Pupunta ako sa sabihin, hi, pangalan, maligayang pagdating. At sa wakas, na nais mong upang i-update ang helloText. Kaya bang gawin iyon, tinatawag namin lamang helloText.setText (halo). OK. Oops. Pupunta ako sa subukan at muling patakbuhin ang Genymotion isang huling oras at makita kung gumagana ito. Kung hindi, ito ay ganap na multa. OK. Kaya hulaan ko hindi ito gumana. Sa totoo lang, hayaan mo akong subukan at gawin ito. Maaaring ito. Genymotion. OK. Lahat ng karapatan. Oo, ito gumagana. OK. Iyon ay nakakatakot. OK. Hindi ko iyon sinasadya upang gawin iyon. OK, kaya mayroon kaming Android emulator na ito. Hayaan akong i-off ito. Kaya mayroon kaming ang aming Android emulator. Kaya kami ay pagpunta sa subukan at patakbuhin ang app na aming ginawa. Pagpunta lamang na i-click ang pindutan na Play, at ito ay pagpunta sa sabihin, naghihintay para sa ADB. Oh, ang tao. I-restart ang. OK, hulaan ko ito pa rin ay hindi gumagana. OK, Di bale na, pagkatapos. ito ay magiging isang awa. Ngunit kaya sabihin nating gusto naming upang lumikha ng isang bagong aktibidad, at kami ay pagpunta sa may larawan na aktibidad. Upang gawin iyon, maaari naming i-click lang ito ang File, at pagkatapos Bagong. At pagkatapos dito maaari naming piliin Aktibidad, at pagkatapos ay Blangkong Aktibidad. Dito, kami ay pagpunta sa tumawag sa ito siguro CatActivity. OK, kaya ngayon bumubuo nito sa dalawang iba pang mga file. Ang isa ay tinatawag na activity_cat, at ang iba pang ay tinatawag na catActivity, na isang klase. Kaya sabihin nating na gusto naming idagdag isang larawan ng isang pusa dito mismo. Kaya kapag gumawa ka na, kami ay pagpunta gamitin ang ImageView class. Kami ay pagpunta upang idagdag ito sa dito. At pagkatapos ay itakda ang margin upang maging 20 DP. At ngayon kami ay pagpunta upang mahanap ang isang larawan ng isang pusa sa internet. Kaya tingnan natin. Cat. OK. Sa tingin ko ito ay ayos lang. OK. Kaya ngayon mayroon kaming larawan. Kaya kami ay pagpunta sa magdagdag ito sa aming mga proyekto. Maaari itong gawin sa pamamagitan karapatan pag-click, at then-- namin talaga maaaring buksan lamang ito, pumunta download, paumanhin, desktop. Pagpunta sa subukan at hanapin ito. Cat. I-right dito. Pupunta ako sa kopyahin ito sa aking folder. Ngayon, ito ay pagpunta sa hilingin sa akin ang ilang mga pagpipilian. Ngayon, gusto ko lang ito sa nasa drawable folder, at na magiging para sa lahat iba't ibang mga resolution ng screen. Bilang kahalili, maaari naming talagang piliin lamang na resolution mo screen Gusto imahe na ito upang maging sa. Kaya pagpunta upang piliin ang drawable folder, i-click ang OK. Pagpunta lamang upang pangalanan ito cat.jpg. OK, kaya, ngayon ito ay idinagdag sa aming mga view ng imahe. kami ay pagpunta sa may upang gamitin ang ang pinagmulang ito dito mismo, at pagkatapos ay maaari naming gamitin ang tuldok tuldok tuldok pindutan, at piliin ang larawan ng pusa. OK. Kaya ngayon Gusto kong gawin itong tulad na ito ay lang sa tamang laki. Kaya ako pupunta upang piliin ayusin ito tingnan ang pagpipiliang hangganan dito mismo, awtomatiko at na Nagtatakda ito sa kanan laki. OK. Ngayon, upang aktwal na ilunsad ito aktibidad mula sa aming mga nakaraang aktibidad, na iyong pupuntahan mo na kailangang gumamit isang bagay na tinatawag na ang layunin. Kaya sabihin nating pupuntahan ko magdagdag ng isa pang pindutan na naglulunsad ng mga aktibidad. Pupunta ako upang idagdag ito dito, dito mismo. At pagkatapos nito pupuntahan Mayroon ang teksto activate ito. Oops. OK. Ngayon, paano ko namin aktwal na buksan ang bagong aktibidad sa loob ang aktibidad na ito? Kaya parehong pakikitungo tulad ng dati. Kailangan namin upang magdagdag ng isang ID sa pindutan, at tawagan ito button_activate. At pagkatapos ay sa aming pangunahing gawain, pagpunta na magkaroon ang bagong activateButton Button. At pagkatapos ay ring gamitin ang findViewByID paraan. ay katumbas ng activateButton Pindutan findViewByID r.ID.button_activate. OK. At pagkatapos din ng pagpunta namin sa idagdag sa isang onClickListener. Bagong onClickListener. At pagkatapos kami ay pagpunta upang gamitin ang bagay na ito na tinatawag na layunin. Layunin ay katumbas ng bagong layunin (na ito). At pagkatapos ay ang pangalan ng aktibidad na gusto naming lumabas. Kaya dito sa ito, kami ay pagpunta magkaroon catActivity.class. Sorry. Kami ay pagpunta sa may upang tukuyin @ MainActivity.this. Kaya ngayon ang .this ari-arian ay nagre-refer na sa kasalukuyang Halimbawa ng bagay na ang sarili nito. OK. Hanggang sa puntong ito, ang anumang mga katanungan? Ang lahat ng mga mahusay na? Lahat ng karapatan. At pagkatapos ay kung gusto mong magsimula ang aktibidad, ito ay medyo simple. Tawagan lang namin ang mga startActivity paraan. At pagkatapos ay ipasa namin sa mga layunin sa bagay na aming tinukoy lamang. Sa kasamaang palad, kami Hindi maaaring talagang ipakita ito. Ako ay umaasa na maaari naming aktwal na patakbuhin ang ito at ipakita ito sa kahabaan sa seminar, ngunit sa kasamaang palad hindi. Oh, ang tao. Ganoon pala. Oh, kami ay pagpunta sa subukan at pumatay ATB.exe. OK. I-restart ang. Ibig ito gumagana? Oh, OK. Kaya ngayon talaga ito kino-compile. Oh. Sa kasamaang palad, mayroong walang mga device na tumatakbo. Subukan at i-restart ang aking emulator Hayaan. Ah, may pumunta namin. Paglitaw nito. OK. Kaya Pupunta ako upang ilunsad ang aking app sa aking Android emulator. At mayroon kaming mga bagay na na aming tinukoy ngayon lang. Kaya mayroon kaming label, ang view ng teksto, patlang ng teksto, at pagkatapos pindutan. Kaya Pupunta ako sa pag-input ang aking pangalan dito mismo, at doon kami pumunta, binago ito sa teksto. Kaya kung type namin sa Foo, ito ay pagpunta sa baguhin upang Foo. At kung iki-click ko ang I-activate ang pindutan, na namin ang naka-link sa aktwal na maglunsad ng bagong aktibidad, sana ay ito ay gagana, Mayroon bang pumunta namin. Ito naglulunsad ng mga bagong aktibidad. Upang bumalik, maaari naming pindutin ang ang button na Bumalik dito mismo. O hindi. Oh, may pumunta namin. Oops. Iyon ay hindi maganda. OK. Kaya ngayon na nagpatupad kami ilang mga pangunahing bagay sa Android, maaari naming subukan at gumawa ng ilang mas komplikado mga bagay-bagay. Kaya una, Subukan at ipasa ang mga mensahe hayaan mula sa isang aktibidad sa isa pa. Kaya sabihin nating gusto naming pumasa sa ng isang pangalan mula sa pangunahing aktibidad sa gawain ng pusa. At ang isang pangalan ay magiging nabawi mula sa nameText. OK, kaya unang, ipinapadala namin sa pagpunta sa kunin ang pangalan dito mismo. Pangalan String ay katumbas ng nameText.getText (). toString (). OK. At pagkatapos ay maaari naming gamitin bagay na ito tinatawag na intent.putExtra (pangalan), at pagkatapos ay ito talaga rin nais ni isang susi para sa mga sobrang patlang. Kaya ako pupunta upang tukuyin ang isang bagong key, magpapadala kami tawagan ito EXTRA_NAME. Kaya Pupunta ako upang magamit ang key, CatActivity.EXTRA_NAME, at pagkatapos ay pumasa sa pangalan mismo. OK, kaya ngayon maaari naming aktwal na mabawi ito sa loob ng bagong CatActivity. Upang magawa iyon, mayroon kaming upang gamitin ang layunin ay katumbas ng getIntent paraan. Kaya ngayon ito ng pagpunta sa mabawi ang layunin na ginamit upang itawag sa bagong aktibidad. Kaya kung nais mong makuha ang string na talaga naming ilagay sa loob ng intensyon, Maaari mong gamitin ang isang intent.getStringExtra at pagkatapos ay pumasa sa parehong key, OK, kaya ngayon hayaan sabihin ng namin sa iyo nais na baguhin ang field na ito. Baguhin ang patlang na ito dito mismo. At gumawa ng mga font ipaalam laki ng field na ito ang mas malaking. Kaya sabihin nating gusto ko itong maging 20 DP. OK. At ako pagpunta sa magdagdag ng isang ID para sa TextView, at Pupunta ako sa tawagan ito text_cat. Sorry. At bumalik sa CatActivity, parehong pakikitungo tulad ng dati. Kami ay pagpunta upang tukuyin ang ilang mga patlang. Narito ito ay magiging isang TextView catText. At pagkatapos ay catText katumbas TextView findViewByID, r.ID.text_cat. OK. At pagkatapos ay bumalik sa dito, ako pagpunta upang itakda ang teksto na kanan pagkatapos naming makuha para sa ito mula sa layunin. setText (pangalan). OK, Subukan na out upang ipaalam. I-click ang pindutan na Play. Pupunta ako gamitin ang parehong aparato. Bumalik sa dito. Kaya sabihin nating hindi ko input-- kung hindi kami tukuyin ang anumang mga pangalan, tingnan natin kung ano ang mangyayari. Kaya ngayon walang lilitaw na ang. Kaya pumunta kami sa likod at input ng aming pangalan, lamang ito ng pagpunta sa sabihin Fred. Kaya maaari naming aktwal na ipasa ang mga mensahe mula sa isang aktibidad sa isa pa. OK. Kaya mayroong isang bungkos ng iba pang mga view na maaari mong gamitin sa Android. Kaya ngayon mayroon kaming mga progress bar, mayroon kaming mga tanawin listahan, mayroon kaming mga pindutan toggle, at kung talagang gusto upang matuto nang higit pa tungkol sa na, Maaari mong aktwal na bisitahin ang mga pahina ng web. Naglalaman ang mga ito ng maraming iba't ibang mga mapagkukunan. Kaya halimbawa, ang API Gagabayan dito mismo talaga Binibigyan ka ng ilang mga halimbawa code para sa ang ilang mga tampok sa Android library. At ilang mga tutorial na nakita ko kapaki-pakinabang kapag malaman ang tungkol sa Android. Iyan ang opisyal na tutorial sarili nito, at din ito sa iba pang mga tutorial dito mismo. At panghuli, maaari mong aktwal na gumamit ng iba't ibang mga aklatan para sa iyong Android application. Ngayon, ang mga aktwal na palawigin ang pag-andar ng iyong app nang hindi na kinakailangang talaga magsulat magkano code. Downside ay, ng Siyempre, na iyong aktwal na kailangang matuto ng mga aklatan sa iyong sarili. Kaya halimbawa, kung nais mong gumawa ng gumamit ng teknolohiya ng ulap Dropbox, pagkatapos ay maaari mong gamitin ang Dropbox API. Katulad sa Facebook API. At pagkatapos ay may aktwal na ilang iba't ibang mga iba pang mga iba't ibang mga aklatan na maaari mong gamitin. Kung sinusubukan mong upang makakuha ng, tulad ng, JSON mula sa isang tiyak na website, pagkatapos ay sa tingin ko ang Google JSON library ay magiging kaakit-akit na kapaki-pakinabang. Kaya ngayon, na nag-convert sa isang JSON -format ng teksto sa isang Java na bagay, at vice versa. At pagkatapos ay mayroong Retrofit at Picasso. At iyon ang kung nais mong use-- na para kung gumagamit ka ng API ng pahinga. At Picasso, kung gumagamit ka ng mga larawan para sa iyong Android application. Lahat ng karapatan. Maraming salamat sa inyo, at magsaya coding.