[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]