1 00:00:00,000 --> 00:00:02,610 [Powered by Google Translate] [Seminar] [Android Apps (Nüüd Jelly Oad!)] 2 00:00:02,610 --> 00:00:04,210 [Jordaania Jóźwiak] [Harvard University] 3 00:00:04,210 --> 00:00:06,780 [See on CS50.] [CS50.TV] 4 00:00:06,780 --> 00:00:11,600 >> Tere kõigile ja tere tulemast Android Apps (Nüüd Jelly Oad!) Seminar. 5 00:00:11,600 --> 00:00:14,530 Seda nimetatakse nüüd koos Jelly Oad, muidugi, sest 6 00:00:14,530 --> 00:00:17,310 viimase versiooni OS nimetatakse Jelly Bean. 7 00:00:17,310 --> 00:00:22,950 Kui ma rääkisin Android eelmisel aastal ja tegi seda põhiliselt sama seminar 8 00:00:22,950 --> 00:00:29,150 Ma esitasin disaini mustrite ja stiililine valikuid piparkoogid, 9 00:00:29,150 --> 00:00:31,250 kuigi Ice Cream Sandwich tuli välja ajal, 10 00:00:31,250 --> 00:00:33,680 ja see on midagi, mida me räägime, läheb edasi natuke. 11 00:00:33,680 --> 00:00:35,720 Android muidugi on mõned küsimused killustatus, 12 00:00:35,720 --> 00:00:40,240 nii viimaste Google operatsioonisüsteemi on tavaliselt 13 00:00:40,240 --> 00:00:44,710 ei tõesti levinud kasutajate seas potentsiaalselt kuni aasta, kahjuks. 14 00:00:44,710 --> 00:00:49,960 >> Kuid jättes kõrvale, et me räägime palju põhjusi, miks 15 00:00:49,960 --> 00:00:53,000 Android on palju parem kui iOS. 16 00:00:53,000 --> 00:00:56,410 Okei, me räägime Android versus iOS, 17 00:00:56,410 --> 00:00:59,770 mõned disain paradigmad, kuidas sa saad luua vaid üks slaid 18 00:00:59,770 --> 00:01:03,410 ja suur vahe selle ja eelmise aasta on Ma tahan 19 00:01:03,410 --> 00:01:06,860 zoom läbi mõned kontseptuaalsed asjad töötavad 20 00:01:06,860 --> 00:01:09,950 operatsioonisüsteem ja siis läheb tõesti lihtne näide. 21 00:01:09,950 --> 00:01:13,730 Tegelikult lihtsalt näide, et Google kirjeldab hoone oma esimese app, 22 00:01:13,730 --> 00:01:17,070 ja läheme läbi koos ja lihtsalt kirjeldada. 23 00:01:17,070 --> 00:01:22,100 >> Ma tean, et paljud teist on ainult kodeeritud C, nii et Java on juba saab olema 24 00:01:22,100 --> 00:01:27,220 erinevast vaatenurgast, ja see, kuidas sa saad oma jalad märjaks 25 00:01:27,220 --> 00:01:31,540 ja tunnen end veidi rohkem rahul ta loodetavasti. 26 00:01:31,540 --> 00:01:35,330 Kiire kokkuvõte, Android versus iOS. 27 00:01:35,330 --> 00:01:39,200 Android on see ühekordne arendaja tasu $ 25, 28 00:01:39,200 --> 00:01:42,390 ükski selle 100 $ aastas asi. 29 00:01:42,390 --> 00:01:45,440 Puuduvad piirangud, mis tähendab, et kui ma tahan esitada app, 30 00:01:45,440 --> 00:01:51,560 Ma lihtsalt esitab selle, ja seal ei ole kinnitamise protsessi, nagu seda on iOS. 31 00:01:51,560 --> 00:01:53,890 Sa saad töötada koos Java kasutades Eclipse, 32 00:01:53,890 --> 00:01:57,090 mis on risti platvorm, nii et see ei ole oluline, kui teil on Mac, 33 00:01:57,090 --> 00:01:59,600 Windows või mõni Linux masin. 34 00:01:59,600 --> 00:02:03,730 Muidugi, iOS pead kasutama XCode Mac'i 35 00:02:03,730 --> 00:02:06,930 ja Android on kasutatud palju rohkem inimesi, 36 00:02:06,930 --> 00:02:11,580 nii et kui soovite, et teie app on mingisugune nähtavust või ehk 37 00:02:11,580 --> 00:02:14,110 teha natuke raha reklaame 38 00:02:14,110 --> 00:02:17,450 oled ilmselt pigem kasu Android. 39 00:02:17,450 --> 00:02:20,630 >> Ja üks asi, mis on alati olnud tuntud umbes Android 40 00:02:20,630 --> 00:02:25,100 on äärmiselt summa kohandamist, arvestades iOS on väga kindlaks nende võimalusi 41 00:02:25,100 --> 00:02:29,380 et nad saaksid säilitada turvalisuse ja kontrolli iga väike aspekt 42 00:02:29,380 --> 00:02:34,180 Kujunduse oma OS ja individuaalne apps. 43 00:02:34,180 --> 00:02:40,180 Android on väga vabas vormis, ja seal on nii palju rohkem võimalusi. 44 00:02:40,180 --> 00:02:42,530 Okei, mõned disain paradigmad. 45 00:02:42,530 --> 00:02:49,600 Teade siin nagu iOS on tabletid ja iPhones ja iPod puudutab 46 00:02:49,600 --> 00:02:53,840 nad peavad toetama, ütleme, nagu tosin seadmeid, kui soovite, et toetada 47 00:02:53,840 --> 00:02:55,450 ajaloolisi asju samuti. 48 00:02:55,450 --> 00:02:58,410 Android pead toetada sadu seadmeid, 49 00:02:58,410 --> 00:03:01,240 nii on mõned asjad, et Google on püüdnud rakendada 50 00:03:01,240 --> 00:03:04,970 teha kasutaja kogemus veidi järjekindlam 51 00:03:04,970 --> 00:03:08,560 kuid me ka räägime, kuidas see tähendab, et on küsimusi, killustatuse 52 00:03:08,560 --> 00:03:11,700 et sa pidevalt olema teadlik toetamine. 53 00:03:11,700 --> 00:03:16,140 Killustatus tähendab, et seal on palju erinevaid süsteeme, 54 00:03:16,140 --> 00:03:20,330 palju erinevaid telefone erinevate riist töötab Android kõik samal ajal, 55 00:03:20,330 --> 00:03:29,680 nii see graafik siin ulatub umbes 6 kuud. 56 00:03:29,680 --> 00:03:36,460 Jah, 6 kuud, ja te näete, kuidas kõige pimedamal band 57 00:03:36,460 --> 00:03:39,330 põhjale Jelly Bean, mis tuli välja suve jooksul 58 00:03:39,330 --> 00:03:42,970 ja te näete praegu arvatavasti umbes 2% telefonidel on see. 59 00:03:42,970 --> 00:03:45,520 >> Ice Cream Sandwich tuli välja rohkem kui aasta tagasi, 60 00:03:45,520 --> 00:03:47,770 ja veerand telefonid on see. 61 00:03:47,770 --> 00:03:53,910 On veel palju telefone, mis kasutavad OS versiooni aastat tagasi. 62 00:03:53,910 --> 00:03:57,820 Üks asi, et Google on püüdnud teha, et kasutaja kogemus 63 00:03:57,820 --> 00:04:01,400 palju ühtsemaks apps hakkab koos Honeycomb, 64 00:04:01,400 --> 00:04:04,320 mis on tablett versioon, siis Ice Cream Sandwich ja Jelly Bean, 65 00:04:04,320 --> 00:04:06,750 nad tõesti püüavad rõhutada seda võimalust kasutada baari, 66 00:04:06,750 --> 00:04:10,430 mis on see, mida näed üleval siin 67 00:04:10,430 --> 00:04:14,730 kõik siin, sealhulgas see väike seaded nuppu. 68 00:04:14,730 --> 00:04:16,079 See disain valik. 69 00:04:16,079 --> 00:04:18,000 Nüüd, kui sa näed 3 dots see tähendab siis see, 70 00:04:18,000 --> 00:04:21,880 ja seal on rippmenüü, mis on mingi seaded. 71 00:04:21,880 --> 00:04:28,900 See näitab ainult üles, sest Napsautin seda nuppu. 72 00:04:28,900 --> 00:04:32,040 See on midagi, mida nad üritavad kasutada, et muuta apps veidi järjekindlam 73 00:04:32,040 --> 00:04:39,210 kõikjal ja nii on kasutajal parem tunne ühtne kogemus. 74 00:04:39,210 --> 00:04:42,640 >> Okei, nii et kui sa ei ole seda juba teinud või kui te vaatate kodus 75 00:04:42,640 --> 00:04:50,210 siis saate järgige neid samme, et luua oma kodeerimine keskkond. 76 00:04:50,210 --> 00:04:52,630 See hõlmab kavatse kodulehel siin. 77 00:04:52,630 --> 00:04:56,260 Saate Google paigaldamist Android SDK 78 00:04:56,260 --> 00:04:59,130 ja järgida mõningaid kirjeldusi seal. 79 00:04:59,130 --> 00:05:01,310 Nad räägivad teile kõike. 80 00:05:01,310 --> 00:05:05,160 Neil on installimist SDK, allalaadimiseks Eclipse Classic versioon, 81 00:05:05,160 --> 00:05:07,450 kuigi, muidugi, me kodeerimist Java. 82 00:05:07,450 --> 00:05:12,190 Nad soovitavad selle ühe, ja siis see ADT, Android Development Tools, 83 00:05:12,190 --> 00:05:17,300 on plugin, et kuhu sa installid, Eclipse, mis võimaldab teil 84 00:05:17,300 --> 00:05:20,550 on palju sujuvam kogemus Android jooksul Eclipse. 85 00:05:20,550 --> 00:05:24,070 See annab teile mõned graafilised kasutajaliidesed 86 00:05:24,070 --> 00:05:29,610 projekteerimine seisukohti, ja see annab teile palju rohkem toetust 87 00:05:29,610 --> 00:05:34,840 ja võime käivitada koos emulaator ja kõik sellised asjad. 88 00:05:34,840 --> 00:05:36,090 Kohaldamise raames. 89 00:05:36,090 --> 00:05:41,590 >> Tahan rääkida sellest, kuidas projekte Android on struktureeritud, 90 00:05:41,590 --> 00:05:44,830 ja siis me minna kiire näide ja loodetavasti 91 00:05:44,830 --> 00:05:48,820 võite küsida igal ajal ja mugav lõpuks ta. 92 00:05:48,820 --> 00:05:50,090 Meil on mõned žargoonis esimene. 93 00:05:50,090 --> 00:05:55,330 Tegevus on nagu ekraanil näed, kui sa käivitada app. 94 00:05:55,330 --> 00:05:57,840 Kogu kogemus on tegevus ise, 95 00:05:57,840 --> 00:06:00,790 nii et võid mõelda seda ekraanil või eesmärgiga, 96 00:06:00,790 --> 00:06:04,540 aga see on tegelikult lähtekoodi pool seda. 97 00:06:04,540 --> 00:06:12,680 Me siiski helistada tegelik kasutajaliides osaks eesmärgiga. 98 00:06:12,680 --> 00:06:17,230 See on omamoodi nagu kuidas pset 7 pidime kontroller ja siis vaadata. 99 00:06:17,230 --> 00:06:20,690 Tegevus on rohkem või vähem kontroller, 100 00:06:20,690 --> 00:06:23,360 ja vaade on see, mida me teeme nii XML 101 00:06:23,360 --> 00:06:25,260 mis on seotud selle tegevusega. 102 00:06:25,260 --> 00:06:29,340 Killud on midagi, mis on rakendatud Ice Cream Sandwich läheb edasi. 103 00:06:29,340 --> 00:06:36,380 See on lihtsalt idee võtta osade arvates või tegevus 104 00:06:36,380 --> 00:06:39,990 ja jagades eraldi alad, et saaksime 105 00:06:39,990 --> 00:06:45,030 et meie kood kasutatavust neid palju erinevaid seadmeid 106 00:06:45,030 --> 00:06:51,890 et me peame toetama, ja see on lihtsalt nii, et püüda 107 00:06:51,890 --> 00:06:54,290 Samuti tegurdada rohkem kood. 108 00:06:54,290 --> 00:07:01,090 Teenused on tausta asjad muusika või navigatsioonijuhised potentsiaalselt. 109 00:07:01,090 --> 00:07:05,640 Sisu pakkujad on need APIs jooksul operatsioonisüsteemi 110 00:07:05,640 --> 00:07:09,070 mis võimaldab teile juurdepääsu jagatud andmete nagu kontaktandmed, 111 00:07:09,070 --> 00:07:12,790 ja siis kavatsus on midagi me kasutame, kui me tahame, et käivitada 112 00:07:12,790 --> 00:07:17,210 uus tegevus meie praegune tegevus. 113 00:07:17,210 --> 00:07:20,980 >> Tere Android, see saab olema projekt, mida me räägime. 114 00:07:20,980 --> 00:07:25,410 Ma tegelikult teha teie jaoks, ja siis me teeme midagi, kui me klõpsa nuppu 115 00:07:25,410 --> 00:07:27,650 mõne teksti ja käivitada uus tegevus. 116 00:07:27,650 --> 00:07:30,110 Väga lihtne, kuid ma tahan minna läbi 117 00:07:30,110 --> 00:07:34,480 mida läheb projekti niimoodi. 118 00:07:34,480 --> 00:07:39,260 Kui teete uue projekti näete jooksul Eclipse 119 00:07:39,260 --> 00:07:41,900 seal on see projekt nimega Tere Android. 120 00:07:41,900 --> 00:07:43,470 Siis on terve hunnik kaustu siin. 121 00:07:43,470 --> 00:07:46,760 Need, sa oled tõesti mures on allikas kausta 122 00:07:46,760 --> 00:07:54,540 ressursside kausta res, ning teatud määral lis kausta raamatukogudes. 123 00:07:54,540 --> 00:08:00,070 Ja lihtsalt selleks, et me samal lehel, et 124 00:08:00,070 --> 00:08:03,240 kui sa olid luua uus projekt, 125 00:08:03,240 --> 00:08:08,270 siis saad seda teha siin, nii et kui ma tahan kutsuda HelloAndroid, 126 00:08:08,270 --> 00:08:11,100 ja siis automaatselt teeb terve hunnik informatsioon meile. 127 00:08:11,100 --> 00:08:14,110 Paketi nimi peaks olema kordumatu tunnus 128 00:08:14,110 --> 00:08:16,710 , mida tavaliselt seostatakse veebilehel, kui teil on olnud üks. 129 00:08:16,710 --> 00:08:24,430 >> Näiteks, ma nimetan seda net.cs50.helloandroid. 130 00:08:24,430 --> 00:08:30,070 Ja ma juba teinud selle projekti üks kord. 131 00:08:30,070 --> 00:08:40,059 Okei, vabandust. Nimetagem seda HelloCS50. 132 00:08:40,059 --> 00:08:42,929 Ja siis ta küsib asju nagu millist ikooni me tahame teha. 133 00:08:42,929 --> 00:08:48,840 See on kõik, sest Android Developer Tools liides, 134 00:08:48,840 --> 00:08:53,350 plugin, et me lisatakse Eclipse, et saaksime valida asjad 135 00:08:53,350 --> 00:08:58,320 mida ikoon tahame, ja et ta läheb, et põhjalik, kui tahame. 136 00:08:58,320 --> 00:09:04,360 Aga lõppude lõpuks, lihtsalt projekti 137 00:09:04,360 --> 00:09:07,040 ja kõike näitab üles siin. 138 00:09:07,040 --> 00:09:10,030 Nagu ma näitasin teiselt ekraanil 139 00:09:10,030 --> 00:09:14,070 meil allikas kausta ja ma rääkida, mida see kõik tähendab, varsti, 140 00:09:14,070 --> 00:09:19,090 kuid on näha, et kohe see viib meid HelloCS50 ekraan. 141 00:09:19,090 --> 00:09:24,690 On mõned nupud üle siin lisades teksti ja tekstiväli paigutusega. 142 00:09:24,690 --> 00:09:28,910 See on omamoodi nagu XCode kuid kahjuks mitte päris nii sujuvad. 143 00:09:28,910 --> 00:09:37,790 Aga klippe oma sõbra ja ADT eriti seda teed. 144 00:09:37,790 --> 00:09:40,920 >> Okei, allikas kausta kus 145 00:09:40,920 --> 00:09:43,820 Java faile hoitakse, ja see on tegelikult käivitada oma programmi. 146 00:09:43,820 --> 00:09:45,990 See on põhimõtteliselt nagu kontrollerid. 147 00:09:45,990 --> 00:09:49,020 Ressursside kausta või res on koht, kus me hoiame ekraani paigutust, 148 00:09:49,020 --> 00:09:54,110 pilte, helisid, teksti, animatsiooni ja kõike muud, lis ilmselt raamatukogudes. 149 00:09:54,110 --> 00:10:01,700 Ja ilmselge, et see on nii, et Android süsteem teab 150 00:10:01,700 --> 00:10:03,130 kuidas suhelda oma app. 151 00:10:03,130 --> 00:10:07,980 Ta ütleb ta umbes load ja millised tegevused tegelikult juhtida. 152 00:10:07,980 --> 00:10:12,350 See kõik on oluline teave, mis on vajalik käivitada oma app. 153 00:10:12,350 --> 00:10:17,990 Allikas kausta-kui me laiendada seda nagu näete siin. 154 00:10:17,990 --> 00:10:23,920 Ja näiteks, et kood näeks-see on vaikimisi koodi. 155 00:10:23,920 --> 00:10:27,930 Nagu me seda nimetas, peamine tegevus. 156 00:10:27,930 --> 00:10:33,230 Vaikimisi saame onCreate, mis on funktsioon, mis kutsutakse, kui see tegevus koormad 157 00:10:33,230 --> 00:10:37,150 nii et sa tahad helistada onCreate (savedInstanceState). 158 00:10:37,150 --> 00:10:40,440 See taastada iga bitti informatsiooni 159 00:10:40,440 --> 00:10:44,910 korral app peatati. 160 00:10:44,910 --> 00:10:48,790 >> Seal on terve tegevusala elutsüklit skeem, mida saab vaadata 161 00:10:48,790 --> 00:10:50,380 kui sa saad veidi põhjalikumat see, 162 00:10:50,380 --> 00:10:56,210 kuid kõige olulisem rida koodi on see setContentView funktsioon 163 00:10:56,210 --> 00:11:00,290 mis laeb ressurss faili paigutuse. 164 00:11:00,290 --> 00:11:03,590 Siis mida onCreate siin on põhimõtteliselt teeme, on see ütlus 165 00:11:03,590 --> 00:11:07,010 kui ma luua selle tegevuse Tahan laadida see kujundus. 166 00:11:07,010 --> 00:11:12,030 Ja me räägime, mida see paigutus on teine. 167 00:11:12,030 --> 00:11:16,230 Kui me käivitada, et siin see näeb välja täpselt nagu see, 168 00:11:16,230 --> 00:11:22,880 ja vaikimisi, sest meil on Eclipse teed ja õhkkuiva tonni teevad seda meie eest 169 00:11:22,880 --> 00:11:28,210 see kõik on stereotüüp kood, mis on loodud meie jaoks, 170 00:11:28,210 --> 00:11:34,630 ja me saame edasi liikuda ja asju muuta kui me soovime. 171 00:11:34,630 --> 00:11:38,190 Ressursside kausta nagu ma ütlesin, see on koht, kus me hoiame kõik skeemid, 172 00:11:38,190 --> 00:11:41,150 drawables seisukohalt mingit pilti- 173 00:11:41,150 --> 00:11:46,360 neid nimetatakse drawables-ja siis helifailid, menüüsid. 174 00:11:46,360 --> 00:11:51,170 See on viis, kuidas terve hulk XML kenas sorteeritud mood. 175 00:11:51,170 --> 00:11:58,030 Nagu näete, on. Hdpi, ldpi, mdpi ja xhdpi kaustad drawables. 176 00:11:58,030 --> 00:12:02,220 Need on erinevad ekraani tihedus, nii kõrge tihedusega pikslit tolli kohta, 177 00:12:02,220 --> 00:12:05,710 madala tihedusega, keskmise tihedusega, ekstra suur tihedus. 178 00:12:05,710 --> 00:12:08,900 >> See on jällegi nii saame toetada kõiki neid erinevaid seadmeid, 179 00:12:08,900 --> 00:12:15,100 ja ideaalis, siis on erinevaid pilte iga erineva resolutsiooniga. 180 00:12:15,100 --> 00:12:20,740 Skeeme, kus me sisaldavad kõiki erinevaid skeeme, mida kasutatakse erinevates tegevustes. 181 00:12:20,740 --> 00:12:24,150 Nad võiksid ka skeemid fragmentide 182 00:12:24,150 --> 00:12:26,670 mis tähendab, osaline tegevuses põhiliselt. 183 00:12:26,670 --> 00:12:29,610 Kui sa tahad teha midagi lahedat, nagu alati, kui telefoni pöörata 184 00:12:29,610 --> 00:12:33,900 sa tahad, et see on erinev paigutus, mida saate teha küljendus-maastiku teise kausta 185 00:12:33,900 --> 00:12:39,000 ja Android automaatselt on terve hunnik neid reegleid, mida allikas kausta 186 00:12:39,000 --> 00:12:44,690 nii et see on teada, et vaadata erinevaid kaustu põhineb praeguse setup telefon, 187 00:12:44,690 --> 00:12:46,740 millist riistvara sa kasutad. 188 00:12:46,740 --> 00:12:52,350 Samamoodi see väärtuspõhine v11 siin ja väärtuspõhine v14 189 00:12:52,350 --> 00:12:55,460 ja vaikeväärtused kausta see on- 190 00:12:55,460 --> 00:13:01,730 hästi, väärtused iseenesest, see on vaikimisi väärtused üle kõik versioonid operatsioonisüsteemi. 191 00:13:01,730 --> 00:13:06,390 Teiselt poolt, V11 ja V14 vastavad Honeycomb 192 00:13:06,390 --> 00:13:08,780 ja Ice Cream Sandwich, vastavalt. 193 00:13:08,780 --> 00:13:12,800 Jällegi on need viisil, mis-neis kataloogides on erinevad strings 194 00:13:12,800 --> 00:13:17,550 ja stiile, nii et saate kohandada välimust oma app 195 00:13:17,550 --> 00:13:22,660 või potentsiaalselt isegi selle funktsionaalsust, kuigi see oleks arvatavasti hea mõte, 196 00:13:22,660 --> 00:13:25,890 põhineb versiooni operatsioonisüsteemi. 197 00:13:25,890 --> 00:13:28,760 >> Ja ma rääkisin seda kõike siin. 198 00:13:28,760 --> 00:13:35,870 Jällegi drawable, toores, küljendus, väärtused. 199 00:13:35,870 --> 00:13:41,380 Vaikimisi, kui me minema Tere Android või Tere CS50 kohe 200 00:13:41,380 --> 00:13:43,310 ta otsib lihtsalt niimoodi. 201 00:13:43,310 --> 00:13:45,800 Ta ütleb tere. 202 00:13:45,800 --> 00:13:58,430 Nagu näete siin koos Android tekst 203 00:13:58,430 --> 00:14:04,420 tekst selle teksti eesmärgiga, mis on põhimõtteliselt lihtsalt silt, 204 00:14:04,420 --> 00:14:06,900 on see, mida me nimetame seda iOS. 205 00:14:06,900 --> 00:14:11,580 See on see naljakas märke @ string / hello_world. 206 00:14:11,580 --> 00:14:16,200 See on nii saame-me üritada eraldada kõik stringid, 207 00:14:16,200 --> 00:14:19,740 kõik kodeeritud stringe Android arvesse eraldi kausta 208 00:14:19,740 --> 00:14:23,610 mis juhtub olema values.strings. 209 00:14:23,610 --> 00:14:29,300 Kui me vaatame siia, siis näeme, et meil on kodeeritud string salvestatakse siia 210 00:14:29,300 --> 00:14:33,910 kohta Tere maailm, ja seda nimetatakse tere, ja see on omamoodi 211 00:14:33,910 --> 00:14:39,230 ühine disain otsus paljude platvormide, mida soovite- 212 00:14:39,230 --> 00:14:41,780 stringid on omamoodi asju, mida me tahame olla võimalik muuta. 213 00:14:41,780 --> 00:14:48,050 Me ei taha, et kontrollida F meie lähtekoodi fail meie XML. 214 00:14:48,050 --> 00:14:50,760 Me tahame, et oleks võimalik seda muuta, kui me saada võimalus. 215 00:14:50,760 --> 00:14:53,640 >> See XML fail, strings.xml, on viis kaevandavad 216 00:14:53,640 --> 00:14:56,710 kodeeritud stringe, mis muidu oleks meie paigutus ressursside 217 00:14:56,710 --> 00:15:03,530 või meie lähtekoodi. 218 00:15:03,530 --> 00:15:08,190 Ilmselge on see, kui me hoiame seda olulist teavet taotluse. 219 00:15:08,190 --> 00:15:11,050 See sisaldab paketi nimi. See peab olema kordumatu tunnus. 220 00:15:11,050 --> 00:15:16,020 Erinevalt App Store IOS nimetusi 221 00:15:16,020 --> 00:15:19,980 ei pea olema unikaalne ja saate tegelikult nime muuta oma taotluse 222 00:15:19,980 --> 00:15:23,570 kui olete saatnud, nii et kui ma hakata läbi Angry Birds, 223 00:15:23,570 --> 00:15:26,840 ja siis ma teen uuendus, ja ma ei taha, et uue versiooni 224 00:15:26,840 --> 00:15:34,230 Ma arvan, et ma võiks seda nimetada Angry Birds 2 kui ma olen samal vabastamise tsükli. 225 00:15:34,230 --> 00:15:36,780 See oleks lihtsalt näitab kui uuendus. 226 00:15:36,780 --> 00:15:39,790 Ainuke asi, mis peab olema unikaalne on see pakett nimi, 227 00:15:39,790 --> 00:15:41,280 mis ei ole paljud inimesed näevad. 228 00:15:41,280 --> 00:15:44,680 Noh, sa ainult vaata, kui sa olid vaadates lähtekoodi või kui on mingi viga. 229 00:15:44,680 --> 00:15:47,580 Komponendid hõlmavad tegevusi, seega on meil kuulutada 230 00:15:47,580 --> 00:15:49,070 mingisugune tegevus, mida me kasutame. 231 00:15:49,070 --> 00:15:53,430 See on luba sellist asja. 232 00:15:53,460 --> 00:15:58,150 >> Kuna Android ei ole seda range taotlemise protsess 233 00:15:58,150 --> 00:16:02,210 esitamise apps asemel nad lihtsalt kõik põhineb off load 234 00:16:02,210 --> 00:16:04,300 ja kuulutatakse asju näidata. 235 00:16:04,300 --> 00:16:06,380 SDK versioon on samuti tähtis. 236 00:16:06,380 --> 00:16:10,330 Meil on võimalik valida kasutamiseks SDK minimaalne versioon midagi. 237 00:16:10,330 --> 00:16:16,010 Ilmselt soovite luua kood 238 00:16:16,010 --> 00:16:18,570 ja disain uuemad operatsioonisüsteemid. 239 00:16:18,570 --> 00:16:20,840 Võib-olla mitte kõige uuem, võibolla mitte Jelly Bean. 240 00:16:20,840 --> 00:16:23,610 Võib-olla soovite kujundada peamiselt Ice Cream Sandwich, 241 00:16:23,610 --> 00:16:27,120 kuigi nad on päris palju sama poolest disaini otsuseid 242 00:16:27,120 --> 00:16:30,550 ja tegeliku raamatukogud ja API. 243 00:16:30,550 --> 00:16:36,250 Kuid selle asemel on inimesed 244 00:16:36,250 --> 00:16:40,050 algse Android versioon moodi Donut tee tagasi, kui- 245 00:16:40,050 --> 00:16:43,420 kes ikka juhtub, et kasutades seda proovida laadida oma taotlus ja siis öelda, 246 00:16:43,420 --> 00:16:46,160 see ei tööta mu telefon saab määrata minimaalse versioon 247 00:16:46,160 --> 00:16:48,620 ja on see on piparkoogid või Ice Cream Sandwich 248 00:16:48,620 --> 00:16:53,300 või mis iganes see on mugav esitavad. 249 00:16:53,300 --> 00:16:57,170 Ja see on näide Manifest. Me saame vaadata tegelikku üks natuke. 250 00:16:57,170 --> 00:17:00,900 >> Olgu, minge edasi demo nüüd. 251 00:17:00,900 --> 00:17:08,900 See on demo, kui te Google Android ehitada oma esimese app või midagi sellist. 252 00:17:08,900 --> 00:17:12,089 Me läheme läbi kõik, mis seal toimub, 253 00:17:12,089 --> 00:17:17,690 ja kahju, ainult viide, kes siin teab Java mingilgi määral? 254 00:17:17,690 --> 00:17:28,310 Okei, nii et Java on uus kodeerimise keel enamik inimesi, kes tulevad välja CS50. 255 00:17:28,310 --> 00:17:31,850 Lühidalt, et minna jälle, mida ta ütleb siin, 256 00:17:31,850 --> 00:17:35,580 mida me tahame teha, on mitte reguleerida seda tere taotlus 257 00:17:35,580 --> 00:17:38,620 et kõik see on see käivitab ja ta ütleb tere 258 00:17:38,620 --> 00:17:43,580 ja ta ütleb tere CS50 tipus, sest see on tegevuse nimi 259 00:17:43,580 --> 00:17:47,190 me ei kavatse üritada helistada tekstiväli ja nupp 260 00:17:47,190 --> 00:17:50,680 nii et kui me selle nupu võtab teksti 261 00:17:50,680 --> 00:17:53,660 alates tekstiväljale ja käivitada uus tegevus, ja see ütleb, 262 00:17:53,660 --> 00:17:58,380 mis iganes see tekst ütles tegevus ja see on suhteliselt lihtne. 263 00:17:58,380 --> 00:18:00,650 See ei ole väga huvitav. Sa ei taha, et vabastada iga app niimoodi. 264 00:18:00,650 --> 00:18:03,880 Aga see näitab mõned olulisemad asjad. 265 00:18:03,880 --> 00:18:07,030 >> Me peame suhtlema Manifest, kus paigutus faile, 266 00:18:07,030 --> 00:18:12,440 koos lähtekoodi, ja te näete, kuidas käivitada ühe tegevuse teise. 267 00:18:19,740 --> 00:18:23,060 Me alustame paigutuse meie esimene tegevus, 268 00:18:23,060 --> 00:18:27,320 mis ma tean, et see on selline väike, 269 00:18:27,320 --> 00:18:32,660 kuid nagu näete, just nüüd, kõik see on see on meie logo, et oleme loonud, 270 00:18:32,660 --> 00:18:36,310 tegevuse nimi ja ta ütleb tere keskel. 271 00:18:36,310 --> 00:18:40,400 Selle asemel, ma olen esimene kavatse teha seda arvesse lineaarne paigutus, 272 00:18:40,400 --> 00:18:42,350 suhteline paigutus ja need on kõik asjad, 273 00:18:42,350 --> 00:18:45,870 võid otsida ja on väärt läheb üle mingil hetkel nii paigutusega. 274 00:18:45,870 --> 00:18:47,310 See on palju nagu HTML. 275 00:18:47,310 --> 00:18:52,640 Me ütlesime, et see ei ole tõesti tasub teada poolest programmiline mõttes 276 00:18:52,640 --> 00:18:55,840 kuid seal on nii palju erinevaid teemasid saate kontrollida, 277 00:18:55,840 --> 00:18:57,970 ja see on nagu CSS poolest stiile. 278 00:18:57,970 --> 00:19:01,590 >> Seal on päris palju lihtsalt nii esteetika siin 279 00:19:01,590 --> 00:19:08,930 ja jah, see on väärt õppimist, aga see on selline asi, mida peaks otsima üles 280 00:19:08,930 --> 00:19:11,810 lähete ja teil on tunne, nagu teil on vaja midagi uut. 281 00:19:11,810 --> 00:19:17,030 Võin ära mõned ADT tööriistade siin vähemalt alustad. 282 00:19:17,030 --> 00:19:21,930 Ma teen tekstiväljale ja teen nuppu. 283 00:19:21,930 --> 00:19:24,100 Pane need õige üksteise kõrval. 284 00:19:24,100 --> 00:19:28,200 Nad juba suurust vastavalt. 285 00:19:28,200 --> 00:19:31,320 Vabandust, jälle tulevad tagasi vahe lineaarne paigutus ja suhteline paigutus, 286 00:19:31,320 --> 00:19:34,830 lineaarne paigutus annab veidi rohkem funktsioone 287 00:19:34,830 --> 00:19:38,720 poolest täidavad ruumi ning tagades 288 00:19:38,720 --> 00:19:42,790 me positsiooni asjad horisontaalselt või vertikaalselt. 289 00:19:42,790 --> 00:19:46,130 Suur vahe lineaarne paigutus ja suhteline paigutus 290 00:19:46,130 --> 00:19:50,250 on suhteline paigutus positsioonid kõik võrreldes muude arvamuste, 291 00:19:50,250 --> 00:19:52,630 ja hea asi on see, et see võtab vähem aega, et teha 292 00:19:52,630 --> 00:19:56,120 sest operatsioonisüsteemi vaadeldakse kõiki kood ja ütleb, et see läheb 293 00:19:56,120 --> 00:19:58,270 võrreldes seda siin, siin. 294 00:19:58,270 --> 00:20:03,170 See tähendab, et ta teeb vähem mõõtmisi kui terve hunnik nested lineaarse paigutusega 295 00:20:03,170 --> 00:20:06,840 mis ma pean tegema, kui ma tahtsin asjad minna vertikaalselt siin. 296 00:20:06,840 --> 00:20:10,510 >> Mul juba on mõned asjad lähevad horisontaalselt, nii et ma oleks vaja teistsugust lineaarne paigutus 297 00:20:10,510 --> 00:20:14,560 pesa neid vertikaalselt, kuid kui ma seda suhtelist paigutust ma võiks öelda, 298 00:20:14,560 --> 00:20:18,140 hoida seda vasakule, seda parem ja need asjad allpool. 299 00:20:18,140 --> 00:20:21,850 Aga sellepärast, et ma tahan, et nad täita nüüd ma lähen kasutada lineaarse paigutus, 300 00:20:21,850 --> 00:20:24,510 ja te näete seda juba teeb palju neid asju meie eest. 301 00:20:24,510 --> 00:20:28,890 Kõik seisukohad peavad olema vara laius ja kõrgus, 302 00:20:28,890 --> 00:20:33,410 ja see juhtub olema vähemalt 1, ja see kaal on 1 303 00:20:33,410 --> 00:20:36,050 nii et see täidab kogu ruumi. 304 00:20:36,050 --> 00:20:38,460 Aga laius ja kõrgus on kõige olulisem. 305 00:20:38,460 --> 00:20:45,880 See ID väli siin ei ole oluline jooksul tegelik paigutus 306 00:20:45,880 --> 00:20:49,060 kui me kasutame suhteline paigutus ja öeldes saame viidata 307 00:20:49,060 --> 00:20:52,990 üks vaade positsiooni viide teise. 308 00:20:52,990 --> 00:20:56,170 Kui meil oli suhteline paigutus võib öelda seisukoht see alla see 309 00:20:56,170 --> 00:20:59,390 või üle selle ID, kuid see ID on oluline 310 00:20:59,390 --> 00:21:01,660 kui me kasutame seda meie koodi, sest meil võib viidata 311 00:21:01,660 --> 00:21:05,610 individuaalsete vaatamist sel viisil. 312 00:21:05,610 --> 00:21:10,350 >> Ja siis näete tag requestFocus, mis on midagi, mida sa arvatavasti nägid pset 7. 313 00:21:10,350 --> 00:21:15,370 Oli autofookus tag või midagi sarnast ühe valdkondades. 314 00:21:15,370 --> 00:21:22,100 Ja üks asi, muidugi, me saame teha just nagu HTML, 315 00:21:22,100 --> 00:21:25,660 ja teate üks tore asju ADT on see autocompletes siin. 316 00:21:25,660 --> 00:21:29,930 Võib-olla mitte nii kenasti, nagu ta tegi XCode, kuid see siiski 317 00:21:29,930 --> 00:21:32,860 ja me võiksime öelda vihje ja seejärel anda see mingi string 318 00:21:32,860 --> 00:21:37,070 meeldib kirjutada sõnumi 319 00:21:37,070 --> 00:21:41,300 ja kui ma annan see hetk, ka teate, et ma saan natuke viga siin 320 00:21:41,300 --> 00:21:44,610 öeldes, et me peaksime kasutama string ressurssi, 321 00:21:44,610 --> 00:21:48,820 nii et kui ma lase tal teha mõned raske töö minu jaoks 322 00:21:48,820 --> 00:21:57,320 Oskan seda stringi teha refraktor Android ja ekstrakti Android string. 323 00:21:57,320 --> 00:22:00,570 Ma ei anna see, et nimi, kirjutage sõnum, 324 00:22:00,570 --> 00:22:04,180 ja mida ta nüüd on see asendatud et kodeeritud stringi 325 00:22:04,180 --> 00:22:07,980 viitega string string on. xml faili 326 00:22:07,980 --> 00:22:10,200 mis tähendab, nüüd on see siin. 327 00:22:10,200 --> 00:22:15,560 >> Ja ma tean, et tundub veidi triviaalne ja nagu lisatöö selles punktis, 328 00:22:15,560 --> 00:22:17,840 aga kui sul on terve hunnik asju, terve hunnik stringid, 329 00:22:17,840 --> 00:22:20,750 see on tõesti oluline, ja eriti lokaliseerimine 330 00:22:20,750 --> 00:22:26,920 sest nagu ma varem mainisin, Android on väga ülemaailmselt kasutatav operatsioonisüsteem 331 00:22:26,920 --> 00:22:35,950 et saab lihtsalt teha väärtuspõhine en väärtustepõhisele sp 332 00:22:35,950 --> 00:22:44,320 või midagi inglise või hispaania või muud keelt. 333 00:22:44,320 --> 00:22:50,210 Ja siis te ilmselt ei olnud seda kogemust veel 334 00:22:50,210 --> 00:22:53,030 sest me ei teinud palju JavaScript poolest veebi programmeerimine, 335 00:22:53,030 --> 00:22:56,850 kuid saame teha ka selles valdkonnas nimetatakse onClick jaoks nupp, 336 00:22:56,850 --> 00:23:02,350 ja see on viis viitamine jooksul meie paigutus 337 00:23:02,350 --> 00:23:06,570 et me tahame teatud funktsioon, mida nimetatakse meie lähtekoodi. 338 00:23:06,570 --> 00:23:09,420 Ma nimetan seda SendMessage, 339 00:23:09,420 --> 00:23:13,390 ja selleks, et teha seda tööd, mis tähendab, et põhitegevusala siin 340 00:23:13,390 --> 00:23:19,180 Mul on luua funktsioon, mis on avalik 341 00:23:19,180 --> 00:23:22,250 nii et see pääseb paigutuse. 342 00:23:22,250 --> 00:23:25,930 See on tühine, sest sa lihtsalt ei taha seda tagasi midagi. 343 00:23:25,930 --> 00:23:37,760 Me nimetame seda SendMessage, ja see võtab arvates 344 00:23:37,760 --> 00:23:43,690 mis on omamoodi kontekstis, et suudame kinnistada selle meetodi 345 00:23:43,690 --> 00:23:47,160 selle isiku seisukohta, kui meil hakkab ta. 346 00:23:47,160 --> 00:23:50,090 >> Ja ma ei tea, kas olete märganud, noh, te ei märganud, 347 00:23:50,090 --> 00:24:02,370 kuid see punkt siin 348 00:24:02,370 --> 00:24:06,930 see seisukoht on tüüp, mis ei ole veel kantud, 349 00:24:06,930 --> 00:24:10,630 ja muidugi, te kõik teate CS50 kohta ei sisalda liigid. 350 00:24:10,630 --> 00:24:13,120 Tore asi IDE nagu Eclipse on see, et 351 00:24:13,120 --> 00:24:17,520 Kui te unustate hulka tüüp see rõhutama veidi punane väändunud 352 00:24:17,520 --> 00:24:19,680 ja siis annab teile võimaluse importida silmas. 353 00:24:19,680 --> 00:24:23,130 Kiire viis seda teha, mis on kontrolli vahetustega O ja siis importida 354 00:24:23,130 --> 00:24:27,070 Kõik failid, mis ta vajab. 355 00:24:27,070 --> 00:24:33,670 Nüüd, kui meil on see funktsioon SendMessage, 356 00:24:33,670 --> 00:24:46,560 mis läheb saata sõnumi peamine tegevus uue tegevuse 357 00:24:46,560 --> 00:24:55,230 me peame kasutama kavatsus alustada uut tegevust alates selle ühe, 358 00:24:55,230 --> 00:25:02,240 nii me ilmselt tahavad luua ülemaailmne pidev või ka eriti avaliku pidev 359 00:25:02,240 --> 00:25:06,240 mis aitavad meil teada, kuidas me läheme viitamiseks string 360 00:25:06,240 --> 00:25:09,090 sest kui me loome kavatsusega me mitte ainult kutsutakse uus tegevusala, 361 00:25:09,090 --> 00:25:11,520 kuid me saame anda ka see kimp teavet. 362 00:25:11,520 --> 00:25:14,720 Kimp on tegelikult termin, et Android kasutab, 363 00:25:14,720 --> 00:25:21,470 ja see on viis öelda, anna see pildi andmed, mida ta ei saa olla väga keeruline andmetüüp, 364 00:25:21,470 --> 00:25:24,510 kuid me saame kindlasti sisaldama tõeväärtused või stringid või ints. 365 00:25:24,510 --> 00:25:29,750 Et selline asi. 366 00:25:29,750 --> 00:25:34,230 >> Julgelt küsida mõni neist kvalifitseerujad siin 367 00:25:34,230 --> 00:25:36,900 avalik, lõplik, staatiline. 368 00:25:36,900 --> 00:25:38,610 Avalik on oluline. 369 00:25:38,610 --> 00:25:47,090 See tähendab, et suudame selle muutuja teistest lähtekoodi failid 370 00:25:47,090 --> 00:25:49,590 nagu siis, kui me luua uue aktiivsus. 371 00:25:49,590 --> 00:25:52,190 Me võime viidata string jooksul seda faili. 372 00:25:52,190 --> 00:25:57,160 Kui see on privaatne, see tähendab, et see on piiratud selle üksiku faili siin. 373 00:25:57,160 --> 00:26:02,430 Aga me nimetame seda midagi ekstra sõnum. 374 00:26:16,260 --> 00:26:23,300 Nüüd oleme teinud seda funktsiooni, ja kui me nuppu, see funktsioon on kutsutud. 375 00:26:23,300 --> 00:26:27,970 Aga me ei ole teinud midagi, ilmselt koos funktsiooni. 376 00:26:27,970 --> 00:26:33,130 Mida me tahame teha, on nüüd uue tegevuse 377 00:26:33,130 --> 00:26:35,350 tegevus, mis on tegelikult käivitatakse. 378 00:26:35,350 --> 00:26:44,330 Eclipse saame öelda uue Android aktiivsus, tühi tegevus. 379 00:26:44,330 --> 00:26:46,530 Me ei saa anda sellele nime. 380 00:26:46,530 --> 00:26:57,050 Nimetagem seda meie tulemus aktiivsus. 381 00:26:57,050 --> 00:27:04,430 Ja siis see hierarhiline vanem valdkonnas on viis täpsustades 382 00:27:04,430 --> 00:27:08,180 kuidas tegevus on seotud üksteisega. 383 00:27:08,180 --> 00:27:11,020 Sest see on käivitatud teise tegevuse 384 00:27:11,020 --> 00:27:27,520 peaksime täpsustama, et ta on vanem põhitegevus. 385 00:27:27,520 --> 00:27:31,220 >> Ja ma oleks klõpsanud järgmisele väljale seal, mis oleks meile öelnud 386 00:27:31,220 --> 00:27:33,830 mõned vabatahtlikud väljad, et see oli ka kaasa, 387 00:27:33,830 --> 00:27:38,800 kuid kena asi ADT jällegi on see, et kui ma keri siin 388 00:27:38,800 --> 00:27:45,740 aastal Manifest meeles pidada, et see kõik oli tõesti vaikimisi kaasatud 389 00:27:45,740 --> 00:27:48,930 kui me algselt loodud projekti 390 00:27:48,930 --> 00:27:53,090 ja nüüd, sest me kasutasime seda luua uus tegevus, mitte ainult 391 00:27:53,090 --> 00:27:58,610 Lisades oma klassi fail, sest me läksime läbi oma GUI seda teed 392 00:27:58,610 --> 00:28:01,930 see on juba lisatud see kõik Manifest meile 393 00:28:01,930 --> 00:28:06,020 mis tähendab lihtsalt, et nüüd operatsioonisüsteem ei kurda 394 00:28:06,020 --> 00:28:09,400 kui püüame käivitada seda tegevust. 395 00:28:09,400 --> 00:28:14,620 Ja see ka, muidugi, andis see silt, mis näitab ka üles stringe. 396 00:28:14,620 --> 00:28:17,340 Ta teeb palju asju kolp meile. 397 00:28:17,340 --> 00:28:20,140 Igatahes, nüüd, et meil on see tulemus tegevus samuti, 398 00:28:20,140 --> 00:28:23,810 tegelik lähtekoodi faili allikas kausta 399 00:28:23,810 --> 00:28:33,540 ja te näete, et põgusalt selle- 400 00:28:33,540 --> 00:28:37,790 sest me rääkisime ta selle hierarhilise vanem 401 00:28:37,790 --> 00:28:46,640 see andis selles valdkonnas android.r.ide.home selles onOption valitud asi. 402 00:28:46,640 --> 00:28:49,020 >> Mis see on põhimõtteliselt öelda, on seal menüü nupp nüüd 403 00:28:49,020 --> 00:28:53,110 et ülemises vasakus nurgas 404 00:28:53,110 --> 00:29:02,220 kui ma lähen tagasi PowerPoint, kus me esimest korda rääkisime toimingureale 405 00:29:02,220 --> 00:29:05,380 sest hierarhiline vanem nüüd on vähe nool tagasi siia 406 00:29:05,380 --> 00:29:10,610 ja see on klikitav, et me peaks suutma-pärast me tegelikult kasutada seda app- 407 00:29:10,610 --> 00:29:15,360 tagasi minna, ja see on viis säästa meid natuke kood seal. 408 00:29:26,220 --> 00:29:40,180 Nüüd jooksul see-hästi, see tundub olevat kurtnud, et hetkeks. 409 00:29:40,180 --> 00:29:43,910 Olgem kommenteerida selle välja. 410 00:29:43,910 --> 00:29:48,260 Nüüd, et tegelikult kasutavad neid 2 tegevus, 411 00:29:48,260 --> 00:29:55,020 me peame looma eesmärki, mis sisaldab kõiki neid andmeid. 412 00:29:55,020 --> 00:29:58,950 In SendMessage nüüd ma lähen püsikiiruse läbi mõned bitti kood 413 00:29:58,950 --> 00:30:00,700 ja selgitada, et kui ma lähen. 414 00:30:00,700 --> 00:30:06,280 Kavatsus, nagu ma ütlesin, on nii, et käivitada ühe tegevuse teise. 415 00:30:06,280 --> 00:30:10,000 Tahtlus on tüüp. Loome muutuja myIntent. 416 00:30:10,000 --> 00:30:13,980 >> Ja see on tegelikult objekt, mis on põhjus, miks meil on kutsuda uus. 417 00:30:13,980 --> 00:30:18,500 On tavaline, et Java kasutamine seal, mis võib võtta natuke harjuda. 418 00:30:18,500 --> 00:30:23,900 See tähendab, et me kasutades tegevus või klass peamine tegevus, 419 00:30:23,900 --> 00:30:28,630 ja tahtlikult niimoodi kulub tegevus see läheb alates 420 00:30:28,630 --> 00:30:36,060 ja tegevus, et see saab, mida me nimetame ResultActivity, 421 00:30:36,060 --> 00:30:38,170 ja mis on oma klassis. 422 00:30:38,170 --> 00:30:41,720 Kaasa et. 423 00:30:41,720 --> 00:30:47,370 Ja siis, kui ma mainisin, me andsime selle ID edit tekstiväli 424 00:30:47,370 --> 00:30:53,710 ja teksti arvates nii, et programmiliselt lüüa 425 00:30:53,710 --> 00:31:01,860 tekst, mis on olemas editText 426 00:31:01,860 --> 00:31:06,710 me kasutame seda funktsiooni nimetatakse findViewByID, 427 00:31:06,710 --> 00:31:13,660 mis on sarnane midagi, et saad kasutada, kui üritavad väljad DOM. 428 00:31:13,660 --> 00:31:17,560 Ehk David räägib see loeng. 429 00:31:17,560 --> 00:31:26,600 Aga see on lihtsalt viis, kuidas need, sellepärast me sildistada need asjad neis valdkondades. 430 00:31:26,600 --> 00:31:31,110 Id.editText1. 431 00:31:31,110 --> 00:31:35,220 See on juba autocompleting mind seal. 432 00:31:35,220 --> 00:31:42,010 >> Ja siis ka-see editText nüüd, et meil on vallas 433 00:31:42,010 --> 00:31:47,640 jooksul oma programmi, kõik, mis findViewByID ei olnud põhimõtteliselt 434 00:31:47,640 --> 00:31:50,870 sa võiksid mõelda seda meile anda viide, et editText. 435 00:31:50,870 --> 00:31:54,570 Nüüd tahame saada string või teade 436 00:31:54,570 --> 00:32:00,670 jooksul, et editText mis me saame teha, kasutades- 437 00:32:00,670 --> 00:32:03,360 sa võiks mõelda editText nagu struct- 438 00:32:03,360 --> 00:32:07,600 me nimetame seda objekti Java-terve hunnik erinevaid meetodeid 439 00:32:07,600 --> 00:32:10,650 või valdkondades ja atribuudid lisada. 440 00:32:10,650 --> 00:32:15,510 Kui ma ütlen, editText. see annab mulle võimaluse tutvuda 441 00:32:15,510 --> 00:32:19,770 meetod nagu gettexti, mis saab praeguses tekstis 442 00:32:19,770 --> 00:32:23,990 selles editText ja seejärel teisendada see selgesõnaliselt 443 00:32:23,990 --> 00:32:26,520 string, ja me oleme päästetud sõnum. 444 00:32:26,520 --> 00:32:32,730 Nüüd me tahame midagi teha, et tahtlus me loodud just hetked tagasi. 445 00:32:32,730 --> 00:32:40,250 Ma panen pildi nagu seda nimetatakse ka tahtlikult, 446 00:32:40,250 --> 00:32:43,330 mis jällegi nagu ma enne ütlesin, see on viis, kuidas luua kimbu 447 00:32:43,330 --> 00:32:45,980 koos terve hunnik andmeid. 448 00:32:45,980 --> 00:32:50,920 Extra sõnum on meie tag nii et me teame, mida me salvestamisel all, 449 00:32:50,920 --> 00:32:56,700 ja siis ma olen ka sõnum. 450 00:32:56,700 --> 00:33:04,870 >> Ja siis me saame tegelikult alustama tegevust, andes parameetri myIntent. 451 00:33:04,870 --> 00:33:10,630 Ja see tegelikult käivitada tegevus, nii et nüüd, sest ma uuendatakse Windows 8 452 00:33:10,630 --> 00:33:15,870 seal võivad olla mõned vead, mis näitab lühidalt, kuid püüdke neid ignoreerida. 453 00:33:28,010 --> 00:33:30,310 Ja see on Android emulaator. 454 00:33:30,310 --> 00:33:33,540 Loodetavasti kood tegelikult avanes kohe. 455 00:33:33,540 --> 00:33:36,680 Jällegi, unustades kõik need väikesed asjad. 456 00:33:36,680 --> 00:33:42,290 Aga Android emulaator saate jäljendada tahes versiooni operatsioonisüsteemi 457 00:33:42,290 --> 00:33:45,180 alates varaseimast ones, Donut, piparkoogid. 458 00:33:45,180 --> 00:33:49,640 See on Jelly Bean 4.1. 459 00:33:49,640 --> 00:33:53,150 Aga nagu näete kohe, et see on midagi, mida me teha. 460 00:33:53,150 --> 00:33:55,780 See on peamine tegevus, editText, nuppu. 461 00:33:55,780 --> 00:34:01,550 Ma ei kirjuta siia midagi, aga mida me puuduvad selles küsimuses? 462 00:34:01,550 --> 00:34:05,190 Tegime selle valdkonna peamine tegevus, mis toimub, et saata sõnum 463 00:34:05,190 --> 00:34:08,570 et muu tegevus, kuid siinkohal 464 00:34:08,570 --> 00:34:12,330 me ei ole teinud midagi muud tegevust, nii et ta ei kavatse saada midagi. 465 00:34:12,330 --> 00:34:18,800 Lőpetame et osa enne kui me edasi liikuda. 466 00:34:18,800 --> 00:34:25,760 >> See tulemus tegevus, mida me peame tegema, on me peame tegema, on me peame- 467 00:34:25,760 --> 00:34:30,070 saame ka viide kavatsuste jooksul see tegevus, 468 00:34:30,070 --> 00:34:33,580 nii et meil on lüüa tahtlus, mis on tõesti lihtne. 469 00:34:33,580 --> 00:34:40,780 See funktsioon sisaldub aktiivsus klassi 470 00:34:40,780 --> 00:34:47,610 nii et me saame öelda "Get sõnumi kavatsus." 471 00:34:47,610 --> 00:34:56,260 "Tahtlus myIntent = getIntent." 472 00:34:56,260 --> 00:35:00,030 Ja see annab meile-nüüd myIntent on objekt, 473 00:35:00,030 --> 00:35:05,380 mis on viide tahtlus, mis viis meid seda tegevust. 474 00:35:05,380 --> 00:35:10,130 Peamine tegevus nõuab ja annab täiendavat teavet kaasa aktiivsus. 475 00:35:10,130 --> 00:35:14,070 Tulemus aktiivsus nüüd vaadeldakse kavatsusega, et miks ta siin, 476 00:35:14,070 --> 00:35:23,540 ja me ei pääse sõnum, mida me loodud teine, 477 00:35:23,540 --> 00:35:26,370 getStringExtra, ja see automaatteksti minu jaoks. 478 00:35:26,370 --> 00:35:31,190 Ja siis mäletan, kuidas me kodeeritud, et natuke andmeid 479 00:35:31,190 --> 00:35:38,400 oli, andes talle selles valdkonnas siin, see avalik string, 480 00:35:38,400 --> 00:35:42,080 mis on silt string me tegelikult ka. 481 00:35:42,080 --> 00:35:48,450 >> Kui ma ütlen MainActivity.Extra_Message 482 00:35:48,450 --> 00:35:52,200 See on seal, ja see on omamoodi nagu parameetri nimi 483 00:35:52,200 --> 00:35:55,330 kui me möödunud kood töötleja malli 484 00:35:55,330 --> 00:35:57,680 kui me ütleks, et pealkiri nool midagi. 485 00:35:57,680 --> 00:36:01,140 See on sama mõte, seal. 486 00:36:01,140 --> 00:36:07,130 Nüüd, mäletan seda. 487 00:36:07,130 --> 00:36:12,230 Samuti oli see auto loodud või auto loodud kood 488 00:36:12,230 --> 00:36:16,410 tulemuse jaoks tegevus, mis sisaldab teksti vaade keskel 489 00:36:16,410 --> 00:36:19,690 mis ütleb tere. 490 00:36:19,690 --> 00:36:27,510 Me võiks teha, et suurem. 491 00:36:27,510 --> 00:36:33,980 Teeme seda esimest. 492 00:36:33,980 --> 00:36:39,550 Me võiksime teha 40 tihedus sõltumatu pikslit. 493 00:36:39,550 --> 00:36:42,670 Vaatame, mis on super suur. See on okei. 494 00:36:42,670 --> 00:36:48,180 Ja siis, et võrrelda seda üksikute tekst vaate meie kood 495 00:36:48,180 --> 00:36:53,890 me peame andma see ID, 496 00:36:53,890 --> 00:36:58,350 ja selleks, et teha, mida me ütleme @ + id, mis tähendab, et me määrata see ID. 497 00:36:58,350 --> 00:37:02,480 Kui me just ütles @ id oleks eeldada, et me viitamine ID, mis on juba olemas, 498 00:37:02,480 --> 00:37:07,760 ja olgem nimetame seda meie resultTextView. 499 00:37:07,760 --> 00:37:10,570 Ja teate, et XML ei ole vaja semikooloniga või midagi. 500 00:37:10,570 --> 00:37:12,380 Kõik on sees need sildid. 501 00:37:12,380 --> 00:37:15,530 See on väga sarnane HTML palju meeli. 502 00:37:15,530 --> 00:37:22,760 >> See võtab natuke harjumist, kuid lõpuks tunnete end päris mugavalt seda. 503 00:37:22,760 --> 00:37:31,320 Olgem teksti ajakohastada meie tulemus tekst meelest 504 00:37:31,320 --> 00:37:35,650 ja kui me tegime, kui me ei saada, et muuta tekstivälja meie muu tegevus 505 00:37:35,650 --> 00:37:46,630 aastal peamine tegevus siin me ka samamoodi- 506 00:37:46,630 --> 00:37:54,890 leiame vaadet ID. 507 00:37:54,890 --> 00:37:59,640 Ja R, juhul ma ei maininud seda varem, on viide meie ressursside kausta 508 00:37:59,640 --> 00:38:05,350 ja siis ID on viide kõike ressursside kausta kõik sümbolid, 509 00:38:05,350 --> 00:38:10,060 ja resultTextView. 510 00:38:10,060 --> 00:38:13,010 Ja nagu enne, resultTextView on objekt, 511 00:38:13,010 --> 00:38:15,780 mis tähendab, et ta on kõik need omadused, mis on seotud sellega. 512 00:38:15,780 --> 00:38:20,610 Kui me kasutame gettexti eest edit tekst selle teksti välja või teksti vaade 513 00:38:20,610 --> 00:38:23,980 saame tegelikult kasutada setText, 514 00:38:23,980 --> 00:38:26,960 ja siis me juba leitud sõnum tahtlus, 515 00:38:26,960 --> 00:38:35,760 nii et ma ei saa öelda, sõnum, ja see on tegelikult määratud sõnum. 516 00:38:35,760 --> 00:38:41,820 >> See hetk käivitada, ja siis saame näha, kas see kokku jookseb, 517 00:38:41,820 --> 00:38:48,670 vaid küsimusi, mis protsess seal, et selline koostoime? 518 00:38:48,670 --> 00:38:51,490 Paljuski on see arusaadav. 519 00:38:51,490 --> 00:38:53,960 Põhjus, miks ma elan midagi läbi suhteliselt lihtne 520 00:38:53,960 --> 00:38:57,330 on jälle, sest sa saad näha vastastikmõju paigutus, 521 00:38:57,330 --> 00:38:59,520 lähtekoodi, kuidas te viite asja 522 00:38:59,520 --> 00:39:07,680 ja võib-olla natuke kokkupuudet kuidas Java töötab seal. 523 00:39:07,680 --> 00:39:16,500 Kui ma tegelikult kirjutada midagi siin, nagu Ohai ja siis ma vajutan nuppu, 524 00:39:16,500 --> 00:39:22,260 see käivitab uue tegevuse ning teksti silmas ütleb Ohai. 525 00:39:22,260 --> 00:39:27,640 See on väga lihtne, kuid loodetavasti pärast, et näiteks 526 00:39:27,640 --> 00:39:32,310 sa omamoodi aru, kuidas see seos toimib, ja nüüd, et jama failid 527 00:39:32,310 --> 00:39:36,870 vasakul küljel, et kõik need projekti kaustad, loodetavasti sa tead, kust otsida praegu. 528 00:39:36,870 --> 00:39:38,700 See on oma lähtekoodi ala. 529 00:39:38,700 --> 00:39:41,760 >> Layout on tõesti ainus asi, mida sa tegelema enne, kui lisada pilte 530 00:39:41,760 --> 00:39:46,370 ja drawables või mis iganes, ja väärtused, mis sisaldavad stringe, 531 00:39:46,370 --> 00:39:51,960 kui me rääkisime, ja siis stiilid on midagi, mis on omamoodi nagu CSS. 532 00:39:51,960 --> 00:39:56,410 Lahendamiseks, kui soovite, kuid seni, kuni te tunnete end mugavalt lisades täiendavat elegantsi 533 00:39:56,410 --> 00:40:02,520 teie taotlusele ei ole vaja muretseda liiga palju. 534 00:40:02,520 --> 00:40:07,410 Just pakkima üks teine ​​asi, mida kindlasti tahan lisada- 535 00:40:07,410 --> 00:40:13,010 eeldades soovite integreerida jahe funktsioone ja säästa ennast mõned ekstra kodeerimise- 536 00:40:13,010 --> 00:40:16,460 oleks lisada 3. osapoole teeke. 537 00:40:16,460 --> 00:40:19,840 Siin on väike Android kutt Sherlock Holmes müts. 538 00:40:19,840 --> 00:40:23,040 See on tegevus baar Sherlock raamatukogu 539 00:40:23,040 --> 00:40:25,390 mis põhimõtteliselt tähendab, et tegevus baar nägid varem 540 00:40:25,390 --> 00:40:29,590 mis on nüüd standard Ice Cream Sandwich ja Jelly Bean, 541 00:40:29,590 --> 00:40:33,100 kui soovite tuua, et mingisugune kasutaja kogemus kasutajatele vanemad versioonid 542 00:40:33,100 --> 00:40:39,290 ning säästa end muretsema, kuidas kasutaja saab liikuda 543 00:40:39,290 --> 00:40:42,490 vanemad versioonid kui et asi ei ole seal saate lisada selle raamatukogu 544 00:40:42,490 --> 00:40:46,770 ja siis sa lihtsalt pead viide-mitte vaikimisi Android 545 00:40:46,770 --> 00:40:50,250 raamatukogud toimingureale te viite selle toetuse raamatukogu. 546 00:40:50,250 --> 00:40:53,090 >> Asjad Scoreloop, see on tore, kui sa lähed lisada mängu. 547 00:40:53,090 --> 00:40:57,280 See võimaldab teil lisada liider lauad ja saavutusi mängud. 548 00:40:57,280 --> 00:41:00,900 AdMobi on võimalus panna reklaame oma rakenduste 549 00:41:00,900 --> 00:41:02,900 kui sa tahad teha natuke raha välja sellest. 550 00:41:02,900 --> 00:41:05,730 Muidugi, seal on Facebook ja Twitter, et integreerida seal 551 00:41:05,730 --> 00:41:08,170 kui sa tahad jagada asjad lihtsalt, jne. 552 00:41:08,170 --> 00:41:15,120 Dropbox, samuti, ja Google Analytics on see, et skeem otsin kedagi. 553 00:41:15,120 --> 00:41:19,070 See on väga oluline, kui sa tegelikult tahad näha, kes suhtlevad 554 00:41:19,070 --> 00:41:25,800 teie app või kes see on, kuidas nad suhelda, ja nii edasi. 555 00:41:25,800 --> 00:41:30,650 Google, vaikimisi ütleb teile palju statistikat selle kohta, kes on paigaldatud oma app 556 00:41:30,650 --> 00:41:35,020 ja mida telefonid neil, millist operatsioonisüsteemi versioonid nad on. 557 00:41:35,020 --> 00:41:38,080 Aga kui sa tahad näha, kes kasutab seda iga päev ja kuidas nad kasutavad seda 558 00:41:38,080 --> 00:41:42,860 siis tahad, et lisada mingisugune jälgimise süsteem niimoodi. 559 00:41:42,860 --> 00:41:44,990 >> Kui sa oled valmis, et levitada oma app 560 00:41:44,990 --> 00:41:46,930 Ma ei pea minema, et liiga palju sügavust. 561 00:41:46,930 --> 00:41:49,090 Kliki linki siin, Google Play. 562 00:41:49,090 --> 00:41:51,080 Seda, Android turg. 563 00:41:51,080 --> 00:41:53,470 Nad kaubamärgi alla kõik Google Play, 564 00:41:53,470 --> 00:41:55,230 nii et nüüd te esitate selle. 565 00:41:55,230 --> 00:41:57,140 See on väga lihtne. 566 00:41:57,140 --> 00:42:01,070 Sa pead lisada kirjeldus, mõned pildid. 567 00:42:01,070 --> 00:42:05,660 Nagu ma ütlesin, ei ole kinnitamise protsessi nagu iOS. 568 00:42:05,660 --> 00:42:07,270 Ja kuhu minna siit? 569 00:42:07,270 --> 00:42:09,450 Ma näitasin teile tõesti lihtne näide. 570 00:42:09,450 --> 00:42:13,270 Loodetavasti, kui see tundub kohutavalt lihtne 571 00:42:13,270 --> 00:42:15,740 siis see on ilmselt hea märk. 572 00:42:15,740 --> 00:42:20,080 Kui te üldse tunda natuke segaduses või kindel täpselt, mida ma kirjutades 573 00:42:20,080 --> 00:42:26,160 see on ka hea, kuid siit minema Google juhendid. 574 00:42:26,160 --> 00:42:28,330 See on hea koht alustamiseks. 575 00:42:28,330 --> 00:42:31,460 Ta selgitab teile, mida nad loodavad nii taotluse disain, 576 00:42:31,460 --> 00:42:33,380 kuidas kasutajad tavaliselt suhelda ta. 577 00:42:33,380 --> 00:42:36,450 See on palju rohkem vabas vormis kui iOS, ma ütleksin, 578 00:42:36,450 --> 00:42:41,330 mis tundub nagu laud vaated-Ma ei tea, see on nende leib ja või. 579 00:42:41,330 --> 00:42:44,690 Kõik on Lauas libistades üles ja alla. 580 00:42:44,690 --> 00:42:48,160 Android nad kindlasti julgustada inimesi vaadata nii 581 00:42:48,160 --> 00:42:51,720 terve hunnik erinevaid vaatenurki. 582 00:42:51,720 --> 00:42:56,000 >> Kui lisada Tarkvaraarenduskomplekt selles ADT 583 00:42:56,000 --> 00:43:03,010 vaikimisi sul terve hunnik proovi projekte Android. 584 00:43:03,010 --> 00:43:05,470 Siinsamas, Android, Android Proovi Project. 585 00:43:05,470 --> 00:43:11,870 Kui ma vajutan et siis ma saan valida versioon, mille proovi projekte taotleda. 586 00:43:11,870 --> 00:43:13,300 Seal on terve hunnik erinevaid asju siin. 587 00:43:13,300 --> 00:43:16,690 See hakkab liikuma tegevus baar ühilduvuse 588 00:43:16,690 --> 00:43:24,610 kiirendusmõõtur mängida, varundada ja taastada, Bluetooth, žest ehitaja. 589 00:43:24,610 --> 00:43:28,930 JetBoy on proov mäng nad teile, kui on LunarLander. 590 00:43:28,930 --> 00:43:31,250 Seal on terve hunnik näidisrakendusi siin 591 00:43:31,250 --> 00:43:35,290 ja nad kõik on suunatud eri aspekte Android API, 592 00:43:35,290 --> 00:43:41,520 ja mõte on selles, et kui te teete oma taotluse 593 00:43:41,520 --> 00:43:44,110 sa ei pea õppima kõike Android teha Android app. 594 00:43:44,110 --> 00:43:47,300 Teil on vaja ainult õppida neid osi, mis sa tegelikult ei kavatse kasutada. 595 00:43:47,300 --> 00:43:49,340 Vaata neid valimi raamatukogudes. 596 00:43:49,340 --> 00:43:51,510 Julgelt kopeeri ja kleebi kood ja uuesti seda. 597 00:43:51,510 --> 00:43:53,850 See on suur asi, mida pilk keerulisem kood 598 00:43:53,850 --> 00:43:57,060 ning püüda mõista seda, mis on muidugi, miks CS50 599 00:43:57,060 --> 00:44:01,510 me sageli annab teile suure hulga lähtekoodi. 600 00:44:01,510 --> 00:44:04,620 Vaata mõned neist, kui te ei kavatse kasutada sarnaste raamatukogud 601 00:44:04,620 --> 00:44:08,630 ja seejärel rakendada seda oma koodi. 602 00:44:08,630 --> 00:44:10,430 Ja muidugi, seal on õpetused. 603 00:44:10,430 --> 00:44:12,690 Otsi tutorials. 604 00:44:12,690 --> 00:44:17,020 Ma leidsin palju head internetis, mis võib tuua teile kiirendamiseks 605 00:44:17,020 --> 00:44:20,080 mida killud tõesti on ja kuidas neid kasutada. 606 00:44:20,080 --> 00:44:22,240 >> Mõned neist disain asju, nagu killud, 607 00:44:22,240 --> 00:44:26,840 sa tõesti ei pea olema mures, kui sa üritad 608 00:44:26,840 --> 00:44:30,560 päris suur ulatusega projekti. 609 00:44:30,560 --> 00:44:32,510 Need on asjad, et Google püüab järk sisse 610 00:44:32,510 --> 00:44:35,570 Stackoverflow on muidugi sinu sõber. 611 00:44:35,570 --> 00:44:37,930 Loodetavasti ma müüsin sulle natuke Android, 612 00:44:37,930 --> 00:44:41,640 mõistes on see palju lihtsam läheneda nii lihtsalt kodeerimine keeles. 613 00:44:41,640 --> 00:44:45,970 Java on ma ütleks palju lihtsam aru saada kui Objective-C. 614 00:44:45,970 --> 00:44:50,780 Android kasvab ma arvan palju rohkem kui iOS. 615 00:44:50,780 --> 00:44:54,890 Ma mõtlen, et andmed on seal liiga kõrvale, mida ma arvan. 616 00:44:54,890 --> 00:44:56,920 See saab olema umbes mõnda aega, 617 00:44:56,920 --> 00:45:00,880 ja nad on paar aastat taga poolest disain tsüklit, 618 00:45:00,880 --> 00:45:04,690 nii et see on omamoodi mõistetav, et nad veel töötavad läbi mõned neist 619 00:45:04,690 --> 00:45:09,080 järjepidevuse küsimusi, nagu selle meetme baar on uus asi neile ikka, 620 00:45:09,080 --> 00:45:16,010 omamoodi luua sarnane kasutaja kogemus kõigi oma apps. 621 00:45:16,010 --> 00:45:20,650 Loodetavasti saab minna edasi nüüd ja avada Eclipse 622 00:45:20,650 --> 00:45:22,870 ja teha oma Android apps. 623 00:45:22,870 --> 00:45:30,240 >> Kas kellelgi on mingeid küsimusi, enne kui me pakkima midagi? 624 00:45:30,240 --> 00:45:34,410 Võin teile öelda, et vastus on 42. 625 00:45:34,410 --> 00:45:41,990 Noh, õnnelik kodeerimine kõigile ja õnne. 626 00:45:41,990 --> 00:45:44,990 [CS50.TV]