[Powered by Google Translate] [Seminè] [android Apps (Kounye a ak jele Pwa!)] [Lòt bò larivyè Jouden Jozwiak] [Inivèsite Harvard] [Sa a se CS50.] [CS50.TV] Bonjou tout moun, epi byenveni nan apps yo android (Kounye a ak jele Pwa!) Seminè. Li rele Kounye a ak jele Pwa, nan kou, paske se vèsyon an dènye nan eksplwatasyon an rele Jele Bean. Lè m 'te pale osijè de android ane pase a ak fè sa seminè fondamantalman menm bagay Mwen te prezante modèl yo konsepsyon ak chwa stylistic pou Gingerbread, menm si te Sandwich krèm soti nan moman an, ak sa a se yon bagay nou pral pale sou pwal pi devan yon ti kras. Android, nan kou, gen kèk pwoblèm ak fwagmantasyon, se konsa sistèm nan dènye opere Google a se nòmalman pa reyèlman ale nan vin komen nan mitan itilizatè yo pou potansyèlman jiska yon ane, malerezman. Men, meprize sa, nou pral pale sou anpil rezon ki fè Android se pi bon pase iOS. Oke, nou pral pale sou android kont iOS, kèk konsepsyon paradigmes, ki jan ou pral jwenn ki monte nan jis glise yon sèl, ak diferans nan gwo ant sa a ak ane pase a se mwen jis vle rale nan kèk bagay konseptyèl ekspresyon ap travay ak sistèm nan fonksyone ak Lè sa a ale nan yon egzanp vrèman de baz yo. An reyalite, jis egzanp lan ki Google dekri pou bati app premye ou a, epi n ap ale nan li ansanm ak jis dekri. Mwen konnen anpil nan nou gen sèlman klase nan C, Se konsa, Java se deja yo pral yon pèspektiv diferan, ak fason sa a ou pral jwenn pye ou mouye epi yo santi yon ti kras plis konfòtab ak li èspere ke. Yon rezime rapid, android kont iOS. Nan android gen nan sa a frè pwomotè yon sèl-fwa nan $ 25, Pa gen yonn nan bagay sa a $ 100 pou chak ane. Pa gen okenn restriksyon, ki vle di ke si mwen vle soumèt yon app, Mwen jis soumèt li, epi gen nan pa gen pwosesis apwobasyon tankou gen pou iOS. Ou jwenn yo devlope ak Java lè l sèvi avèk eklips, ki se platfòm kwa, se konsa li pa gen pwoblèm si ou gen yon Mac, Windows, oswa kèk machin Linux. Natirèlman, ak iOS ou gen yo sèvi ak Xcode sou yon Mac, ak android se itilize pa anpil moun plis, Se konsa, si ou vle app ou a gen kèk sòt de vizibilite oswa petèt fè yon ti lajan ki soti nan piblisite w ap pwobableman plis chans benefisye de android. Men, yon sèl bagay ki nan toujou yo te konnen sou android se kantite lajan nan ekstrèm nan pèrsonalizasyon, Lè nou konsidere ke iOS se yon bagay ki fiks nan fason yo pou yo ka kenbe sekirite ak kontwòl sou tout aspè ti kras nan desen an nan eksplwatasyon yo ak apps yo endividyèl elèv yo. Android se fòm trè gratis, epi gen nan anpil plis posiblite yo. Oke, kèk paradigmes konsepsyon. Avi isit la jis tankou iOS gen tablèt ak iPhones ak Touche iPod yo gen yo sipòte, di, tankou yon aparèy douzèn si ou vle sipòte bagay sa yo istorik yo tou. Avèk android ou gen sipòte dè santèn de aparèy, Se konsa, gen kèk bagay ki Google te ap eseye aplike fè itilizatè a fè eksperyans yon ti kras pi plis ki konsistan, men nou pwal tou pale sou fason sa a vle di ke gen pwoblèm nan fwagmantasyon ke ou toujou ap gen yo dwe okouran de sipò yo. Fwagmantasyon vle di ke genyen anpil moun ki sistèm opere diferan, anpil telefòn diferan ak pyès ki nan konpitè diferan kouri android tout nan menm tan an, Se konsa graf sa a isit la ale tounen pou 6 mwa. Yeah, 6 mwa, epi ou ka wè ki jan gwoup la pi move sou anba a se Jele Bean, yo te soti kite pandan ete a, epi ou ka wè kounye a pwobableman sou 2% nan telefòn yo genyen li. Sandwich krèm soti plis pase yon ane de sa, ak yon ka nan telefòn yo genyen li. Genyen toujou yon anpil nan telefòn ke yo lè l sèvi avèk OS vèsyon soti nan ane de sa. Youn nan bagay ki Google te eseye fè pou l fè eksperyans nan itilizatè yon anpil plis ki konsistan nan tout apps ki kòmanse ak abèy, ki se vèsyon an konprime, Lè sa a, glas krèm sandwich ak Jele Bean, yo ap reyèlman ap eseye mete aksan sou itilize nan sa a ba aksyon, ki se ki sa ou ka wè nan tèt la isit la, tout bagay isit la, ki gen ladan bouton sa-a ti kras anviwònman. Li nan chwa nan konsepsyon. Koulye a, chak fwa ou wè pwen yo 3 sa vle di klike sou sa a, epi pral gen yon meni gout-desann, ki te gen kèk sòt de anviwònman. Sa a sèlman montre moute paske mwen klike sou bouton sa-a. Sa a se yon bagay yo ke yo ap eseye pou itilize pou fè apps yon ti kras plis ki konsistan atravè Komisyon Konsèy la e konsa itilizatè a gen yon sans pi bon eksperyans nan inifòm. Oke, kidonk nan ka ou pa te fè sa a deja oswa si w ap gade nan kay la Lè sa a, ou ka swiv etap sa yo yo mete kanpe anviwònman kodaj ou. Li pral gen pou wè ak ale nan sit entènèt la isit la. Ou ka Google enstale android sdk epi swiv kèk deskripsyon la. Yo di ou tout bagay. Yo gen ou enstale sdk, download eklips klasik vèsyon an, menm si, nan kou, nou ap kodaj nan Java. Yo rekòmande sa a yon sèl, ak Lè sa a, sa a ADT, Zouti yo Devlopman android, se yon Plugin ke ou enstale nan eklips ki pèmèt ou gen yon eksperyans pi plis senp ak android ki nan eklips. Li pral ba ou kèk itilizatè interfaces grafik pou desine yo opinyon yo, epi li pral ba ou pi plis sipò ak kapasite nan lanse ak Emulation a ak tout sa ki sòt de bagay sa. Kad aplikasyon an. Mwen vle pale sou fason pwojè yo nan android yo estriktire, ak Lè sa a nou pral ale nan yon egzanp rapid, ak èspere ke ou ka poze kesyon a nenpòt ki pwen, epi santi yo alèz nan fen li. Nou gen kèk jagon an premye. Yon aktivite, se tankou ekran an ou wè lè ou lanse yon app. Eksperyans nan tout se aktivite nan tèt li, pou ou te ka panse a li kòm yon ekran oswa wè yon, men li la aktyèlman bò a kòd sous li. Nou toujou rele pati nan koòdone aktyèl la nan li yon View. Li nan sòt de tankou ki jan nan pset 7 nou te gen kontwolè a ak Lè sa a View la. Aktivite a se plis oswa mwens kontwolè a, ak View la se sa n ap fè an tèm de XML la ki asosye avèk ki aktivite. Fragman yo se yon bagay ki nan aplike nan Sandwich krèm pwal pi devan. Se jis nan yon lide nan pran pati de vi an oswa aktivite a ak ap divize yo an zòn separe pou nou ka fè Kòd nou plis ka itilize pou aparèy sa yo anpil diferan ke nou gen l sipòte, epi li nan jis yon fason pou eseye tou faktè plis kòd. Sèvis yo se bagay background tankou jwe mizik oswa direksyon Navigasyon potansyèlman. Bayè avantou, sa yo se APIs nan sistèm nan fonksyone ki pèmèt ou gen aksè a done plizyè moun pataje tankou enfòmasyon pou kontakte, ak Lè sa a yon entansyon se yon bagay nou pral sèvi ak lè nou vle lanse yon aktivite nouvo soti nan aktivite nou an ki ajou. Bonjou android, sa a se pral fè yon pwojè ki nou pral pale sou yo. Mwen pral aktyèlman fè li pou ou, ak Lè sa a, n ap fè yon bagay kote nou klike sou yon bouton ak kèk tèks ak lanse yon aktivite nouvo. Trè senp, men mwen vle yo ale nan ki sa ki pral antre nan yon pwojè tankou sa a. Lè ou fè pwojè a nouvo ou pral wè nan eklips gen nan pwojè sa a yo rele Bonjou android. Lè sa a, gen yon pakèt antye nan dosye isit la. Yo menm ki w ap reyèlman konsène ak yo folder nan sous, resous katab la, res yo, ak nan yon sèten mezi katab la lib pou bibliyotèk yo. Epi jis pou nou ap sou paj la menm ak sa yo ki si ou te kreye yon nouvo pwojè, ou ka fè sa dwa isit la, Se konsa, si mwen vle rele l 'HelloAndroid, ak Lè sa a li otomatikman fè yon pakèt tout enfòmasyon ki pou nou. Se Non a pake sipoze yon idantifyan inik ki ta nòmalman dwe asosye ak sit wèb la, si ou te gen yon sèl. Pou egzanp, mwen pral rele sa a net.cs50.helloandroid. Apre sa, mwen deja te fè pwojè sa a yon fwa. Oke, regrèt. Se pou yo rele l 'HelloCS50. Lè sa a, li pral mande bagay sa yo tankou sa ki sòt de icon nou vle fè. Sa a se tout paske nan koòdone nan android Zouti Developer, Plugin a ke nou ajoute nan eklips, se konsa nou ka chwazi bagay sa yo tankou sa icon nou vle, e ke sa ta ale nan ki pwofondè si nou vle. Men, nan fen a, jis fè pwojè a, ak tout bagay ki montre moute dwa isit la. Kòm mwen te montre sou ekran an ak lòt, nou gen folder nan sous, epi mwen pral pale sou sa tout sa sa vle di pi bonè, men ou ka wè ke imedyatman li pran nou nan ekran an HelloCS50. Gen kèk bouton sou isit la pou ajoute tèks ak tèks kouman jaden. Li nan sòt de tankou Xcode men malerezman pa byen kòm senp. Men, klip yo pral zanmi ou ak ADT an patikilye pou fè sa. Oke, folder nan sous se kote dosye yo Java yo ap fèt, e sa se aktyèlman lansman de pwogram ou an. Li nan fondamantalman tankou contrôleur yo. Katab nan resous oswa res yo se kote nou pral kenbe kouman ekran, imaj, son, tèks, animasyon ak tout lòt bagay, lib, evidamman, bibliyotèk yo. Men, Manifès la, li nan wout la ke sistèm lan android konnen ki jan yo kominike avèk app ou. Li di li sou autorisations ak sa ki aktivite pral aktyèlman ap kouri. Li nan tout enfòmasyon ki esansyèl sa a, se nesesè yo kouri app ou. Katab nan sous la se-si n ap ogmante klas li kòm ou ka wè isit la menm. Men, yon egzanp pou yon kòd ta gade-sa a se kòd la default. Kòm nou li rele l ', MainActivity. Pa default, nou jwenn onCreate, ki se yon fonksyon ki rele lè aktivite sa a charj, konsa ou vle yo rele onCreate (savedInstanceState). Sa a pral retabli nenpòt Bits nan enfòmasyon nan ka te app a Sarepta. Genyen yon tout lavi aktivite tablo sik kote ou ka gade nan lè ou jwenn yon ti kras pi plis an pwofondè nan li, men liy ki pi enpòtan nan Kòd gen fonksyon sa a setContentView ki pral chaje dosye a resous pou Layout la. Lè sa a, sa ki onCreate isit la se fondamantalman fè se li nan di lè mwen kreye aktivite sa a mwen vle chaje sa a Layout. Epitou, n ap pale sou sa ki Layout se nan yon dezyèm fwa. Si nou te lanse ke isit la li sanble egzakteman tankou sa a, ak pa default paske nou te eklips fè sa ak ADT fè li pou nou sa a se tout Kòd boilerplate ki nan kreye pou nou, epi nou ka avanse pou pi sou yo ak sou chanje bagay sa yo kòm nou renmen. Katab nan resous, tankou mwen te di, sa a se kote nou kenbe tout layouts, drawables an tèm de nenpòt ki sòt de imaj- yo ap rele drawables-yo ak Lè sa a, dosye son, meni. Li se yon fason pou yon pakèt antye nan XML nan yon tan bèl Ranje. Kòm ou ka wè, gen. Hdpi, ldpi, mdpi ak xhdpi klasè pou drawables yo. Sa yo se dansite ekran diferan, tèlman wo pixel dansite pou chak pous, dansite ki ba, dansite mwayen, anplis dansite segondè. Sa a se, ankò, pou nou ka sipòte tout aparèy sa yo diferan, ak depreferans, w ap gen imaj diferan pou chak rezolisyon diferan. Kouman yo kote nou gen ladan yo tout kouman yo diferan ke yo pral itilize nan aktivite diferan. Yo te kapab genyen ladan tou kouman pou fragman, ki vle di aktivite yon pati nan fondamantalman. Si ou vle fè yon bagay fre tankou chak fwa ou vire telefòn nan ou vle li gen yon Layout diferan ou ka fè aranjman tèks yo-jaden flè kòm yon katab diferan, ak android otomatikman gen yon pakèt antye nan règleman sa yo nan katab la resous, se konsa li pral konnen gade nan dosye diferan ki baze sou konfigirasyon aktyèl la nan telefòn nan, sa ki sòt de pyès ki nan konpitè w ap itilize. Menm jan an tou, sa a valè-v11 isit la ak valè-v14 ak valè yo default Katab sa a se pou- byen, valè pou kont li, sa a pral valè yo default atravè tout vèsyon an sistèm nan fonksyone. Nan lòt men an, v11 ak v14 koresponn ak abèy ak glas krèm sandwich, respektivman. Ankò, sa yo, se fason ki-nan sa yo dosye yo strings diferan ak Styles, kidonk, ou ka Customize aparans nan app ou oswa ki kapab menm fonctionnalités li, byenke ki ta pwobableman gen yon lide move, ki baze sou vèsyon an nan sistèm nan fonksyone. Apre sa, mwen te pale osijè de tout bagay sa a isit la. Yon fwa ankò, drawable, anvan tout koreksyon, layout, valè. Défaut yo, si nou ale nan Bonjou android oswa Bonjou CS50 kounye a li pral gade jis tankou sa a. Li pral di alo nan lemonn. Kòm ou ka wè dwa isit la ak tèks la android tèks la pou sa a wè tèks, ki se fondamantalman jis yon etikèt sou, se sa nou ta rele l 'nan iOS. Li te gen sa a notasyon komik @ fisèl / hello_world. Sa a se konsa nou kapab-nou eseye ekstrè tout strings yo, tout strings yo difisil-kode nan android nan yon katab ki apa a, ki k ap pase yo nan values.strings. Si nou gade isit la, nou ka wè ke nou gen yon fisèl difisil-kode sove isit la pou alo mond, ak sa yo rele alo mond, e sa se sòt de yon komen konsepsyon desizyon atravè tribin anpil ke ou vle- strings yo sòt nan de bagay sa yo ke nou vle potansyèlman kapab chanje. Nou pa vle kontwole F nan dosye Kòd sous nou yo nan XML nou an. Nou vle pou kapab chanje sa a chak fwa nou jwenn chans la. Sa a ranpli XML, strings.xml, se yon fason pou èkstraksyon difisil-kode strings ki ta dwe nan resous Layout nou oswa nan Kòd sous nou an. Manifès la se kote nou kenbe enfòmasyon sa a esansyèl sou aplikasyon an. Li gen ladan l non an pake. Ki gen yo dwe yon idantifyan inik. Kontrèman ak App magazen an pou iOS non yo nan aplikasyon yo pa dwe fè inik, epi ou ka an reyalite chanje non an nan aplikasyon w lan apre ou fin soumèt li, Se konsa, si mwen kòmanse soti ak zwazo fache, ak Lè sa a mwen fè yon ajou, epi mwen pa vle lage yon nouvo vèsyon Mwen devine mwen te kapab rele li zwazo fache 2 pandan y ap mwen se sou sik la lage menm. Li ta jis montre moute kòm yon ajou. Bagay la sèlman ki gen yo dwe inik se non sa a pake, ki pa gen anpil moun ki pral wè. Oke, ou ta sèlman wè si ou te gen je yo nan kòd la sous oswa si gen kèk sòt de erè. Eleman yo gen ladan aktivite, konsa nou gen deklare nenpòt ki sòt de aktivite nou itilize yo. Sa a se yon sòt pèmisyon nan bagay. Paske android pa gen pwosesis sa a aplikasyon rijid pou soumèt apps olye yo jis tout bagay ki baze koupe nan autorisations ak deklare bagay sa yo nan Manifès la. Vèsyon nan sdk enpòtan tou. Nou ka mete itilize kòm yon bagay sdk vèsyon minimòm. Li evidan, ou vle kreye Kòd ak desen pou sistèm yo opere plus. Petèt pa dernye a, petèt pa Jele Bean. Petèt ou vle konsepsyon sitou pou Sandwich krèm glase, byenke yo yo se bèl anpil menm bagay la tou an tèm de desizyon konsepsyon ak bibliyotèk yo reyèl ak APIs. Men, olye ke gen moun nan orijinal android vèsyon an-tankou Donut tounen fason lè- ki moun ki toujou rive yo dwe lè l sèvi avèk ki eseye download aplikasyon w lan ak Lè sa a di li pa travay nan telefòn mwen ou ka mete vèsyon an minimòm epi yo gen li ka Gingerbread oswa glas krèm sandwich oswa kèlkeswa sa ou santi ou alèz remèt li. Lè sa a se yon egzanp Manifès la. Nou ka gade nan yon sèl aktyèl la nan yon ti jan. Oke, nou pral jis ale pi devan ak Demo a kounye a. Sa a se Demo a si ou Google andwad bati app premye ou oswa yon bagay tankou sa. Nou pral ale nan tout bagay ki k ap pase nan la, ak regrèt sa, jis pou yon referans ki isit la konnen Java nan nenpòt limit? Oke, kidonk Java se lang nouvo codage pou pifò moun ap soti nan CS50. Yon ti tan, ale sou ankò sa li di isit la, ki sa nou vle fè se olye ke ajiste aplikasyon sa a mond alo ke tout sa li fè se li lanse ak li di mond alo epi li di alo CS50 nan tèt la paske se non an aktivite nou pral eseye fè yon jaden tèks ak bouton yon se konsa ke lè nou peze bouton sa a li pral pran tèks la soti nan jaden an tèks ak lanse yon aktivite nouvo, epi li pral di tou sa ki tèks te di nan aktivite a, ak sa a se relativman senp. Li pa trè enteresan. Ou pa ta vle lage nenpòt app tankou sa a. Men, li demontre kèk bagay konsepsyon enpòtan. Nou pral gen kominike avèk Manifès la, ak dosye yo layout, ak kòd la sous, epi ou ka wè ki jan lanse yon aktivite soti nan yon lòt. Nou pral kòmanse ak Layout la pou aktivite premye nou an, ki mwen konnen li nan kalite piti, men jan ou ka wè kounye a yo, tout li se se li gen logo nou an ke nou kreye, Non ki aktivite, epi li di mond alo nan sant la. Olye de sa, mwen premye pral fè sa a nan yon Layout lineyè, yon Layout fanmi, ak sa yo, se tout bagay sa yo ou ta ka gade leve, li vo ale sou nan kèk pwen an tèm de kouman yo. Li se yon sanble anpil ak HTML. Nou te di li pa vrèman vo konnen an tèm de yon sans pwogramatik, men gen anpil kouman diferan ou ka kontwole, epi li jis tankou CSS an tèm de estil. Genyen yon anpil ale sou jis an tèm de estetik yo isit la, ak wi, li la vo aprann, men li la sòt nan de bagay sa yo ou ta dwe gade tankou ou ale ak w santi w tankou ou bezwen yon nouvo bagay. Mwen kapab pran avantaj de kèk nan zouti yo ADT isit la nan pi piti yo kòmanse koupe ak. Mwen pral fè yon jaden tèks, ak mwen pral fè yon bouton. Mete yo dwa pwochen youn ak lòt. Yo deja rdimansyonman yon fason ki apwopriye. Padon, ankò, tounen vin jwenn diferans ki genyen ant Layout lineyè ak Layout fanmi, yon Layout lineyè bay fonctionnalités yon ti kras plis an tèm de ranpli espas ak asire nou pozisyon bagay sa yo orizontal oswa vètikal. Gwo diférans la sè ant yon Layout lineyè ak yon Layout relatif se layout relatif pozisyon tout bagay la relatif nan opinyon lòt, ak bagay la bon sou li se ke li pran tan mwens trase paske sistèm nan fonksyone parèt nan tout kòd la e li di sa a ale relatif nan sa a isit la, isit la. Sa vle di li fè mwens mezi pase yon pakèt tout layouts enbrike lineyè, ki mwen ta dwe fè si mwen te vle bagay sa yo ale vètikal isit la. Mwen deja genyen kèk bagay pral orizontal, se konsa mwen ta bezwen yon diferan Layout lineyè nich yo vètikal, men si mwen te fè yon Layout relatif mwen te kapab di kenbe sa a sou bò goch la, sa a sou bò dwat la ak tout bagay sa yo anba a. Men, paske mwen vle yo ranpli kounye a mwen pral sèvi ak yon Layout lineyè, epi ou ka wè li deja fè yon anpil nan bagay sa yo pou nou. Tout opinyon bezwen gen yon pwopriyete nan lajè ak wotè, ak sa a k ap pase nan gen yon pwa nan 1, ak sa a gen yon pwa nan 1 konsa ke li plen espas ki la tout antye. Men, lajè a ak wotè ki pi enpòtan. Jaden sa a ID dwa isit la se pa enpòtan nan Layout aktyèl la sof si nou ap itilize yon Layout relatif yo t'ap di konsa nou ka referans yon sèl wè pozisyon nan referans a yon lòt. Si nou te gen yon Layout relatif nou te ka di pozisyon sa a anba a yon sèl sa a oswa pi wo sa a ID, men sa a ID pral enpòtan lè n ap sèvi ak li nan Kòd nou paske nou ka referans sa yo opinyon moun nan fason sa a. Lè sa a, ou ka wè requestFocus la tag, ki se yon bagay ou pwobableman te wè nan pset 7. Te gen yon tag konsantre oto oswa yon bagay ansanm liy sa yo pou youn nan jaden yo. Men, yon sèl bagay, nan kou, nou ka fè jis tankou nan HTML, ak avi youn nan bagay ki bèl sou ADT se ke li autocompletes isit la. Petèt pa kòm joliman jan li te fè nan Xcode, men li fè Sepandan, epi nou te kapab di allusion ak Lè sa a ba li kèk sòt de fil renmen ekri yon mesaj, Si m 'ba li yon moman, tou remake ke mwen jwenn yon erè ti kras isit la ki di ke nou ta dwe sèvi ak yon resous fisèl pou sa a, Se konsa, si mwen kite l fè kèk nan travay la difisil pou m ' Mwen kapab chwazi sa a fil, fè android lunèt ak ekstrè fil android. Mwen ka ba ou li ke non, ekri yon mesaj, epi ki sa li t 'koulye a, se li ranplase ki fisèl difisil-kode ak yon referans nan fisèl la nan. dosye fisèl la a XML, ki vle di kounye a sa a se isit la. Apre sa, mwen konnen ki sanble yon ti kras travay trivial ak renmen siplemantè nan pwen sa a, Men, lè ou gen yon pakèt tout bagay sa yo, yon pakèt antye nan strings, sa ki nan vrèman enpòtan, e patikilyèman pou lokalizasyon paske jan mwen mansyone pi bonè, Android se yon sistèm opere trè globalman itilize ke ou ka tou senpleman fè valè-en oswa valè-sp oswa yon bagay pou lang angle oswa Panyòl la oswa ak lòt. Lè sa a, pwobableman ou pa te gen eksperyans sa a ankò depi nou pa t 'fè anpil JavaScript an tèm de pwogram entènèt, men nou kapab tou fè jaden sa a rele xonclick pou bouton an, ak sa a se yon fason pou indican nan Layout nou ke nou vle yon fonksyon sèten yo dwe rele nan kòd sous nou an. Mwen pral rele sa sendMessage, ak yo nan lòd yo fè travay sa a sa vle di nan aktivite prensipal la isit la Mwen pral gen yo kreye yon fonksyon ki se piblik konsa ke li kapab accessible pa Layout la. Li nan anile paske ou jis pa vle li retounen anyen. Nou pral rele li sendMessage, epi li pran yon View, ki se yon sòt de kontèks ke nou ka jete lank metòd sa a ak sa yo ki wè moun lè nou ap kouri li. Apre sa, mwen pa konnen si ou remake-byen, ou pa ta remake gen, men nan pwen sa a isit la sa a wè se yon kalite ki pa gen ankò yo te te gen ladan, ak nan kou, nou tout konnen nan CS50 sou ki pa enkli kalite. Bagay nan bon sou tankou eklips IDE a se ke si ou bliye genyen ladan yo yon di ki kalite li pral soulinye ak yon wouj ti kras squiggly ak Lè sa a ba ou opsyon a enpòte gade nan. Yon fason rapid pou fè sa ki kontwòl chanjman O, epi li pral enpòte tout dosye yo ke li bezwen. Koulye a, ke nou gen sa a sendMessage fonksyon, ki se pral voye mesaj soti nan MainActivity a nan yon aktivite nouvo, nou pwal gen yo sèvi ak yon entansyon lanse aktivite nan nouvo soti nan yon sèl sa a, se konsa nou ap pwobableman vle kreye yon konstan mondyal oswa tou patikilyèman yon konstan piblik ki pral ede nou konnen kijan nou ap ale nan referans fisèl la paske lè nou kreye yon entansyon nou pa ap jis rele yon aktivite nouvo, men nou kapab tou bay li yon pake nan enfòmasyon. Yon pake se aktyèlman tèm nan ki android itilize, ak li nan yon fason pou li di bay li done siplemantè, ki li pa ka nan yon kalite trè sofistike done, men nou kapab definitivman gen ladan booleans oswa strings oswa antye. Sa sòt de bagay sa. Neglije poze sou nenpòt nan sa yo kalifikasyon isit la, piblik, final la, estatik. Montre granmoun ki se youn nan enpòtan. Sa vle di ke nou ka gen aksè a sa a varyab nan dosye lòt Kòd sous tankou lè nou kreye yon aktivite nouvo. Nou ka referans fisèl la nan sa a ranpli. Si li nan prive, sa vle di li nan limite a sa sèlman sa a ranpli moun isit la. Men, nou ap rele sa a yon bagay tankou mesaj siplemantè. Koulye a, nou te fè fonksyon sa a, epi si nou klike sou bouton an, yo pral fonksyon sa a dwe rele. Men, nou pa t 'fè anyen, evidamman, ak fonksyon an. Ki sa nou vle fè kounye a se kreye yon aktivite nouvo, pral aktivite a ki aktyèlman dwe te lanse. Nan eklips nou ka di nouvo, android aktivite, vid aktivite. Nou ka bay li yon non. Se pou yo rele li aktivite rezilta nou yo. Lè sa a, jaden sa a paran yerarchize se yon fason pou ki espesifye ki jan aktivite yo yo ki gen rapò youn ak lòt. Paske pral yon sèl sa a dwe te lanse nan aktivite nan lòt nou ta dwe presize ke li gen paran aktivite prensipal la. Apre sa, mwen te kapab klike sou jaden an kap vini yo a, ki ta yo te di nou kèk jaden si ou vle ke li te tou ki gen ladan, Men, bagay la bèl sou ADT, ankò, se ke si mwen desann isit la nan Manifès la sonje ke tout bagay sa yo reyèlman te enkli pa default lè nou orijinal kreye pwojè a, e kounye a, paske nou itilize sa a kreye yon aktivite nouvo olye ke sèlman ajoute dosye pwòp klas nou an paske nou mache ale nan tout entèfas yo pou fè sa li deja te ajoute tout bagay sa yo Manifès la pou nou, ki jis vle di ke kounye a opere sistèm nan pa pral pote plent lè nou eseye lanse aktivite sa a. Men, li tou, nan kou, li renmèt li yon etikèt sou, ki tou montre moute nan strings. Li fè yon bann bagay sa sou fen a tounen pou nou. De tout fason, kounye a ke nou gen aktivite sa a rezilta kòm byen, aktyèl Kòd sous dosye a nan dosye a sous, epi ou ka wè-a yon ti tan manyen sou sa a- paske nou rakonte l 'sou sa a paran yerarchize li te bay sa a android.r.ide.home jaden an bagay sa a onOption chwazi. Ki sa sa se fondamantalman di la a se gen yon bouton meni kounye a ke nan tèt kwen gòch nan ekran an si mwen tounen nan PowerPoint a ki kote nou premye te pale osijè de ba aksyon paske yo te paran an yerarchize kounye a gen yon flèch ti kras tounen isit la ak sa a se klikabl pou nou ta dwe kapab-apre nou fin aktyèlman kouri app sa a- tounen, epi li yon fason pou ekonomize nou yon ti kras nan Kòd la. Koulye a, nan sa a byen, li sanble yo dwe pote plent sou ki pou yon moman. Se pou yo fè kòmantè ki deyò. Koulye a, yo nan lòd yo aktyèlman kominike avèk 2 aktivite sa yo, nou gen yo kreye yon entansyon ki gen ladan tout bagay sa yo done. Nan sendMessage kounye a mwen pral kwazyè atravè kèk Bits nan Kòd epi eksplike ke jan mwen ale. Yon entansyon li, jan mwen te di, se yon fason lanse yon aktivite soti nan yon lòt. Entansyon an se kalite a. Nou ap kreye yon myIntent varyab. Lè sa a se aktyèlman yon objè, ki se poukisa nou gen yo rele nouvo. Li nan komen Java l 'la, ki ta ka pran yon ti kras nan ap resevwa itilize yo. Sa vle di nou ap lè l sèvi avèk aktivite a oswa MainActivity nan klas la, ak entansyon nan fason sa a pran aktivite a li pral soti nan ak aktivite nan li a ale nan, ki nou rele ResultActivity, e ke se klas pwòp li yo. Mete sa. Lè sa a, kòm mwen mansyone anvan, nou te bay ke ID nan jaden an tèks modifye ak gade nan tèks, se konsa yo nan lòd yo pwogramasyon pran tèks la ki egziste nan editText la nou itilize fonksyon sa a yo rele findViewByID, ki se menm jan ak yon bagay ki ou pral itilize lè ap eseye jwenn soti nan jaden Dom la. Petèt David chita pale sou sa a nan konferans. Men, li la jis yon fason pou trape sa yo-Se poutèt sa nou tag bagay sa yo ak sa yo jaden yo. Id.editText1. Li nan deja autocompleting pou m 'la. Lè sa a, nou pral genyen ladan tou-sa a editText kounye a ke nou gen jaden an nan pwogram nou an, tout sa ki findViewByID t 'te fondamantalman ou ta ka panse a li kòm ba nou yon referans nan ki editText. Koulye a, nou vle jwenn fisèl la oswa mesaj la nan ki editText ki nou ka fè lè l sèvi avèk-a ou ta ka panse a editText kòm yon struct- nou rele li yon objè nan Java-ak yon pakèt antye nan diferan metòd oswa jaden ak atribi figi marye ak li. Lè m 'di editText. li ban m 'chans pou jwenn aksè nan yon metòd tankou jètèk, ki pral jwenn tèks la kounye a nan ki editText ak Lè sa a konvèti ki klèman nan yon fisèl, epi nou te sove mesaj la. Koulye a, nou aktyèlman vle fè yon bagay ak sa yo ki entansyon nou kreye jis moman de sa. M'ap mete siplemantè kòm sa yo rele nan entansyon a, ki, ankò, tankou mwen te di anvan, sa a se yon fason pou kreye pake a ak yon pakèt antye nan done. Mesaj Siplemantè se tag nou yo pou nou konnen sa n ap ekonomize sa a anba, ak Lè sa a mwen ki gen ladan mesaj la. Lè sa a, nou ka aktyèlman kòmanse aktivite a pa bay li myIntent a paramèt. Lè sa a aktyèlman ap lanse aktivite a, se konsa kounye a depi mwen modènize fenèt 8 ka gen kèk erè ki montre moute yon ti tan, men eseye inyore-yo. Lè sa a se Emulation a android. Èspere ke kòd la aktyèlman ap pòp moute nan yon ti moman. Yon fwa ankò, inyore tout moun sa yo bagay sa yo ti kras. Men, Emulation a android ou ka rivalize nenpòt vèsyon an sistèm nan fonksyone de sa yo ki yo pi bonè, Donut, Gingerbread. Sa a se Jele Bean 4.1. Men, jan ou ka wè kounye a, sa a se yon bagay nou fè fè yo. Sa a gen MainActivity a, editText a, bouton an. Mwen ka tape yon bagay isit la, men kisa nou manke nan pwen sa a? Nou te fè jaden an nan MainActivity a ki nan pral voye mesaj la nan aktivite a lòt, men nan pwen sa a nou pa te fè anyen nan aktivite nan lòt, se konsa li pa nan pral resevwa anyen. Se pou yo fini pati sa a anvan nou deplase sou. Aktivite sa a rezilta, sa nou pral bezwen fè se nou pral bezwen fè se nou pral bezwen- nou ka tou referans entansyon an nan aktivite sa a, konsa nou gen pran entansyon a, ki se vrèman senp. Li se yon fonksyon ki enkli nan klas la aktivite, pou nou ka jis di "Jwenn mesaj ki soti nan entansyon an." "MyIntent entansyon = getIntent." Lè sa a pral ban nou-kounye a myIntent se yon objè, ki se yon referans nan entansyon ki te mennen nou nan aktivite sa a. MainActivity rele ak bay enfòmasyon siplemantè nan lakòz aktivite. Aktivite Rezilta kounye a parèt nan entansyon ki te mennen l 'isit la, epi nou ka gen aksè nan mesaj la ke nou te kreye nan yon sèl nan lòt, getStringExtra, ak sa a pral otokonple pou mwen. Lè sa a, sonje, fason nou atenn ke ti jan nan done te pa bay li jaden sa a dwa isit la, sa a fisèl piblik, ki se tag a pou fisèl la nou aktyèlman enkli ladan li. Si mwen di MainActivity.Extra_Message li nan dwa gen, e sa se sòt de tankou non paramèt lè nou te pase Kòd ki soti nan kontwolè nan modèl la, lè nou ta di yon bagay flèch tit. Li nan sòt nan menm nan lide la. Koulye a, sonje sa a. Nou menm tou nou te sa a oto kreye oswa oto pwodwi Kòd pou aktivite rezilta, ki gen ladan gade nan tèks nan mitan ki di mond hello. Nou te kapab potansyèlman fè ki pi gran. Se pou yo fè sa an premye. Nou te kapab fè li 40 dansite piksèl endepandan. Ann wè, ki nan super gwo. Ke yo pral oke. Lè sa a, yo nan lòd yo referans sa a wè tèks endividyèl nan Kòd nou nou pral bezwen bay li yon ID, ak yo nan lòd yo fè sa nou di @ + id, ki vle di nou bay li ID. Si nou jis di @ id li ta sipoze nou ap indican yon ID ki deja egziste, e kite yo rele sa resultTextView nou an. Men, remake ke nan XML gen nan pa gen bezwen pou virgules oswa anyen. Tout se nan sa yo Tags. Li trè menm jan ak HTML nan yon anpil nan sans. Li pran yon ti kras nan ap resevwa itilize, men evantyèlman ou pral santi trè konfòtab ak li. Se pou yo mete tèks la pou wè tèks rezilta nou an, ak jan nou te fè lè nou te jwenn ke jaden tèks modifye nan lòt aktivite nou nan MainActivity isit la nou pral tou menm jan an tou- nou pral jwenn gade nan pa ID a. Men, R, nan ka mwen pa t 'mansyone sa anvan, se referans nan katab resous nou yo, ak Lè sa a ID se yon referans nan tout bagay nan dosye a resous yo, tout idantite ki yo, ak resultTextView. Epi jis tankou anvan, resultTextView se yon objè, ki vle di li gen tout bagay sa yo pwopriyete asosye ak li. Lè nou itilize jètèk pou tèks la modifye pou jaden sa a tèks oswa gade nan tèks nou ka aktyèlman sèvi ak setText, ak Lè sa a nou deja jwenn mesaj la soti nan entansyon a, Se konsa, mwen ka di mesaj, ak sa a aktyèlman ap mete mesaj la. Li pran yon moman lanse, ak Lè sa a, nou ka wè si wi ou non li aksidan, men nenpòt kesyon sou pwosesis sa a dwa a, ki sòt nan entèraksyon? Nan plizyè fason li nan senp. Rezon ki fè la mwen pral nan yon bagay relativman senp se, ankò, paske ou jwenn yo wè entèraksyon ki genyen ant Layout a, kòd la sous, ki jan ou referans bagay sa yo e petèt jwenn yon ekspoze ti kras nan fason Java travay la. Si mwen aktyèlman tape yon bagay nan isit la, tankou ohai, ak Lè sa a, mwen klike sou bouton an, li lanse yon aktivite nouvo, e ke sa wè tèks di ohai. Sa a trè senp, men èspere ke apre sa egzanp ou sòt de wè ki jan aktivite sa a ap travay, epi kounye a ke dezòd nan dosye ki sou bò gòch pou tout dosye pwojè sa yo, èspere ke ou konnen ki kote yo gade kounye a. Sa a se zòn sous Kòd ou. Layout se reyèlman bagay la sèlman ou pral fè fas ak jiskaske ou gen ladan imaj ak drawables yo oswa kèlkeswa sa, ak valè yo, ki pral gen ladan yo strings, Kòm nou mansyone, ak Lè sa a, diferan estil se yon bagay ki nan sòt de tankou CSS. Adrès li lè ou vle, men jiskaske ou santi ou konfòtab ak ajoute plis Flair ak aplikasyon ou gen nan pa gen bezwen enkyete sou li twòp. Jis vlope moute yon lòt bagay ou pral definitivman vle genyen ladan yo- asepte ou vle entegre karakteristik fre ak sove tèt ou kèk siplemantè kodaj- ta dwe gen ladan bibliyotèk pati 3rd. Isit la nan ti kras android nèg la ak Sherlock Holmes chapo an. Sa a se yon aksyon ba Sherlock bibliyotèk, ki fondamantalman vle di ke ba aksyon ou te wè pi bonè, ki se kounye a estanda nan Sandwich krèm ak Jele Bean, si ou vle pote ki sòt de eksperyans itilizatè itilizatè sou vèsyon ki pi ansyen ak sove tèt ou soti nan mangonmen sou ki jan itilizatè a ki pral navige sou vèsyon ki pi ansyen lè ke bagay se pa la ou ka gen ladan sa a bibliyotèk ak Lè sa a ou jis gen nan referans-olye ke android a default bibliyotèk pou ba a aksyon, ou referans sa a bibliyotèk sipò. Bagay sa yo tankou Scoreloop, li nan gwo si w ap ale nan genyen ladan yo yon jwèt. Li pèmèt ou ajoute ankadreman lidè ak reyalizasyon nan jwèt. Admob se yon fason pou mete anons nan aplikasyon w yo nan ka ou vle fè yon ti kras nan lajan koupe nan li. Natirèlman, gen Facebook ak Twitter pou entegre gen si ou vle pataje bagay sa yo byen fasil, et setra. Dropbox, menm jan an tou, ak Google Analytics se ke tablo kap yon sèl la. Ke yo pral trè enpòtan si ou aktyèlman vle wè ki moun ki kominike ak app ou a oswa ki moun li se ki jan pou yo kominike, setra et. Google, pa default, di ou yon anpil nan estatistik sou ki moun ki te enstale app ou ak sa ki telefòn yo genyen, vèsyon sa sistèm opere yo genyen. Men, si ou vle wè ki moun ki lè l sèvi avèk l 'sou yon baz chak jou ak ki jan yo sèvi ak li Lè sa a, ou pral vle gen ladan kèk sòt de Suivi sistèm tankou sa. Lè w ap pare yo distribye app ou Mwen pa bezwen ale nan ke nan pwofondè twòp. Klike sou lyen an isit la, Google Jwe. Li itilize yo dwe mache a android. Yo rebranded tout bagay ak Jwe Google, kidonk kounye a ou soumèt a sa. Li trè senp. Ou gen gen yon deskripsyon, gen kèk Ekran. Tankou mwen te di, gen nan pa gen pwosesis apwobasyon tankou iOS. Men, ki kote yo ale soti isit la? Mwen te montre ou yon egzanp vrèman senp. Èspere ke si li sanble fò anpil senp Lè sa a, sa a, se pwobableman yon siy bon. Si ou nan tout te santi yon ti jan twouble oswa si sou ekzakteman ki sa mwen te sezisman sa a, se tou bon, men soti isit la yo ale nan Google Gid. Sa a se yon gwo plas kòmanse. Li pral pale ou atravè sa yo atann an tèm de konsepsyon aplikasyon an, ki jan itilizatè yo nòmalman kominike avèk li. Li nan pi plis gratis fòm pase iOS, mwen ta di, ki li sanble tankou opinyon tab yo-Mwen pa konnen, ki nan pen yo ak bè. Tout se yon View tab glisman leve, li desann. Avèk android yo definitivman ankouraje moun yo gade nan li soti nan yon pakèt antye nan pèspektiv diferan. Lè ou gen ladan yo pou twous lan devlopman lojisyèl nan sa a ADT pa default ou gen yon pakèt antye nan plizyè echantiyon pwojè nan android. Dwa isit la, android, android Pwojè Egzanp. Si m 'klike sou sa, Lè sa a, mwen ka chwazi yon vèsyon pou ki echantiyon an pwojè aplike. Genyen yon pakèt tout de bagay sa yo diferan isit la. Li kòmanse koupe ak konpatibilite ba aksyon, jwe akseleromètr, backup ak restore, Bluetooth, mason jès. JetBoy se yon jwèt echantiyon yo ba ou, kòm se LunarLander. Gen yon pakèt tout de aplikasyon pou echantiyon isit la, epi yo tout ap vize a diferan aspè API android a, ak lide a se ke menm jan ou fè aplikasyon w lan ou pa bezwen aprann tout bagay sou android fè yon app android. Ou gen sèlman yo aprann sou pati pyès sa yo ke w ap aktyèlman ale nan sèvi avèk yo. Gade nan sa yo bibliyotèk egzanp lan. Ezite a kapab bay kopi epi kole kòd la ak re-aplike li. Li se yon gwo bagay fè yon gade nan plis Kòd difisil epi eseye konprann li, ki se nan kou poukisa nan CS50 nou souvan ba ou gwo kantite Kòd sous. Gade nan kèk nan sa yo si w ap ale nan sèvi ak bibliyotèk ki sanble ak Lè sa a aplike li nan Kòd pwòp ou yo. Ak nan kou, gen tutoryèl. Rechèch pou tutoryèl. Mwen te jwenn yon anpil nan yo menm bon sou entènèt ki ka pote ou jiska pi vit ak sa fragman reyèlman yo ak fason ou kapab itilize yo. Gen kèk nan bagay sa yo konsepsyon nouvo, tankou fragman, ou reyèlman pa bezwen enkyete w sou sof si ou ap fè yon trè gwo nan pwojè sijè ki abòde. Yo se bagay sa yo ke Google ap eseye ofi-pous Stackoverflow se nan kou zanmi ou yo. Nou swete ke mwen te vann ou yon ti jan sou android, ka akonpli li nan pi plis fasil apwòch an tèm de jis lang nan kodaj. Java se Mwen ta di pi fasil yo konprann pase Objektif C-. Android ap grandi Mwen panse ke pi plis pase iOS. Mwen vle di, done la ki gen la tou, sou kote nan men sa mwen panse. Li k ap pase yo dwe alantou pou yon ti tan, ak yo yon kèk ane dèyè an tèm de sik konsepsyon yo, se konsa li a sòt de konprann ke yo ap toujou ap travay nan kèk nan sa yo kesyon konsistans, tankou sa a ba aksyon se yon bagay nouvo pou yo toujou, sòt de kreye menm jan eksperyans itilizatè atravè tout apps yo. Nou swete ke ou ka ale pou pi devan kounye a epi yo louvri moute eklips epi fè pwòp ou yo apps android. nenpòt moun ki gen nenpòt kesyon anvan nou vlope moute sou anyen? Mwen ka di ou repons lan se 42. Oke, kè kontan kodaj tout moun, ak bòn chans. [CS50.TV]