[Powered by Google Translate] [Seminārs] [Android Apps (Tagad ar Jelly Beans!)] [Jordānija Jozwiak] [Harvard University] [Tas ir CS50.] [CS50.TV] Sveiki visiem, un laipni aicināti Android Apps (Tagad ar Jelly Beans!) Seminārs. To sauc Tagad ar Jelly Beans, protams, jo jaunāko versiju OS sauc Jelly Bean. Kad es runāju par Android pagājušajā gadā, un to izdarīja būtībā pašu semināru Man bija uzrādot dizaina modeļus un stilistikas izvēli, lai piparkūkas, kaut Ice Cream Sandwich bija iznācis laikā, un tas ir kaut kas, mēs runājam par iet uz priekšu, mazliet. Android, protams, ir dažas problēmas ar sadrumstalotību, tāpēc jaunāko Google operētājsistēmu parasti nav īsti gatavojas kļūt izplatīta starp lietotājiem, iespējams, līdz pat gadam, diemžēl. Bet, neņemot vērā, ka mēs runājam par daudz iemeslu, kāpēc Android ir daudz labāk, nekā iOS. Labi, mēs runājam par Android, salīdzinot ar iOS, daži dizaina paradigmas, kā jūs saņemsiet izveidot tikai vienu slaidu, un liela atšķirība starp šo un iepriekšējo gadu ir es tikai vēlos, lai zoom caur kādu konceptuālu lietas strādā ar operētājsistēma, un tad doties uz patiešām pamata piemērs. Patiesībā, tikai piemērs, ka Google apraksta, lai izveidotu savu pirmo app, un mēs iet caur to kopā un vienkārši aprakstīt. Es zinu, daudzi no jums ir tikai kodēts C, tāpēc Java jau būs atšķirīgs skatījums, un tā jūs saņemsiet savu pēdu mitrā un justies mazliet vairāk apmierināti ar to, cerams. Ātrā kopsavilkums, Android pret iOS. In Android tur tas ir vienu reizi attīstītājs maksa $ 25, neviens no šajā gadā 100 $ lieta. Nav nekādu ierobežojumu, kas nozīmē, ka, ja es gribu iesniegt app, Es vienkārši iesniedz to, un tur nav apstiprināšanas process, piemēram, tur ir iOS. Jūs saņemsiet, lai attīstītu ar Java, izmantojot Eclipse, kas ir pāri platforma, tāpēc tas nav svarīgi, ja jums ir Mac, Logi, vai kādu Linux mašīna. Protams, ar iOS jums ir izmantot Xcode uz Mac, un Android izmanto daudz vairāk cilvēku, tādēļ, ja jūs vēlaties, lai jūsu app, lai ir dažas redzamību veida vai varbūt padarīt mazliet naudas no reklāmas jūs, iespējams, gūs labumu no Android. Un viena lieta, kas vienmēr ir bijis zināms par Android ir galējā summa, pielāgošanu, bet iOS ir ļoti noteikta to veidos lai tie varētu uzturēt drošību un pār katru maz aspektu kontrole par projekta ietvaros to OS un atsevišķu progr. Android ir ļoti brīvā formā, un tur ir tik daudz vairāk iespējas. Labi, daži dizaina paradigmas. Paziņojums šeit, tāpat kā iOS ir tabletes un iPhones un iPod skar viņi ir jāatbalsta, teiksim, tāpat kā ducis ierīcēm, ja jūs vēlaties, lai atbalstītu vēstures lietas, kā arī. Ar Android, jums ir, lai atbalstītu simtiem ierīču, tāpēc ir dažas lietas, kas Google ir centusies īstenot lai padarītu lietotājam izjust nedaudz vairāk konsekventu, bet mēs arī runājam par to, kā tas nozīmē, ka ir jautājumi par sadrumstalotības ka jūs pastāvīgi ir jāapzinās atbalstīt. Sadrumstalotība nozīmē, ka ir daudz dažādas operētājsistēmas, daudzi un dažādi ar dažādu aparatūru tālruņi darbojas Android, visi tajā pašā laikā, tāpēc šis grafiks šeit iet atpakaļ aptuveni 6 mēnešus. Jā, 6 mēnešiem, un jūs varat redzēt, kā tumšāko joslu apakšā ir Jelly Bean, kas iznāca pa vasaru, un jūs varat redzēt tieši tagad, iespējams, ir apmēram 2% no telefoniem ir tā. Ice Cream Sandwich iznāca vairāk nekā pirms gada, un no telefoniem ceturtdaļa ir tā. Joprojām ir telefoni, kas izmanto OS versiju no gadus atpakaļ partiju. Viena lieta, ka Google ir mēģinājis darīt, lai lietotāja pieredzi daudz vairāk konsekvents progr sāk ar Honeycomb, , kas ir tablete variants, tad Ice Cream Sandwich un Jelly Bean, viņi patiešām cenšas uzsvērt izmantot šo darbību joslā, kas ir tas, ko jūs varat redzēt augšpusē šeit, viss tepat, ieskaitot šo maz iestatījumi pogu. Tā ir dizaina izvēli. Tagad, kad jūs redzat 3 punktus, tas nozīmē, noklikšķiniet uz šo, un tur būs nolaižamajā izvēlnē, kas ir sava veida iestatījumus. Tas tikai rāda uz augšu, tāpēc es noklikšķinājuši uz šīs pogas. Tas ir kaut kas, ka viņi cenšas izmantot, lai veiktu progr nedaudz vairāk konsekventu visā kuģa, un tāpēc lietotājam ir labāk izprast vienotu pieredzi. Labi, tāpēc, ja jūs neesat jau to izdarījušas, vai, ja jūs skatīties mājās tad jūs varat sekot šiem soļiem, lai izveidotu savu kodēšanas vidi. Tas ietvers dodas uz mājas lapā šeit. Jūs varat Google uzstādot Android SDK un ievērot dažus aprakstus tur. Viņi pateiks visu. Viņi ir instalēšanas SDK, lejupielādēt Eclipse Classic versija, kaut gan, protams, mēs esam kodēšanas Java. Viņi iesaka šo vienu, un pēc tam šo ADT, Android Development Tools, ir spraudnis, kas jums instalēt uz Eclipse, kas ļauj ir daudz modernāks pieredzi ar Android laikā Eclipse. Tas dos jums dažas grafisko lietotāja saskarnes projektēšana viedokli, un tas dos jums daudz lielāku atbalstu un spēja uzsākt ar emulatora un visu, kas veida lieta. Pieteikumu sistēmu. Es gribu runāt par to, kā ietvaros Android projekti tiek strukturēts, un tad mēs iedziļināties ātri, piemēram, un, cerams, Jūs varat uzdot jautājumus jebkurā vietā un justies komfortabli gada beigās tā. Mums ir daži žargons pirmais. Darbība ir kā ekrāna jūs redzēt, kad jūs uzsākt app. Visa pieredze ir darbība pati par sevi, lai jūs varētu domāt par to, kā ekrāns vai skatu, bet patiesībā tas ir pirmkods puse. Mēs joprojām sauc faktisko interfeisa daļu no tā skata. Tas ir sava veida, piemēram, kā 7 PSET mums bija kontrolieris un tad skats. Darbība ir vairāk vai mazāk kontrolieris, un skats ir tas, ko mēs darām attiecībā uz XML , kas ir saistīta ar minēto darbību. Fragmenti ir kaut kas, kas ir īstenoti Ice Cream Sandwich iet uz priekšu. Tas ir tikai, ņemot daļas domām ideja vai darbība un dalot tos atsevišķās jomās, lai mēs varētu padarīt mūsu kodu vairāk izmantojami šiem daudz dažādu ierīču ka mums ir jāatbalsta, un tas ir tikai veids, kā mēģināt arī faktors, kas vairāk kodu. Pakalpojumi ir fona lietas, piemēram, spēlējot mūzikas vai navigācijas norādes iespējams. Satura nodrošinātāji, tie ir API ietvaros operētājsistēmas , kas ļauj piekļūt kopīgu datus, piemēram, kontaktinformāciju, un tad nodoms ir kaut mēs izmantosim, kad mēs vēlamies, lai uzsāktu jaunu darbību no mūsu pašreizējo darbību. Sveiki Android, šis būs projekts, kas mēs runājam par. Es tiešām to darīt jums, un tad mēs darīsim kaut kur mēs noklikšķiniet uz pogas ar kādu tekstu un uzsākt jaunu darbību. Ļoti vienkārši, bet es gribu iet cauri kas būs iedziļināties projektā kā šis. Kad jūs veicat jaunu projektu, jūs redzēsiet, kas Eclipse tur ir šis projekts ar nosaukumu Sveiki Android. Tad ir viss ķekars mapes šeit. Tie jūs tiešām saistītas ar ir avots mapi, resursu mapi, RES, un zināmā mērā libs mapi bibliotēkām. Un tieši tāpēc mēs esam tajā pašā lapā ar minēto ja tu būtu, lai izveidotu jaunu projektu, jūs varat darīt šīs tiesības šeit, tāpēc, ja es vēlos, lai izsauktu to HelloAndroid, un tad tas automātiski dara visu ķekars informācijas par mums. Paketē vārds ir vajadzēja būt unikāls identifikators kas parasti saistīti ar mājas lapā, ja Jums bija viens. Piemēram, es aicinu šo net.cs50.helloandroid. Un man jau ir veikuši šo projektu uzreiz. Labi, sorry. Sauksim to HelloCS50. Un tad tā lūgs lietas, piemēram, kāda veida ikonu mēs vēlamies darīt. Tas viss tāpēc, ka Android izstrādātāju rīku saskarni, spraudnis, kas mums pievienot Eclipse, lai mēs varētu izvēlēties lietas, piemēram, ko ikonu mēs gribam, un kas varētu iedziļināties šajā dziļumā, ja mēs gribam. Bet galu galā, tikai veikt projektu, un viss parādās tieši šeit. Kā es parādīja no otras ekrāna, mums ir avota mapi, un es ņemšu runāt par to, ko tas viss nozīmē drīz, bet jūs varat redzēt, ka tieši tas mūs aizved HelloCS50 ekrānu. Ir daži vairāk nekā šeit pogas, lai pievienotu tekstu un teksta lauka izkārtojumus. Tas ir veida, piemēram, Xcode, bet diemžēl ne tik racionalizētas. Bet klipi būs jūsu draugs un ADT, jo īpaši, kā to izdarīt. Labi, avota mape ir vieta, kur tās Java faili ir tur, un tas ir faktiski uzsākt savu programmu. Tas ir būtībā tāpat kontrolieriem. Resurss mapi vai res ir, ja mēs turpinām ekrāna izkārtojumu, attēli, skaņas, tekstu, animāciju un viss pārējais, Bibliotēkas, protams, bibliotēkas. Un Acīmredzama, tas ir veids, ka Android sistēma zina kā sadarboties ar jūsu app. Tā stāsta to par atļaujām, un kādas darbības tiek faktiski darbojas. Tas ir visu būtisko informāciju, kas ir nepieciešams, lai palaistu jūsu app. Avota mape ir, ja mēs paplašināt to, kā jūs varat redzēt šeit. Un piemērs, kods varētu izskatīties-tas ir pēc noklusējuma kodu. Kā mēs to sauca, MainActivity. Pēc noklusējuma, mēs onCreate, kas ir funkcija, kas sauc, kad šī darbība slodzes, lai jūs vēlaties, lai izsauktu onCreate (savedInstanceState). Tas atjaunos visus bitus informācijas ja lietotne tika apturēta. Tur ir visas šīs darbības dzīves cikla shēmu, kura Jūs varat ielūkoties kad jūs saņemsiet nedaudz pamatīgāk tajā, bet svarīgākais rindā kodu ir šī setContentView funkcija kas būs slodze resursu failu izkārtojumu. Tad kas onCreate šeit ir būtībā dara tas ir saprotams kad es varu izveidot šo aktivitāti Es gribu ielādēt šo izkārtojumu. Un mēs runājam par to, ka izkārtojums ir otrais. Ja mēs būtu, lai uzsāktu, ka šeit tas izskatās tieši tāpat kā tas, un pēc noklusējuma, jo mēs esam Eclipse to izdarīt, un ADT darot to mums tas ir viss, tekstveidnes kodu, kas ir radīts mums, un mēs varam virzīties uz priekšu un mainīt lietas, kā mums patīk. Resursu mape, kā jau teicu, tas ir, ja mēs tur visus izkārtojumus, drawables attiecībā uz jebkāda veida attēlu- viņi sauc drawables-un tad skaņas failus, ēdienkartes. Tas ir veids, kā visu ķekars XML jaukā sakārtoti veidā. Kā jūs varat redzēt, tur ir. Hdpi, ldpi, mdpi un xhdpi mapes ar drawables. Tie ir dažādi ekrāna blīvums, tik augsta blīvuma pikseļu collā, zema blīvuma, vidēja blīvuma, papildus augsta blīvuma. Tas ir, atkal, lai mēs varētu atbalstīt visas šīs dažādās ierīces, un ideāli, jums būs dažādas bildes par katru dažādu izšķirtspēju. Izkārtojumi ir kur mēs arī visi dažādus izkārtojumus, kas tiks izmantots dažādos pasākumos. Tie varētu ietvert arī izkārtojumus fragmenti, kas nozīmē daļēju darbības pamatā. Ja jūs vēlaties darīt kaut ko atdzesē, piemēram, kad jūs pagrieziet tālruni Jūs vēlaties, lai tas būtu atšķirīgs izkārtojums, jūs varat darīt, topogrāfiju ainavu, kā citā mapē, un Android automātiski ir visai ķekars šo noteikumu ietvaros resursu mapi, tāpēc zinās aplūkot dažādās mapēs, pamatojoties uz pašreizējo setup tālruni, kāda veida aparatūru jūs izmantojat. Tāpat šai vērtībām V11 šeit un vērtībām v14 un standartvērtības mapi, tas ir, labi, vērtībām, pats par sevi, tas būs noklusējuma vērtības pāri visām operētājsistēmas versijām. No otras puses, V11 un V14 sarakstīties ar šūnveida un Ice Cream Sandwich, attiecīgi. Atkal, tie ir veidi, ka, šajās mapēs ir dažādi stīgas un stilu, lai jūs varētu pielāgot izskatu jūsu app vai, iespējams, pat tās funkcionalitāti, lai gan tas, iespējams, būtu slikta ideja, pamatojoties uz versiju operētājsistēmas. Un es runāju par to visu šeit. Atkal, Izmaksājamie, izejvielas, maketēšana, vērtības. Par saistību nepildīšanu, ja mēs iedziļināties Sveiki Android vai CS50 HELLO tieši tagad tas izskatās tāpat kā šo. Tā teikt sveiki pasaulē. Kā jūs varat redzēt tepat ar Android tekstu Šī teksta domām teksts, kas ir būtībā tikai etiķete, ir tas, ko mēs saucam to iOS. Tā ir šo funny notācija @ virknes / hello_world. Tas ir tā, mēs varam, mēs cenšamies, lai izraksta visas stīgas, visi iekodēts stīgas Android atsevišķā mapē, kas notiek, ir values.strings. Ja mēs skatāmies šeit, mēs varam redzēt, ka mums ir iekodēts virkni saglabāto šeit par Hello pasaulē, un to sauc sveiki pasaulē, un tas ir sava veida kopēja projektēšanas lēmumu daudzās platformas, kas jūs vēlaties, stīgas ir veida lietas, ko mēs vēlamies, lai potenciāli varētu mainīt. Mēs nevēlamies, lai kontrolētu F mūsu pirmkoda failā mūsu XML. Mēs vēlamies, lai varētu mainīt to, kad mēs saņemam iespēja. Šis XML fails, strings.xml, ir veids, kā ieguves iekodēts virknes, kas pretējā gadījumā mūsu izkārtojuma resursiem vai mūsu avota kodu. Acīmredzama ir, ja mēs turpinām šo svarīgo informāciju par programmu. Tā ietver pakotnes nosaukumu. Tam ir jābūt unikāls identifikators. Atšķirībā no App Store IOS nosaukumus par pieteikumiem nav unikāls, un jūs faktiski var mainīt nosaukumu jūsu pieteikumu pēc tam, kad jūs iesniedzat to, tāpēc, ja man sākt ar Angry Birds, un tad es veikt atjauninājumu, un es nevēlos, lai izlaist jaunu versiju Es domāju, es varētu saukt Angry Birds 2, bet es esmu par to pašu darbības ciklā. Tas vienkārši parādās kā atjauninājumu. Vienīgais, kas ir unikāls, ir šīs paketes nosaukums, kas ne daudzi cilvēki redzēs. Nu, jūs redzēt tikai tad, ja jūs meklējat pie avota kodu, vai arī, ja ir dažas kļūdas veida. Sastāvdaļas ietver darbības, tāpēc mums ir jādeklarē jebkāda veida darbību, mēs izmantojam. Tas ir atļauja veida lieta. Tāpēc, ka Android nav šīs stingras piemērošanas process iesniegšanas progr vietā viņi vienkārši viss balstās off atļauju un paziņojot lietas manifestā. SDK versija ir arī svarīga. Mēs varam noteikt izmantošanu, kā SDK minimālā versija kaut ko. Protams, jūs vēlaties, lai radītu kodu un dizains jaunāku operētājsistēmu. Varbūt ne jaunākais, varbūt ne Jelly Bean. Varbūt jūs vēlaties, lai izstrādātu galvenokārt Ice Cream Sandwich, kaut arī tie ir diezgan daudz tāds pats ziņā dizains lēmumus un faktiskie bibliotēkām un API. Bet nevis ir cilvēki sākotnējā Android versija, tāpat kā donut ceļu atpakaļ, kad- kas joprojām gadās būt, izmantojot, ka mēģināt lejupielādēt savu pieteikumu, un tad saka tas nedarbojas uz manu telefonu, jūs varat iestatīt minimālo versiju un ir tā būtu piparkūkas, vai Ice Cream Sandwich vai kāds jūs jūtaties ērti iesniegšanas. Un šis ir piemērs par manifestu. Mēs varam apskatīt faktisko vienu mazliet. Labi, mēs tikai iet uz priekšu ar demo tagad. Tas ir demo, ja jūs Google Android veidot savu pirmo app vai kaut kas tamlīdzīgs. Mēs iesim cauri visam, kas notiek tur, un žēl, tikai atsauci, kas šeit zina Java nekādā mērā? Labi, tāpēc Java ir jauna kodēšanas valoda, lielākā daļa cilvēku, kas nāk no CS50. Īsumā, lai iet atkal to, ko tā saka šeit, ko mēs vēlamies darīt, ir nevis pielāgot šo Sveika pasaule pieteikumu ka viss tas ir tā uzsāk, un tā saka sveiki pasaulē un tā saka sveiki CS50 augšpusē, jo tas ir darbības vārds mēs ejam, lai mēģinātu veikt teksta lauku un pogu tā, ka tad, kad mēs nospiediet šo pogu, tas prasīs zināmus No teksta laukā un uzsākt jaunu darbību, un tā teikt kāds šis teksts teica darbībā, un tas ir salīdzinoši vienkāršs. Tas nav ļoti interesanti. Jūs negribētu, lai atbrīvotu kādu app kā šis. Bet tas parāda dažas svarīgas dizaina lietas. Mums nāksies sadarboties ar manifestu, ar izkārtojuma failus, ar pirmkodu, un jūs varat redzēt, kā uzsākt vienu darbību no cita. Mēs sāksim ar izkārtojumu mūsu pirmās darbības, ko es zinu, tas ir sava veida maza, bet kā jūs varat redzēt tieši tagad, viss tas ir tas ir mūsu logo, ka mēs esam radījuši, darbības vārds, un tas saka Hello World centrā. Tā vietā, es esmu pirmo reizi gatavojas veikt to vērā lineāro izkārtojumu, radinieks izkārtojumu, un tie visi ir lietas jūs varētu uzmeklēt un ir vērts iet pāri kādā brīdī ziņā izkārtojumiem. Tas ir daudz, piemēram, HTML. Mums teica, ka tas nav īsti vērts zināt, kas izpaužas kā programmatisku nozīmē, bet tur ir tik daudz dažādu izkārtojumu jūs varat kontrolēt, un tas ir tāpat kā CSS ziņā stilu. Tur daudz kas notiek tikai attiecībā uz estētiku šeit, un yeah, tas ir vērts mācīties, bet tas ir veida lieta, jums vajadzētu meklēt kā jums iet, un jums justies kā jums ir nepieciešams kaut ko jaunu. Es varētu izmantot dažas no ADT instrumentus šeit vismaz, lai sāktu ar. Es ņemšu veikt teksta lauku, un es dos pogu. Put tos blakus viens otram. Viņi jau mainīt atbilstoši. Atvainojiet, atkal atgriežoties uz atšķirību starp lineāro plānojumu un relatīvā izkārtojumu, lineāra izkārtojums dod nedaudz lielāku funkcionalitāti ziņā uzpildes vietas un pārliecinoties mēs pozicionējam lietas horizontāli vai vertikāli. Liela atšķirība starp lineāru izkārtojumu un relatīvajam izkārtojumu ir relatīvs izkārtojums pozīcijas viss, salīdzinot ar citiem viedokļiem, un laba lieta par to, ka tas aizņem mazāk laika, lai pievērstu jo operētājsistēma izskatās visu kodu, un saka, ka tas iet attiecībā uz šī šeit, šeit. Tas nozīmē, ka tas padara mazāk mērījumus nekā visu ķekars ligzdotu lineāro izkārtojumu, kas man būtu jādara, ja es gribēju lietas iet vertikāli šeit. Man jau ir dažas lietas, kas iet horizontāli, lai es būtu nepieciešams atšķirīgs lineāru izkārtojumu ligzdot tos vertikāli, bet, ja man bija darīt relatīvo izkārtojumu es varētu teikt saglabāt šo pa kreisi, to labo, un šīs lietas tālāk. Bet tāpēc, ka es gribu, lai aizpildītu šobrīd es esmu gatavojas izmantot lineāru izkārtojumu, un jūs varat redzēt, tas jau nav daudz no šīm lietām mums. Visi viedokļi ir nepieciešama īpašība platumu un augstumu, un tas notiek, lai būtu svars ir 1, un tas ir svars 1 tā, lai tas aizpilda visu telpu. Bet platums un augstums ir vissvarīgākais. Šajā ID lauks tieši šeit nav svarīga ietvaros faktisko izkārtojumu ja mēs, izmantojot relatīvo izkārtojumu un sakot, mēs varam atsaukties viens viedoklis pozīciju, atsaucoties uz citu. Ja mums bija salīdzinoši izkārtojumu, mēs varētu teikt pozīciju šajā turpmāk šo vienu vai iepriekš šajā ID, bet šis ID būs svarīgs kad mēs izmantojam to mūsu kodu, jo mēs varam atsaukties minētie atsevišķie viedokļi šādā veidā. Un tad jūs varat redzēt tag requestFocus, kas ir kaut kas jums, iespējams, redzēja 7 PSET. Tur bija auto fokusa birkas vai pa šo līniju kaut ko par vienu no jomām. Un viena lieta, protams, mēs varam darīt tāpat kā HTML, un paziņojums ir viens no nice lietas par VDA ir, ka tas autocompletes šeit. Varbūt ne tik labi, kā tas notika Xcode, bet tas tomēr un mēs varētu teikt mājiens, un tad arī tā ir sava veida stīgu patīk rakstīt ziņu, un, ja es to brīdi, arī paziņojums, ka man mazliet kļūda šeit sakot, ka mums vajadzētu izmantot virknes resurss par to, tāpēc, ja es ļaujiet to darīt dažas grūti strādāt par mani Es varu izvēlēties šo virkni, do refraktoru Android un ekstrakts Android virkni. Es varu arī tā, ka vārdu, uzrakstiet ziņu, un kāda tā tagad ir, tas aizstāja, ka iekodēts virkni ar atsauci uz virkni virknē s. xml failā, kas nozīmē, tagad tas ir šeit. Un es zinu, ka, šķiet, nedaudz triviāla un kā papildus darbs šajā brīdī, bet, ja jums ir viss ķekars lietas, viss ķekars stīgas, tas ir patiešām svarīgi, un jo īpaši lokalizāciju jo, kā jau iepriekš minēju, Android ir ļoti globāli izmanto operētājsistēmu ka jūs varat vienkārši darīt vērtības-en vai vērtības-SP vai kaut ko angļu vai spāņu valodā vai citās valodās. Un tad jūs, iespējams, nav bijusi šī pieredze vēl jo mums nebija daudz darīt JavaScript ziņā web programmēšana, bet mēs varam arī darīt šo lauku ar nosaukumu onClick uz pogas, un tas ir veids, kā atsauces laikā mūsu izkārtojumu ka mēs vēlamies noteiktu funkciju, ko sauc mūsu avota kodu. Es esmu gatavojas nosaukt šo SendMessage, un, lai veiktu šo darbu, kas nozīmē, galvenajā darbības šeit Man būs izveidot funkciju, kas ir valsts tā, ka tas var piekļūt izkārtojumu. Tas ir spēkā, jo jūs vienkārši nevēlaties, lai atgrieztos kaut ko. Mēs to saucam SendMessage, un tas aizņem viedokli, kas ir sava veida kontekstā mēs varam nostiprināt šo metodi uz šo individuālo skatu, kad mēs esam darbojas to. Un es nezinu, ja esat ievērojuši, labi, jūs nebūtu pamanījuši, bet šajā brīdī tieši šeit šis skats ir veids, kas vēl nav iekļauts, un, protams, jūs visi zināt, no CS50 par neieskaitot veidus. Jauka lieta par IDE ir, piemēram, Eclipse ir tas, ka Ja esat aizmirsis iekļaut veidu, tas būs uzsvērt ar nelielu sarkanu neskaidro un pēc tam sniedz jums iespēju importēt viedokli. Ātrs veids, kā to izdarīt, ir kontroles maiņu O, un tas būs importēt visi faili, kas tai vajadzīga, lai. Tagad, kad mums ir šī funkcija SendMessage, kas notiek, lai nosūtītu īsziņu no MainActivity uz jaunu darbību, mēs esam nāksies izmantot nodomu uzsākt jaunu darbību no šo vienu, tāpēc mēs droši vien vēlaties, lai izveidotu globālu konstante vai arī īpaši sabiedrības pastāvīga , kas palīdzēs mums uzzināt, kā mēs ejam, lai atsauktos uz virkni jo, kad mēs izveidojam nodomu, mēs esam ne tikai aicinot jaunu darbību, bet mēs varam arī sniegt tai paketi informāciju. Saišķa ir faktiski termins, kas Android izmanto, un tas ir veids, kā pateikt to papildu datus, ko tā nevar būt par ļoti sarežģītu datu tipu, bet noteikti varam ietvert booleans vai virknes vai Ints. Ka veida lieta. Jūtieties brīvi uzdot par kādu no šiem apzīmējumiem šeit, sabiedrības, galīgā redakcija, statisks. Sabiedrība ir svarīgs. Tas nozīmē, ka mēs varam piekļūt šo mainīgo no citiem pirmkods failus , piemēram, kad mēs izveidotu jaunu aktivitāti. Mēs varam atsaukties virkni ietvaros šo failu. Ja tas ir privāts, tas nozīmē, ka tas ir tikai šim atsevišķu failu šeit. Bet mēs saucam kaut kas līdzīgs papildu ziņas. Tagad mēs esam panākuši šo funkciju, un, ja mēs noklikšķiniet uz pogas, šī funkcija tiks saukts. Bet mēs neesam darījuši neko, protams, ar funkciju. Ko mēs vēlamies darīt tagad, ir izveidot jaunu aktivitāti, darbība, kas faktiski būs uzsākta. Eclipse mēs varam teikt, jaunu, Android darbību, tukšu darbību. Mēs varam dot tai nosaukumu. Sauksim to par mūsu rezultātu aktivitāte. Un tad šis hierarhiskais mātes lauks ir veids, norādot kā darbības ir saistīti viens ar otru. Tāpēc, ka tas viens tiks uzsākta no otras darbības mums ir jānorāda, ka tā ir mātes galvenais darbības veids. Un es varētu būt noklikšķinājis uz nākamo lauku tur, kas būtu teicis mums daži izvēles lauki, kas tika arī tai skaitā, bet jauka lieta par VDA, atkal ir tā, ka ja es ritiniet uz leju šeit ar manifestu, atcerieties, ka tas viss patiešām bija iekļauts pēc noklusējuma kad mēs sākotnēji radīja projektu, un tagad, jo mēs izmantojām to izveidot jaunu aktivitāti, nevis tikai pievienojot savu klasi failu, jo mēs gājām ar savu GUI, kā to izdarīt tas jau ir pievienots tas viss ar manifestu par mums, kas vienkārši nozīmē, ka tagad operētājsistēma nebūs sūdzēties kad mēs cenšamies uzsākt šo darbību. Un tas, protams, deva to etiķeti, kas arī rāda atbalstīts stīgas. Tas ir daudz lietas, par atpakaļ beigās mums. Anyway, tagad, ka mums ir šis rezultāts darbību, kā arī, faktiskais pirmkodu failu avota mapē, un jūs varat redzēt, īsumā pieskarties par šo- jo mēs teicis, ka par šo hierarhiskā vecāka tas deva šo lauciņu android.r.ide.home šajā onOption izvēlētajā lieta. Ko tas būtībā saka, ir tur izvēlnes poga tagad ka augšējā kreisajā stūrī ja es dodos atpakaļ uz PowerPoint, kur mēs vispirms runājām par darbības joslā jo hierarhijas vecākiem tagad tur ir maz arrow atgriezties šeit un tas ir klikšķināmos, lai mēs būtu jāspēj, kad mēs faktiski palaist šo app- iet atpakaļ, un tas ir veids, kā ietaupīt mums mazliet kodu tur. Tagad ir tā, labi, tas, šķiet, sūdzas par to, ka uz brīdi. Pieņemsim komentēt, ka out. Tagad, lai faktiski mijiedarboties ar šīm 2 darbībām, mums ir jāizveido nolūku, kas ietver visus šos datus. Jo SendMessage tagad es esmu gatavojas kruīza caur kādu kodu bitiem un paskaidro, ka, kā man iet. Nodoms, kā es teicu, ir veids, kā sākt vienu darbību no cita. Nolūks ir veids. Mēs esam radot mainīgu myIntent. Un tas ir faktiski objekts, kas ir iemesls, kāpēc mums ir, lai izsauktu jauns. Tas ir kopīgs Java izmantošana tur, kas varētu veikt mazliet kļūst izmantoti, lai. Tas nozīmē, ka mēs esam, izmantojot darbību vai klases MainActivity, un nodomu šādā veidā pauž aktivitāti tas iet no un darbība tas būs, ko mēs saucam ResultActivity, un tas ir sava klase. Iekļaut to. Un tad, kā jau minēju iepriekš, mēs deva šo ID rediģēšanas teksta laukā un tekstu viedokli, tāpēc, lai programmiski attēlotu teksts, kas pastāv editText mēs izmantojam šo funkciju sauc findViewByID, kas ir līdzīgs kaut ko, ka jūs izmantojat, mēģinot iegūt laukus no DOM. Varbūt David runā par šo lekciju. Bet tas ir tikai veids, kā iegūt tiem, kas ir iemesls, kāpēc mēs atzīmētu šīs lietas ar šīm jomām. Id.editText1. Tas jau autocompleting man tur. Un tad mēs arī-šo editText tagad, kad mums ir lauku ietvaros mūsu programmu, viss, kas findViewByID bija galvenokārt bija Jūs varētu domāt par to, kā mums dod atsauci uz šo editText. Tagad mēs vēlamies, lai iegūtu virkni vai ziņojuma šajā editText, ko mēs varam darīt, izmantojot, Jūs varētu domāt par editText kā struktūrai, mēs to saucam objekts Java-ar visu ķekars dažādu metožu vai lauki un atribūti, kas tai pievienoti. Kad es saku editText. tas dod man iespēju piekļūt metodi, kā getText, kas saņems pašreizējo tekstu šajā editText, un pēc tam konvertēt, kas skaidri uz virkni, un mēs esam glābti ziņu. Tagad mēs patiešām vēlamies kaut ko darīt ar šo nolūku mēs izveidojām tikai mirkļus atpakaļ. Es likšu papildus, jo tā sauc par nodomu, kas, atkal, tāpat kā es teicu iepriekš, tas ir veids, kā radīt paketi ar visu ķekars datiem. Extra ziņa ir mūsu tag, lai mēs zinām, ko mēs esam ietaupot to saskaņā, un tad es esmu arī ziņu. Un tad mēs faktiski var sākt darbību, piešķirot tam parametru myIntent. Un tas patiešām uzsāks darbību, tāpēc tagad, jo es modernizētas uz Windows 8 tur varētu būt dažas kļūdas, kas parādās īsi, bet mēģināt tos ignorēt. Un tas ir Android emulatora. Cerams, ka kods būs patiešām pop up brīdi. Atkal, ignorējot visus šos maz lietas. Bet Android emulatora Jūs varat sacensties jebkuru versiju operētājsistēmas no vissenākajiem tiem, donut, piparkūkas. Tas ir Jelly Bean 4.1. Bet kā jūs varat redzēt tieši tagad, tas ir kaut kas, mēs veikts. Tas ir MainActivity, editText, pogu. Es varētu rakstīt kaut ko šeit, bet tas, ko mēs trūkst šajā brīdī? Mēs esam padarījuši apstākļus MainActivity kas notiek, lai nosūtītu ziņu uz otras darbības, bet šajā brīdī mēs neesam darījuši neko citu darbību, tāpēc tas nav gatavojas saņemt neko. Let 's pabeigt līdz šo daļu, pirms mēs doties tālāk. Šis rezultāts darbība, kas mums būs jādara, ir mums būs jādara, ir mums būs nepieciešams, mēs varam arī atsauces nodoms šī darbība, tāpēc mums ir, lai attēlotu nodoms, kas ir ļoti vienkārša. Tā ir funkcija iekļautas darbības klasi, tāpēc mēs varam tikai teikt "Get ziņu no nodoma." "Nodomu myIntent = getIntent." Un tas dos mums, tagad myIntent ir objekts, kas ir atsauce uz nodomu, kas noveda mūs līdz šādai darbībai. MainActivity zvaniem un sniedz papildus informāciju, lai izraisīt darbību. Rezultāts aktivitāte tagad izskatās pēc nolūku, kas noveda to šeit, un mēs varam piekļūt ziņu, ka mēs izveidojām ar otru, getStringExtra, un tas būs autoaizpildīšana par mani. Un tad atceries, kā mēs iezīmējuši, ka bitu datu bija, piešķirot tam šo jomu tieši šeit, šo publisko virkni, kas ir tag par virkni mēs faktiski iekļauti. Ja es saku MainActivity.Extra_Message tas ir labi tur, un šāda veida ir kā parametra nosaukumu kad mēs nodots kodu no apstrādātāja uz veidni, kad mēs teiktu titulu bultiņas kaut ko. Tas ir paša veida idejas tur. Tagad, atcerieties to. Mums arī bija šis auto radīts vai auto radīts kodu par rezultātu darbību, kas ietver teksta skatu centrā ka saka sveiki pasaule. Mēs, iespējams, varētu darīt, ka lielāks. Darīsim, ka vispirms. Mēs varētu padarīt to 40 blīvuma neatkarīgie pikseļi. Paskatīsimies, kas ir super milzīgs. Tas būs labi. Un tad, lai norādītu šo individuālu teksta viedokli, kas ir mūsu kodu mums būs nepieciešams, lai dotu tai ID, un lai to izdarītu, ka mēs sakām @ + id, kas nozīmē, mēs piešķirt tai ID. Ja mēs vienkārši teica @ id būtu pieņemt, mēs esam atsaucoties ID, kas jau pastāv, un sauksim šo mūsu resultTextView. Un ievērosiet, ka XML tur nav semikoliem vai kaut kas nepieciešams. Viss ir šiem tagiem. Tas ir ļoti līdzīgs HTML, kas daudz sajūtas. Tas aizņem mazliet kļūst izmantoti, lai, bet galu galā jums justies diezgan ērti ar to. Pieņemsim atjaunināt tekstu mūsu rezultātu teksta domām, un kā mēs to darījām, kad mēs bijām kļūst, ka rediģēt teksta lauku citiem mūsu darbībā jo MainActivity šeit mēs arī tāpat- mēs atradīsim to skatu, uz ID. Un R, ja es neminēja šo pirms, ir atsauce uz mūsu resursu mapē, un tad ID ir atsauce uz visu, kas ir resursu mapē, visi IDS, un resultTextView. Un, tāpat kā līdz šim, resultTextView ir objekts, , kas nozīmē, ka tas ir visas šīs īpašības, kas saistītas ar to. Kad mēs izmantojam getText par rediģēt tekstu šim teksta lauka vai teksta skatu mēs faktiski var izmantot settext, un tad mēs jau atraduši ziņu no nolūka, tāpēc es varu teikt ziņu, un tas faktiski nosaka ziņu. Tā veltiet laiku, lai uzsāktu, un tad mēs varam redzēt, vai tas atteici, bet kādi jautājumi par šī procesa turpat, ka veida mijiedarbību? Daudzējādā ziņā tas ir vienkārši. Iemesls, kāpēc es esmu iet cauri kaut ko samērā vienkāršu ir, atkal, jo jūs saņemsiet, lai redzētu mijiedarbību starp izkārtojumu, pirmkodu, kā jūs atsauksmju lietas un varbūt saņemt nedaudz iedarbību, kā Java darbojas tur. Ja es tiešām rakstīt kaut ko šeit, tāpat kā ohai, un tad es noklikšķiniet uz pogas, tā uzsāk jaunu darbību, un šis teksts viedoklis saka ohai. Tas ir ļoti vienkāršs, bet cerams, ka pēc tam, piemēram jūs veida redzēt, kā šī mijiedarbība darbojas, un tagad, ka failu haoss kreisajā pusē, lai visu šo projektu mapēm, cerams, jūs zināt, kur meklēt tagad. Tas ir jūsu pirmkods jomā. Izkārtojums ir patiešām vienīgā lieta, jūs galā ar līdz jūs iekļaut attēlus un drawables vai neatkarīgi, un vērtības, kas ietver stīgas, kā mēs minēts, un tad stilu, ir kaut kas, kas ir veida, piemēram, CSS. Risināt to, ja jūs vēlaties, bet, kamēr jūs jūtaties ar pievienojot papildu nojauta lai jūsu pieteikumu nav jāuztraucas par to pārāk daudz. Tikai, lai satīt viena cita lieta, jūs noteikti vēlaties iekļaut, pieņemot, ka jūs vēlaties integrēt atdzist iezīmes un saglabājiet sev dažas papildu kodēšanu, būtu iekļaut 3rd Party bibliotēkas. Šeit ir maz Android puisis ar Sherlock Holmes cepuri. Tā ir darbība bārs Sherlock bibliotēka, kas būtībā nozīmē, ka rīcības joslu redzējāt iepriekš, kas tagad ir standarta Ice Cream Sandwich un Jelly Bean, ja jūs vēlaties, lai šāda veida lietotāju pieredzi, lai lietotājiem vecākas versijas un glābt sevi no raizēm par to, kā lietotājs gatavojas orientēties uz vecākiem versijām, ja tas, ka lieta nav tur jūs varat iekļaut šo bibliotēku un tad jums vienkārši ir atsauce, nevis noklusējuma Android bibliotēkas darbību joslā, jums norādīs uz šo atbalsta bibliotēka. Lietas, piemēram, Scoreloop, tas ir lieliski, ja jūs gatavojas iekļaut spēli. Tas ļauj jums pievienot līderis dēļiem un sasniegumus uz spēlēm. AdMob ir veids, liekot reklāmas jūsu pieteikumus , ja jūs vēlaties, lai mazliet naudas nost no tā. Protams, ir Facebook un Twitter, kā integrēt tur Ja jūs vēlaties dalīties lietas viegli, un tā tālāk. Dropbox, tāpat, un Google Analytics ir, ka diagramma meklē vienu tur. Tas būs ļoti svarīgi, ja jūs patiešām vēlaties, lai redzētu, kas mijiedarbojas ar jūsu app vai kas tas ir, kā tie mijiedarbojas, uc. Google, pēc noklusējuma, stāsta jums daudz statistikas datu par to, kas ir instalēta jūsu app un kādi telefoni viņi ir, to, kas operētājsistēmu versijām viņi ir. Bet, ja jūs vēlaties redzēt, kas to izmanto katru dienu, un kā viņi to lieto tad jūs vēlaties iekļaut kaut kādas uzskaites sistēmas, piemēram, ka. Kad esat gatavs, lai izplatītu savu app Man nav nepieciešams iedziļināties, ka pārāk daudz dziļums. Noklikšķiniet uz saites šeit, Google Atskaņot. To izmanto, lai būt Android tirgus. Viņi pārdēvēti viss ar Google Play, tāpēc tagad jūs iesniedzat to. Tas ir ļoti vienkārši. Jums ir iekļauts apraksts, daži ekrānšāviņi. Tāpat kā es teicu, tur nav apstiprināšanas process, piemēram, iOS. Un kur aiziet no šejienes? Es parādīja jums patiešām vienkāršs piemērs. Cerams, ja tas šķiet briesmīgi vienkārši tad tas ir iespējams, ir laba zīme. Ja jūs vispār jutos mazliet apjucis vai neesat pārliecināts par tieši to, ko es rakstīt tas ir arī naudas sodu, bet no šeit dodieties uz Google Guides. Šī ir lieliska vieta, kur sākt. Tas būs runāt jums caur to, ko viņi sagaida attiecībā uz pieteikumu dizainu, kā lietotāji parasti mijiedarbojas ar to. Tas ir daudz vairāk brīvā formā nekā iOS, es teiktu, kas šķiet, tāpat kā galda viedokli, es nezinu, kas ir viņu maize un sviests. Viss ir tabulas skatu bīdāmās augšu un uz leju. Ar Android viņi noteikti mudinātu cilvēkus paskatīties uz to no viss ķekars dažādām perspektīvām. Kad jūs iekļaut programmatūras izstrādes komplektu šajā VDA pēc noklusējuma ir visai ķekars izlases projektiem Android. Tieši šeit, Android, Android Sample projektu. Ja es noklikšķiniet uz to, tad es varu izvēlēties versiju, par kuru parauga projekti piemērot. Tur viss ķekars dažādas lietas šeit. Tas sākas ar rīcības bāru saderību, akselerometru spēlēt, dublējumu un atjaunot, Bluetooth, žests celtnieks. JetBoy ir izlases spēle, viņi jums, kā tas ir LunarLander. Ir viss ķekars izlases pieteikumu šeit, un viņi visi vērsti uz dažādiem aspektiem Android API, un ideja ir, ka jūs veicat savu pieteikumu Jums nav nepieciešams, lai uzzinātu visu par Android, lai Android app. Jums tikai, lai uzzinātu par detaļām, ka jūs faktiski gatavojas izmantot. Paskaties uz šiem izlases bibliotēkās. Jūtieties brīvi kopēt un ielīmēt kodu un atkārtoti to. Tā ir lieliska lieta, lai apskatīt grūtāk kodu un mēģināt saprast to, kas ir, protams, kāpēc CS50 mēs bieži dod jums lielu daudzumu pirmkodu. Paskaties dažus no šiem, ja jūs gatavojas izmantot līdzīgus bibliotēkas un pēc tam piemērot to uz savu kodu. Un, protams, ir konsultācijas. Meklēt konsultācijas. Es atradu labu tiem daudz internetā, kas var dot jums līdz ātruma ar ko fragmenti īsti ir un kā jūs varat izmantot tos. Dažas no šīm jaunajām dizaina lietām, piemēram, fragmenti, jums tiešām nav jābūt noraizējies par to, ja jūs gūstat diezgan liela joma projektā. Tās ir lietas, ka Google cenšas pakāpeniski collas Stackoverflow, protams, ir jūsu draugs. Cerams, ka man pārdeva jums mazliet par Android, saprotot, tas ir daudz vieglāk vērsties ziņā tikai kodēšanas valoda. Java ir tā, es gribētu teikt, daudz vieglāk saprast, nekā mērķa-C. Android pieaug Es domāju, ka daudz vairāk nekā iOS. Es domāju, dati ir arī tur, malā no tā, ko es domāju. Tas būs apmēram uz brīdi, un tie ir dažus gadus atpaliek attiecībā uz to dizaina ciklu, tāpēc tas ir sava veida saprotams, ka viņi joprojām strādā ar dažiem no šiem konsekvence jautājumiem, piemēram, šo darbību joslā ir jauna lieta par viņiem vēl, veida radot līdzīgu lietotāja pieredzi visās savās progr. Cerams, ka jūs varat iet uz priekšu tagad un atvērt Eclipse un padarīt savu Android progr. Vai kāds ir kādi jautājumi, pirms mēs satīt par kaut ko? Es varu jums pateikt, atbilde ir 42. Nu, laimīgs kodēšanas ikvienam, un labu veiksmi. [CS50.TV]