[Powered by Google Translate] [Seminar] [Android Apps (İndi Jelly Fasulye ilə!)] [Jordan Jozwiak] [Harvard Universiteti] [Bu CS50 edir.] [CS50.TV] Salam hər kəsə, və Android Apps (İndi Jelly lobya ilə!) Seminar xoş gəlmisiniz. Çünki, əlbəttə, Jelly Fasulye İndi deyirlər OS en son versiyasını Jelly Bean adlanır. Mən keçən il Android danışdı və bu əsasən eyni seminar nə zaman Mən Gingerbread üçün dizayn nümunələri və üslub seçim təqdim edilib Ice Cream Sandwich zamanı həyata gəlmiş olsa belə, və bu bir az irəli gedərək haqqında danışmaq lazımdır şeydir. Android, əlbəttə, parçalanma bəzi məsələlər var belə ki, son Google əməliyyat sistemi usually edir həqiqətən təəssüf ki, potensial qədər bir il üçün istifadəçilər arasında ortaq olmaq niyyətində deyil. Amma ki, nəzərə almadan, biz səbəbləri niyə çox haqqında danışmaq lazımdır Android iOS daha yaxşıdır. OK, biz, Android qarşı iOS haqqında danışmaq lazımdır yalnız bir slayd qurmaq almaq lazımdır necə some dizayn paradiqmaları, və bu və keçən il arasında böyük fərq Mən sadəcə istəyirəm ilə çalışan bəzi konseptual şeylər vasitəsilə zoom sonra əməliyyat sistemi və həqiqətən əsas nümunə daxil. Əslində, Google ilk app tikinti üçün təsvir ki, yalnız, məsələn, və biz birlikdə onun vasitəsilə getmək və yalnız təsvir bilərsiniz. Mən sizə çox yalnız C kodlu bilirik, belə ki, Java artıq olacaq fərqli bir perspektiv, və sizin ayaq almaq lazımdır Bu yolla yaş və ümid edirəm ki, bu bir az daha rahat hiss edirəm. A sürətli xülasə, Android qarşı iOS. Android $ 25 bu bir zaman geliştirici haqqı var bu il 100 $ şey yoxdur. Deməkdir heç bir məhdudiyyət var ki, mən bir app təqdim etmək istəyirsinizsə, Mən yalnız təqdim və iOS üçün var kimi heç bir təsdiq prosesi var. Siz Eclipse istifadə edərək, Java inkişaf almaq olan cross platform, belə ki, bir Mac əgər, fərqi yoxdur Windows, Linux və ya bir maşın. Əlbəttə, iOS ilə, bir Mac Xcode istifadə etmək və Android, daha çox insan tərəfindən istifadə olunur Siz app some görünürlüğünü növ və ya bəlkə də etmək istəyirəm əgər reklam bir az para siz yəqin ki, Android istifadə etmək daha çox istəyirik. Və həmişə Android haqqında məlum oldu ki, bir şey iOS çox onların yollarını təsbit isə, özelleştirme və ekstremal məbləği onlar təmin edə bilər ki, təhlükəsizlik və hər kiçik aspekt nəzarət onların OS və ən fərdi apps çərçivəsində dizayn. Android çox azad formasıdır və daha çox imkanları var. Okay, bəzi dizayn paradiqmaları. Yalnız iOS kimi burada bildirək tablet və iPhone'lar və iPod Dokunuşlar var sizə dəstək istəyirsinizsə, onlar bir çox cihazlar kimi, demək, dəstək var tarixi şeyi həmçinin. Android ilə cihazlar yüzlərlə dəstək var belə Google həyata çalışır ki, bəzi şeylər var istifadəçi bir az daha ardıcıl təcrübə etmək üçün, lakin biz də bu parçalanma məsələlər var o deməkdir ki, nə haqqında danışmaq lazımdır Siz daim dəstək xəbərdar olmalıdır. Parçalanma, bir çox müxtəlif əməliyyat sistemi var o deməkdir ki, eyni zamanda bütün Android çalışan müxtəlif hardware ilə çox fərqli telefonlar, bu graph burada təxminən 6 ay geri gedir. Bəli, 6 ay, və necə qaranlıq band bilərsiniz altındakı yay üzərində çıxdı Jelly Bean, ki, və sağ indi yəqin ki, telefon 2% var bilərsiniz. Ice Cream Sandwich, bir il əvvəl çıxdı və telefonların dörddə var. Il əvvəl OS version istifadə edən telefonlar bir çox var. Google user experience vermək etməyə çalışdım ki, bir şey apps arasında daha tutarlı bir çox PETEK ilə başlayır Tablet versiyası olan, sonra Ice Cream sandviç ve Jelly Bean, Onlar, həqiqətən, bu fəaliyyət bar istifadə vurğulamaq çalışdığınız ki, burada üst edə bilərsiniz nə olduğunu Bu kiçik Ayarlar 'düyməsinə, o cümlədən burada hər şey. Bu dizayn seçimi var. İndi 3 nöqtələr görmək zaman, bu basın deməkdir və parametrləri bir növ olan açılan menyu, olacaq. Mən bu düyməsinə tıklayan, çünki bu, yalnız qədər göstərir. Bu bir az daha ardıcıl apps etmək üçün istifadə çalışdığınız bir şeydir olan board arasında və belə istifadəçi vahid təcrübə daha yaxşı mənada var. Evdə seyr etdiyiniz əgər OK, belə halda siz artıq bunu və ya deyil sonra sizə kodlaşdırma mühit qurmaq üçün bu adımları edin. Burada saytında gedən iştirak edəcək. Siz Android SDK yükledikten Google bilər and bəzi şərhləri edin. Onlar hər şeyi demək. Onlar, siz SDK, download Eclipse Classic versiyasını bərpa var olsa belə, əlbəttə, biz Java kodlaşdırma edirik. Onlar bu EEST, Android Development Tools, bu gəlir və sizə imkan verir Eclipse daxil yüklemek ki, plugin edir Eclipse Android ilə daha rasional təcrübəsi var. Bu, bəzi qrafik istifadəçi interfeys verəcək fikir dizayn və üçün daha çox dəstək verəcək və qabiliyyəti emulator and şey bütün növ ilə başlamaq üçün. Application çərçivəsində. Mən, Android çərçivəsində layihələr qurulmuş necə haqqında danışmaq istəyirəm , sonra sürətli bir nümunə daxil və ümid olacaq Əgər hər hansı bir anda sual və onun sonuna rahat hiss edə bilərsiniz. Biz ilk some jargon var. Bir fəaliyyəti Siz app başlattığınızda görürsünüz ekran kimi. Bütün təcrübəsi, fəaliyyəti özü belə ki, bir ekran və ya bir görünüşü kimi düşünün bilər əslində onun kodunu tərəfi var. Biz hələ də bir görünüşü faktiki interface hissəsi adlandırırlar. Bu pset 7 biz nəzarətçi və sonra görünüşü necə kimi növ var. Fəaliyyəti, az-çox nəzarətçi edir və görünüşü biz XML baxımından işle edir ki, fəaliyyəti ilə bağlıdır. Fraqmentləri Ice Cream Sandwich irəli gedir həyata ki, bir şey var. Bu, sadəcə baxımından hissələri alaraq bir fikir və ya fəaliyyətinin və ayrı-ayrı sahələrdə onları ayırıcı biz bilər ki, Bu çox müxtəlif cihazlar üçün kodu daha lazımlı etmək biz də dəstək var, və yalnız çalışır yolu ki, daha code həyata amildir. Xidmətlər potensial musiqi və ya naviqasiya oynayan kimi background şey. Məzmun təminatçıları, bu əməliyyat sistemi çərçivəsində API var ki, belə əlaqə məlumatı kimi paylaşılan veri daxil olmaq üçün imkan verir və sonra bir qəsd biz başlamaq üçün istədiyiniz zaman istifadə edə bilərsiniz bir şeydir bizim cari fəaliyyəti yeni bir fəaliyyət. Salam Android, biz haqqında danışmaq lazımdır ki, bir layihə olacaq. Mən, həqiqətən, sizin üçün bunu edəcəyik, sonra biz düyməsini basın yerləşir biz bir şey edə bilərsiniz bəzi mətn və yeni fəaliyyət başlamaq ilə. Çox sadə, lakin mən keçmək istəyirəm nə belə bir layihə olacaq. Yeni layihə etmək zaman Eclipse görürsünüz Salam Android adlanan bu layihə var. Sonra burada qovluq bütün dəstə var. Həqiqətən narahat edirik olanları, mənbə qovluq var olan resurs qovluq res və müəyyən dərəcədə kitabxanalar üçün libs qovluq üçün. Və yalnız belə ki, eyni səhifə etdiyiniz Əgər bir yeni layihə yaratmaq idi əgər Mən bunu HelloAndroid zəng etmək istəyirəm əgər siz, burada bu hüquq edə bilərsiniz və o, avtomatik olaraq bizim üçün məlumat bütün dəstə edir. Paket adı benzersiz bir tanıdan olması ehtimal edilir Bir əgər normal, veb ilə bağlı olacaq. Məsələn, mən bu net.cs50.helloandroid zəng edəcək. Mən artıq bir dəfə bu layihə etdik. Okay, sorry. Edək ki, HelloCS50 çağırırıq. Və sonra biz etmək istəyirsiniz icon hansı kimi şeylər soruşarlar. Bu, çünki Android Developer Tools interfeys bütün biz Eclipse əlavə ki, plugin, biz kimi şeylər seçə bilərsiniz nə icon biz istəyirik və biz istəyirsinizsə ki, dərinliyi daxil olardı. Amma sonunda, yalnız, layihə etmək və hər şey burada qədər göstərir. Mən digər ekranda göstərdi ki, , biz mənbəyi qovluq var və mən bütün bu tezliklə nə deməkdir haqqında danışmaq lazımdır lakin siz dərhal bu HelloCS50 ekran bizə edir ki, görürük. Mətn və mətn sahəsində layouts əlavə etmək üçün burada bəzi düymələri var. Bu Xcode kimi növ var, lakin təəssüf ki, kifayət qədər rasional kimi. Amma klipləri bunu xüsusilə sizin dost və EEST olacaq. Okay, mənbə qovluq burada Java faylları təşkil və bu, həqiqətən, proqram başlanğıcından olur. Bu, əsasən nəzarətçiləri kimi. Biz ekran layouts saxlamaq lazımdır resurs qovluq və ya res edir şəkillər, səs, mətn, animasiya və başqa hər şey, libs, açıq-aydın, kitabxana. Və Manifest, bu Android sistemi bilir ki, yolu necə app ilə qarşılıqlı. Bu icazələrin haqqında deyir və hansı fəaliyyəti faktiki olaraq davam edəcək. Bu app çalıştırmak üçün lazım olan bütün əsas məlumat var. Mənbə qovluq-əgər burada görə bilərsiniz kimi, biz bunu genişləndirmək. Və nümunə bir kod baxmaq-bu ki default kodu. Biz bunu adlı kimi, MainActivity. Mənim cari olaraq, biz bu fəaliyyəti yük adlı bir funksiya olan onCreate almaq belə ki, onCreate (savedInstanceState) zəng etmək istəyirəm. Bu məlumatlar hər hansı bit bərpa edəcək halda app durdurulmuş edilib. Siz baxmaq edə bilərsiniz bütün fəaliyyəti ömrü chart var siz onu dərin bir az daha zaman, amma kodu ən mühüm xətti bu setContentView funksiyası var olan layout üçün mənbə fayl yük olacaq. Sonra nə burada onCreate əsasən bunu deyirdik edir Mən bu layout yüklemek üçün istəyirəm bu fəaliyyəti yaratmaq zaman. Biz ki, layout ikinci nə haqqında danışacağıq. Biz bura onu məhz bu kimi görünür ki, başlamaq üçün olsaydı, və defolt biz bunu Eclipse və bizim üçün bunu EEST, çünki Bu, bizim üçün yaradılmışdır ki, bütün Demirbaş kodu və biz hərəkət və biz istədiyiniz kimi şeylər dəyişə bilərsiniz. Dediyim kimi, biz bütün layouts saxlamaq olduğu resurs qovluq, bu ki, hər növ baxımından drawables images- onlar drawables və sonra səs faylları, menyular adlı edirik. Bu gözəl sıralanır moda XML bütün dəstə bir yoludur. Gördüyünüz kimi, var. Hdpi, ldpi, mdpi və drawables üçün xhdpi qovluq. Bu müxtəlif ekran sıxlıqları, düym başına qədər yüksək sıxlığı pixel var aşağı sıxlıqlı, orta sıxlığı, əlavə yüksək sıxlığı. Bu bir daha ki, biz bütün bu müxtəlif cihazlar dəstəkləyə bilər və ideal, hər bir müxtəlif həlli üçün müxtəlif şəkillər olacaq. Biz müxtəlif fəaliyyət istifadə olunacaq ki, bütün müxtəlif layouts daxildir yerləşir layouts var. Onlar həmçinin fraqmentləri üçün planlarının daxildir olan əsasən qismən fəaliyyət deməkdir. Siz telefon dönüşümlü zaman kimi sərin bir şey etmək istəyirsinizsə Əgər bu, müxtəlif qovluq kimi layout-landşaft edə bilər müxtəlif layout olsun və Android avtomatik olaraq resurs qovluq ərzində bu qaydaları bütün dəstə var belə ki, telefon cari quraşdırma əsasında müxtəlif qovluq baxmaq biləcəklər istifadə etdiyiniz hardware nə növ. Eynilə burada, bu dəyərlərə V11 və dəyərləri-v14 və default dəyərlər bu üçün qovluq yaxşı, özü dəyərlər, bu əməliyyat sistemi bütün sürümlerinde u mənim dəyərlər olacaq. Digər tərəfdən, V11 and v14 PETEK uyğun və dondurma Sandwich, müvafiq olaraq. Yenə bu-ərzində bu qovluq fərqli strings var yolları və üslub, belə ki, sizin app görünüşünü özelleştirebilirsiniz ya potensial hətta onun funksionallığı ki, yəqin ki, bir pis fikir olardı, baxmayaraq ki, əməliyyat sistemi versiyası əsaslanır. Mən burada bütün bu barədə danışmışıq. Yenə drawable, xammal, layout, dəyərlər. Bu yetirilməməsi, biz indi Hello Android və ya Hello CS50 daxil əgər Bu, sadəcə bu kimi görünür. Bu dünya salam demək olacaq. Siz Android mətn ilə burada görə bilərsiniz kimi, bu mətn keçirmək üçün mətn, olan, əsasən yalnız bir etikettir biz iOS bu zəng nə deyil. Bu funny notation @ string / hello_world var. Bu biz-biz strings bütün çıxarış cəhd edir Android sabit kodlu strings bütün ayrı bir qovluğa, olan values.strings olmaq olur. Biz burada götürsək, biz burada saxlanan ağır kodlu string var ki, görə bilərsiniz bir salam dünya üçün və bu, Salam dünya adlanır və bu oldu sort istədiyiniz üçün bir çox platformalar arasında ortaq dizayn qərar strings biz potensial dəyişə biləcək istədiyiniz şeyləri sort edir. Biz XML bizim mənbə kodu fayl F nəzarət etmək istəmirəm. Biz şans almaq zaman bu dəyişiklik etmək istəyirəm. Bu XML fayl, strings.xml, çıxarılmasının bir yoldur başqa, bizim layout resursları olar ki, ağır kodlu strings və ya mənbə kodu. Biz tətbiqi haqqında mühüm məlumatları saxlamaq olduğu bəllidir. Bu paket adı daxildir. Bu unikal identifikator olmalıdır. IOS ərizə adları üçün App Store fərqli olaraq benzersiz yoxdur, və əslində sizin tətbiqi proqramın adını dəyişə bilərsiniz Siz, mən Angry Birds ilə başlamaq əgər, təqdim edildikdən sonra və sonra mən bir yeniləmə etmək, və yeni bir versiyasını istəmirəm Eyni azad dövrü haqqında Ben isə mən 2 Mən bunu Angry Birds zəng edə bilər danışarlar. Bu, sadəcə bir yeniləmə kimi göstərmək olardı. Unikal olmalıdır tək şey, bu paketi adı olmayan bir çox insanlar görəcəksiniz. Siz mənbə kodu və ya səhv bir növ olduqda axtarır, əgər Bəli, yalnız görmək istiyorum. Komponentləri fəaliyyəti daxildir, belə ki, biz bəyan etmək biz fəaliyyət növ. Bu şey icazəsi sortudur. Android bu ciddi Application prosesi yoxdur, çünki əvəzinə apps təqdim olunması üçün onlar yalnız hər şey icazələrin off əsaslanır yoxdur və Manifest şeyi bəyan. SDK versiyası da vacibdir. Biz SDK minimum versiyası şey kimi istifadə edə bilərsiniz. Aydındır ki, siz kodu yaratmaq istəyirəm yeni əməliyyat sistemi və dizayn. Yəqin ki, yeni deyil, bəlkə deyil Jelly Bean. Bəlkə, əvvəlcə Ice Cream Sandwich dizayn istəyirəm Onlar dizayn qərarları baxımından olduqca çox eyni olmasına baxmayaraq və faktiki kitabxana və API. Amma daha çox adam var orijinal Android Donut yolla geri versiyası kimi zaman- hələ demək sonra proqramını yükləmək üçün cəhd və ki, istifadə üçün baş verən mənim telefon siz minimum versiyası bilərsiniz işləmir və bu Gingerbread və ya Ice Cream Sandwich ola rahat təqdim hiss və ya hər hansı. Və bu açıq-aşkar bir nümunəsidir. Biz bir az faktiki biri də baxa bilərsiniz. OK, biz yalnız indi demo ilə irəli getmək lazımdır. Google Android üçün ilk app və ya bu kimi bir şey qurmaq Bu demo deyil. Biz orada gedən ki, hər şey ilə getmək lazımdır və Bağışlayın, yalnız hər hansı bir dərəcədə Java bilən bir sened üçün? OK, belə ki, Java insanların çoxu CS50 həyata gələn üçün yeni kodlaşdırma dilidir. Qısaca, burada deyir yenidən getmək Biz nə istəyirik bu Salam dünya tətbiqi tənzimləmək daha çox Bunu bütün bu başlayır və salam dünya deyir ki, fəaliyyətə adı var, çünki bu üst salam CS50 deyir biz bir metin domain və düyməsini etməyə cəhd olacaq biz bu düyməsini basın zaman bu mətn olacaq ki, metin domain və yeni fəaliyyət başlamaq, və demək olacaq mətn fəaliyyəti bildirib və bu nisbətən sadə nə. Bu, çox maraqlı deyil. Bu kimi hər hansı bir app azad istəməzdim. Amma bu, bəzi vacib dizayn şeyi nümayiş etdirir. Biz layout faylları ilə Manifest ilə qarşılıqlı lazımdır mənbə kodu ilə və başqa bir fəaliyyəti başlamaq üçün necə görə bilərsiniz. Biz ilk fəaliyyəti üçün layout ilə başlamaq lazımdır I, kiçik növü var bilirik lakin indi göründüyü kimi, bu, bütün, biz yaratdığınız bizim logo var fəaliyyəti adı, və bu mərkəzdə Salam dünya deyir. Əksinə, mən ilk xətti layout bu etmək gidiyorum nisbi layout, və bu hər şeyi var Siz baxmaq bilər və planlarının baxımından bir nöqtədə üzərində gedən layiqdir. Bu HTML kimi bir çox var. Biz bunu bir proqram mənada baxımından bilmədən dəyər həqiqətən deyil bildirib lakin siz nəzarət edə bilərsiniz çox müxtəlif layouts var və bu üslub baxımından yalnız CSS kimi. Yalnız burada estetik baxımından gedən bir çox var və Bəli, dəqiqləşdirmək lazımdır, ancaq bu qədər olmalıdır şey sort var Siz getmək və yeni bir şey lazımdır kimi hiss kimi. Mən ən azı ilə başlamaq üçün burada EEST tools bəzi istifadə edə bilər. Mən bir metin domain etmək lazımdır və mən bir düyməsinə edəcək. Bir-birinin yanında onlara qoyun. Onlar artıq müvafiq boyutlandır. Bağışlayın, yenə, xətti layout və nisbi layout arasında fərq qayıtdıqdan xətti layout bir az daha çox funksionallıq verir kosmik doldurulması və əmin edilməsi baxımından yatay və ya uzununa biz mövqeyi şeylər. Xətti layout və nisbi layout arasında böyük fərq digər views nisbətən nisbi layout mövqeləri hər şey deyil, və bu barədə yaxşı şey cəlb etmək üçün az vaxt tələb edir ki, əməliyyat sistemi bütün kodu baxır və bu gedir deyir, çünki burada nisbətən, burada. Bu, iç-içə xətti planlarının bütün dəstə daha az ölçmələr edir deməkdir I şeyi burada şaquli getmək istəyirdi nə olardı. Mən artıq bəzi şeylər yatay gedir ki, mən başqa bir xətti layout lazımdır şaquli yuva onları, amma nisbi layout bunu əgər mən demək biləcəyi sağ və aşağıda bu şeylər, sol bu saxlamaq. Amma onlara indi doldurmaq istəyirəm, çünki mən xətti layout istifadə üçün gidiyorum və siz artıq bizim üçün bu çox şey etmir bilərsiniz. Bütün fikir, eni və hündürlüyü bir əmlak lazımdır və bu 1 çəkisi var olur və bu, 1 çəkisi var belə ki, bütün kosmik doldurur. Amma eni və hündürlüyü ən vacibdir. Burada Bu ID sahəsində faktiki layout ərzində vacib deyil biz nisbi layout istifadə və biz istinad edə bilər deyərək etdiyiniz halda başqa istinadən bir görünüşü mövqe. Biz nisbi layout olsaydı, biz bu Aşağıdakı durum bilər və ya bu ID yuxarıda, lakin bu, ID əhəmiyyətli olacaq biz istinad edə bilər, çünki bizim kodu istifadə etdiyiniz zaman Bu şəkildə bu fərdi baxıldı. Və sonra siz yəqin ki, pset 7 gördüm bir şey olan tag requestFocus görə bilərsiniz. Sahələrində bir avtomatik fokus tag və ya bu xətt bir şey var idi. Və bir şey, əlbəttə, biz HTML kimi edə bilərsiniz və bildiriş EEST haqqında gözəl şeylərdən biri burada autocompletes edir. Bu Xcode etdi, lakin o, yenə yoxdur, bəlkə deyil qəşəng kimi və biz işarə demək və sonra simli bir növ verə bilər , Mesaj yazmaq istəyirəm Mən bunu bir an versən, mən burada bir az səhv almaq da qeyd bunun üçün bir string resurs istifadə etməlidir ki, Hesab edirəm ki, mənim üçün ağır iş bəzi edək əgər Mən refraktor Android və çıxarış Android simli etmək, bu simli seçə bilərsiniz. Hesab edirəm ki, bu ad verə bilər, Mesaj yazmaq və nə indi ki, ağır kodlu simli əvəz etməyib simli var. xml faylı string istinad ilə, bu burada artıq deməkdir. Və mən bu nöqtədə bir az mənasız və kimi əlavə iş görünür bilirik ki, lakin siz şeyi bütün dəstə, strings bütün dəstə var zaman ki, həqiqətən vacibdir, xüsusilə localisation bayaq qeyd etdiyim kimi, Android çox qlobal istifadə əməliyyat sistemi, çünki sadəcə dəyərlər-en və ya dəyərlər-SP edə bilərsiniz ki, İngilis və ya ispan və başqa dillərdə və ya bir şey. Və sonra siz yəqin ki, hələ bu təcrübə idi yoxdur biz web proqramlaşdırma baxımından çox JavaScript etmədiklərini bəri, lakin biz həmçinin üçün düyməni onClick adlanan bu sahədə edə bilərsiniz və bu, bizim layout ərzində sened bir yoldur biz mənbə kodu adlı etmək üçün müəyyən funksiyası istəyirik. Mən bu sendMessage zəng etmək gidiyorum və qaydada burada əsas fəaliyyəti o deməkdir ki, bu iş üçün Mən ictimai bir funksiyası yaratmaq olacaq bu layout ilə əldə edilə bilər ki,. Yalnız bir şey qayıtmaq istəmirəm, çünki boşluq var. Biz bu sendMessage zəng edəcəyik, və bu fikirdədir olan biz bu üsulu demir bu kontekstdə bir növ deyil fərdi baxımından biz bunu çalışan olduğunuzda. Fark-yaxşı, siz hiss olmasaydı və mən bilmirəm, lakin bu anda burada Bu baxımdan, hələ daxil deyil ki, bir növüdür və əlbəttə ki, bütün növləri, o cümlədən barədə CS50 bilirik. IDE nin kimi Eclipse haqqında gözəl şey ki, bir növü daxil unutmaq əgər squiggly bir az qırmızı ilə qeyd edəcək və sonra baxımından idxal seçimi verir. Bunun sürətli bir şəkildə nəzarət shift O, və idxal edəcək bütün bu lazımdır ki, faylları. İndi biz bu funksiya sendMessage ki, olan, yeni fəaliyyətinə MainActivity mesaj göndərmək üçün gedir biz, bu, yeni fəaliyyətə başlamaq niyyəti istifadə etmək olacaq belə ki, biz yəqin ki, bir qlobal daimi ya da xüsusilə ictimai daimi yaratmaq istersiniz bizi biz string istinad olacaq necə kömək edəcək çünki biz bir qəsd yaratmaq zaman, yalnız bir yeni fəaliyyət zəng deyilik lakin biz də bu məlumat paketini verə bilər. A paketi həqiqətən Android istifadə edən termindir, və bu, onu bir çox inkişaf etmiş veri növü ola bilməyən əlavə məlumatlar, vermək deyərək bir yoldur lakin biz mütləq booleans və ya strings və ya ints əlavə edə bilərsiniz. Şey bu sort. Burada bu seçmə hər hansı bir sual çekinmeyin, , ictimai final, statik. İctimai əhəmiyyətli biridir. Biz digər mənbə kodu faylları bu dəyişən daxil edə bilərsiniz belə biz yeni fəaliyyət yaratmaq zaman. Biz bu fayl ərzində simli istinad edə bilər. Özəl varsa, bu bura fərdi faylı məhdud deməkdir. Amma biz əlavə mesajı kimi bir şey arayacaðým. İndi biz bu funksiya etdik və biz düyməsinə basın əgər bu funksiyanı adlanacaq. Amma biz funksiyası ilə, təbii ki, bir şey həyata yoxdur. Biz indi istəyirik ki, yeni bir fəaliyyət yaratmaq deyil ki, fəaliyyəti faktiki olaraq dövrəyə girəcək. Eclipse biz yeni, Android fəaliyyəti, boş fəaliyyəti demək olar. Biz bunu bir ad verə bilər. Gəlin bu, bizim nəticə fəaliyyət çağırırıq. Və sonra bu iyerarxik valideyn sahədə ifadə yoludur necə fəaliyyət bir-birinə bağlıdır. Bu bir digər fəaliyyət başlayıb Çünki biz bu müəssisənin əsas fəaliyyət var ki göstərməlidir. Və mən demişəm ki, orada növbəti sahəsində tıklayan bilər bu da o cümlədən edilib ki, bəzi isteğe sahələri, lakin EEST haqqında gözəl şey, yenə mən burada aşağı fırladın əgər ki, açıq-aşkar bu bütün həqiqətən default daxil edilmişdir unutmayın biz ilk layihə zaman və indi biz bu yeni fəaliyyət yaratmaq daha çox istifadə çünki yalnız Biz bunu onların GUI ilə getdi, çünki öz sinfi fayl əlavə artıq bizim üçün açıq-aşkar bu bütün əlavə olan yalnız indi əməliyyat sistemi şikayət o deməkdir ki, biz bu fəaliyyəti başlamaq çalıştığınızda. Və bu da, əlbəttə ki, bu da strings qədər göstərir bir etiket verdi. Bu, bizim üçün geri sonunda bir çox şeyi edir. Hər halda, indi biz bu nəticə fəaliyyət var ki, mənbə qovluq faktiki mənbə kodu fayl, və görmək üçün qısaca bu-toxuna bilər biz bu iyerarxik valideyn haqqında məlumat verib, çünki bu onOption Seçilmiş şey bu sahədə android.r.ide.home verdi. Bu əsasən deyərək bir menyu düyməsinə indi var edir ki, ekranın yuxarı sol küncündə İlk fəaliyyət bar haqqında danışdı harada PowerPoint geri əgər çünki hiyerarşik ana indi geri burada bir az arrow var biz, həqiqətən, bu run-sonra lazımdır, belə ki, bu tıklanabilir edir app- geri getmək və orada bizə kodu bir az qənaət bir yoldur. İndi bu rifah içində, bir an üçün şikayət görünür. Ki, həyata şərh edək. İndi üçün faktiki olaraq, bu 2 fəaliyyəti ilə qarşılıqlı bu verileri bütün olan bir qəsd yaratmalıyıq. SendMessage indi mən Məcəlləsinin bəzi bit vasitəsilə kruiz gidiyorum və mən getmək kimi izah edir. Bir niyyət, dediyim kimi, başqa bir fəaliyyət başlamaq üçün bir yoldur. Niyyət növüdür. Biz dəyişən myIntent yaradılması edirik. Və bu həqiqətən yeni zəng etmək üçün niyə olan bir obyekt var. Bu alışma bir az ola bilər ki, orada ümumi Java istifadə var. Bu, fəaliyyəti və ya sinif MainActivity istifadə etdiyiniz deməkdir və belə niyyət ondan gedir fəaliyyəti davam edir və fəaliyyəti ona, biz ResultActivity zəng ki, olacaq və öz sinif edir. Ki, daxildir. Mən əvvəl qeyd etdiyim kimi, sonra biz redaktə metin domain ki ID verdi və mətn fikrincə, belə qaydada program ələ ki, editText mövcud olan mətn biz findViewByID adlanan bu funksiyası, istifadə olan DOM-dən sahələri almaq üçün çalışırıq zaman istifadə edəcəyik ki, bir şey kimi. Mühazirədə bu barədə bəlkə də, David danışıqlar. Amma bu, yalnız almaq bir yolu var o ki, biz bu sahələri ilə bu şeyləri tag görə. Id.editText1. Bu, artıq mənim üçün autocompleting oldu. Və sonra biz də daxildir-Bu olacaq editText indi sahədə ki proqram çərçivəsində bütün findViewByID əsasən oldu Siz bizə editText istinad vermək düşünün bilər. İndi string və ya mesajı almaq istəyirəm biz istifadə-by edə bilərsiniz ki editText ərzində siz kimi editText hesab edə bilər struct- biz bunu bir obyekt müxtəlif üsulları bütün dəstə Java-zəng və ya sahələri və atributları ona əlavə. Mən editText deyəndə. mənə daxil olmaq üçün imkan verir mövcud mətni olacaq olan getText kimi bir üsul ki, editText və sonra aydın çevirmək simli və biz mesaj xilas etdik. İndi biz həqiqətən biz yalnız moments əvvəl yaratdığı niyyəti ilə bir şey etmək istəyirəm. Bu niyyət ilə deyirlər kimi, əlavə qoymaq olan, daha əvvəl dediyim kimi, bu paketi yaradılması bir yoldur məlumatların bütün dəstə ilə. Biz bu qənaət etdiyiniz nə belə Extra mesaj, bizim tag edir və sonra mesajı o cümlədən alıram. Və sonra, biz, həqiqətən, bu parametr myIntent verərək fəaliyyət başlaya bilərsiniz. Mən Windows 8 üçün təkmilləşdirilmiş ildən bu, həqiqətən indi, fəaliyyəti başlayacaq orada qısa up göstərir ki, bəzi səhvlər ola bilər, lakin onların ignore cəhd edə bilərsiniz. Bu Android emulator edir. İnşallah kodu həqiqətən bir anda açılır. Yenə də, bütün bu kiçik şeyi görməməzlikdən. Lakin Android emulator siz əməliyyat sistemi hər hansı bir versiyası yarışmaq bilər ən erkən olanları, Donut, Gingerbread. Bu Jelly Bean 4.1 edir. Amma indi göründüyü kimi, bu etdik şeydir. Bu MainActivity ki, editText, düyməsini var. Mən burada bir şey yazın, ancaq bu anda nə eksik? Biz mesaj göndərmək olacaq ki MainActivity sahədə etdi digər fəaliyyəti, lakin bu nöqtədə biz digər fəaliyyət bir şey həyata yoxdur, belə ki, bir şey almaq niyyətində deyil. Biz hərəkət əvvəl ki hissəsini bitirmək edək. Bu nəticə fəaliyyəti, biz lazımdır Biz nə etmək lazımdır ki, biz lazımdır üçün edir biz də bu fəaliyyəti çərçivəsində niyyət istinad edə bilər belə ki, biz, həqiqətən sadə olan niyyəti tutmaq lazımdır. O, fəaliyyəti sinif daxil funksiyası var belə ki, biz yalnız "niyyət mesajı alın." deyə bilərsiniz "Niyyət myIntent = getIntent." Və bu, myIntent obyekt bizim indi verəcək bu fəaliyyəti bizi gətirib çıxaran niyyət bir istinad edir. MainActivity çağırır və fəaliyyəti nəticəsində əlavə məlumat verir. Nəticə fəaliyyəti indi, burada səbəb olan niyyət baxır və biz, biz digər bir yaratdığı mesaj daxil ola bilərsiniz getStringExtra və bu mənim üçün AutoComplete olacaq. Və sonra, biz tagged yolu xatırlayıram ki, məlumatların bit , burada bu ictimai string bu sahədə verərək idi hansı faktiki daxil simli üçün tag edir. Mən MainActivity.Extra_Message demək olarsa sağ var və bu parametr adı kimi sort edir biz nəzarətçi şablonu kodunu keçmiş zaman biz adı arrow bir şey demək istədiyiniz zaman. Orada fikir eyni növ var. İndi bu xatırlayıram. Kod Biz də bu avtomatik yaratmışdır və ya avtomatik generated nəticə fəaliyyəti üçün, bu ortasında mətn görünüşü daxildir ki, Salam dünya deyir. Biz potensial ki, böyük edə bilər. Ilk bunu edək. Biz bunu 40 sıxlığı müstəqil piksel edə bilər. Gəlin böyük super ki, görürük. Bu tamam olacaq. Və sonra bizim kodu çərçivəsində fərdi mətn görünüşü istinad üçün biz, bu ID vermək lazımdır və biz demək ki, bunu etmək üçün @ biz bunu ID təyin deməkdir + id. Biz yalnız @ id etdi ki, biz artıq mövcud olan şəxsiyyət istinad etdiyiniz güman ki, və bu bizim resultTextView zəng edək. Və XML semicolons və ya bir şey üçün heç bir ehtiyac olduğunu görürsünüz. Hər şey bu yazıları var. Bu duyğu bir çox HTML çox oxşar. Bu alışma bir az edir, lakin sonda siz bu olduqca rahat hiss edəcəyik. Bizim nəticə mətn keçirmək üçün mətn yeniləmək edək, və biz digər fəaliyyət ki, redaktə mətn sahəsində əldə zaman biz kimi MainActivity burada biz də olacaq beləcə- biz ID mənzərə tapa bilərsiniz. Və R, halda mən əvvəl bu qeyd etməyib, bizim resurslardan qovluğa istinad edir və sonra ID qaynaqları qovluq hər şey, bütün şəxsiyyətlərini bir istinad edir və resultTextView. Və yalnız əvvəl, resultTextView bir obyekti bu ilə bağlı bütün bu xüsusiyyətləri var deməkdir. Biz bu metin domain və ya mətn keçirmək üçün Düzenle mətn üçün getText istifadə etdikdə Biz, həqiqətən, setText istifadə edə bilərsiniz sonra biz artıq niyyət mesajı tapdı mən mesaj demək olar ki, bu faktiki mesajı seçin. Bu başlamaq üçün zaman ayırın, sonra biz, bu Yeməyini çıxmadığını bilərsiniz lakin orada bu proses haqqında hər hansı bir sualınız, qarşılıqlı ki Sıralama? Bir çox hallarda sadə deyil. Mən nisbətən sadə bir şey vasitəsilə gidiyorum səbəbi Siz susmaya arasında qarşılıqlı görmək almaq, çünki, təkrar edir mənbə kodu, necə istinad şeyi və bəlkə Java işləyir necə bir az məruz almaq. Mən, həqiqətən, ohai kimi, burada bir şey yazın, əgər mən, düyməsini basın yeni fəaliyyət başlayıb və mətn baxımından ohai deyir. Bu, çox sadə amma ümid edirəm ki, məsələn sonra Siz növ bu qarşılıqlı necə işlədiyini görmək, və faylları artıq mess Bütün bu layihə qovluq üçün sol tərəfdə, inşallah siz indi baxmaq bilirik. Bu mənbə kodu sahədir. Susmaya, həqiqətən, sizin images daxildir qədər ilə məşğul olacaq yalnız şey və drawables və ya hər hansı, dəyərlər ki, strings daxil olacaq qeyd etdiyimiz kimi, sonra üslub CSS kimi növ ki, bir şey deyil. Istədiyiniz zaman müraciət, ancaq əlavə Flair əlavə rahat hiss qədər Sizin tətbiqi çox çox narahat ehtiyac yoxdur. Yalnız başqa bir şey kesmek üçün mütləq daxildir istəyirəm Siz sərin xüsusiyyətləri inteqrasiya və özünüzü bəzi əlavə saxlamaq istəyirsinizsə fərz coding- 3-cü tərəf kitabxana daxil olacaq. Burada Sherlock Holmes papaq ilə kiçik Android oğlan var. Bu fəaliyyət bar Sherlock kitabxana olan əsasən, siz əvvəllər gördüm ki, fəaliyyət bar deməkdir ki, indi Ice Cream Sandwich və Jelly Bean ilə standart eski versiyasını istifadəçilərə user experience ki Sıralama gətirmək istəyirsinizsə, və istifadəçi getmək üçün gedir necə narahat özünüzü saxlamaq eski versiyasını ki, bir şey yoxdur zaman bu kitabxana əlavə edə bilərsiniz və sonra yalnız üçün istinad-çox default Android fəaliyyət bar üçün kitabxanalar, bu dəstək kitabxana arayış. Bir oyun daxil olacaq əgər Scoreloop kimi şeylər, o, böyük deyil. Bu oyunlar lider lövhələr və nailiyyətlər əlavə imkan verir. Admob ərizə daxil elanları qoyaraq bir yoldur halda pul off bir az etmək istəyirəm. Əlbəttə ki, Facebook və Twitter orada inteqrasiya var siz Et Cetera, asanlıqla şeyi paylaşmaq istəyirsinizsə. Dropbox, həmçinin, və Google Analytics orada one axtarır ki, chart edir. Həqiqətən qarşılıqlı olan görmək istəyirsinizsə çox əhəmiyyətli olacaq Sizin app və ya bu olan, onlar qarşılıqlı necə Et Cetera ilə. Google, ismarıcları, sizin app yüklü olan haqqında statistika bir çox deyir və onlar nə telefon, nə əməliyyat sistemi versiyasını onlar var. Amma gündəlik istifadə və necə istifadə olunur kimin istəyirsinizsə sonra bu kimi izleme sistemi bir növ daxil lazımdır. Siz app yaymaq hazır olduğunuzda Mən çox çox dərin ki, getmək lazım deyil. Burada linki vurun, Google Play. Bu Android bazar olmaq üçün istifadə. Onlar Google Play ilə hər şeyi rebranded Belə ki, indi ki, təqdim edir. Bu, çox sadə deyil. Siz təsviri, bəzi ekran daxil var. Dediyim kimi, iOS kimi heç bir təsdiq prosesi var. Və burada getmək? Mən sizə həqiqətən sadə nümunəsi göstərdi. Bu olduqca sadə görünür İnşallah əgər sonra yəqin ki, yaxşı əlamət deyil. Bütün mən yazaraq edilmişdir dəqiq nə haqqında bir az çaşmış və ya emin hiss edin da gözəl, lakin buradan Google Kılavuzları gedin. Bu başlamaq üçün böyük bir yerdir. Bu proqram dizayn baxımından gözlədiklərini nə size danışacaqlar istifadəçilər normal ilə necə qarşılıqlı. Daha sərbəst forma iOS daha var, mən demək istədiyiniz Cədvəl views-I edilir bilmirəm kimi görünür ki, öz çörək və yağ var. Hər şey və aşağı sürüşmə bir masa rəyidir. Android ilə onlar mütləq insanların baxmaq üçün gəlir müxtəlif perspektivləri bütün dəstə. Bu EET ildə Software Development Kit daxildir zaman default Android nümunə layihələr bütün dəstə var. Burada, Android, Android Nümunə layihəsi. Hesab edirəm ki, basın, onda mən layihələr tətbiq nümunə olan bir versiyası seçə bilərsiniz. Müxtəlif şeyi bütün dəstə var var. Bu fəaliyyət bar uyğunluğu ilə off başlayır accelerometer oyun, backup və bərpa, Bluetooth, jest builder. LunarLander kimi JetBoy, onlar sizə bir nümunə oyun. Örnek Applications bütün dəstə, burada var və onlar bütün Android API müxtəlif aspektləri yönəlmiş edirik və fikir sizin tətbiq etmək kimi ki, bir Android app etmək üçün Android haqqında hər şeyi öyrənmək lazım deyil. Siz yalnız, həqiqətən, istifadə etmək niyyətində olduğunuz hissələri haqqında öyrənmək lazımdır. Bu nümunə kitabxana baxın. Seçin və yapışdırıb kodu və onu yeniden çekinmeyin. Daha çətin kodu baxmaq böyük bir şey var və onu anlamaq üçün cəhd, bu əlbəttə nə CS50 ilə biz tez-tez mənbə kodu böyük həcmdə verir. Benzer kitabxana istifadə etmək olacaq, əgər bu bəzi baxın və sonra öz kodu edin. Və əlbəttə, tutorials var. Tutorials üçün axtar. Mən sürətli siz yetişdirmək bilər ki, yaxşı olanları bir çox online nə fraqmentləri həqiqətən və necə onları istifadə edə bilərsiniz ilə. Fraqmentləri kimi bu yeni dizayn bəzi şeyləri, Bir edirik halda həqiqətən narahat yoxdur əhatə dairəsi layihə olduqca böyük. Onlar Google da Faza çalışır ki, hər şeyi var Stackoverflow əlbəttə, sizin dostudur. Ümid edirəm ki, Android bir az satılır daha asan yalnız kodlaşdırma dil baxımından yanaşma var həyata. Java I Objective-C-dən anlamaq çox asandır demək istədiyiniz edir. Android çox daha iOS çox düşünürəm artır. Mən demək, məlumat, mən hesab edirəm ki, nə kənara, orada çox deyil. O, bir müddət ətrafında olacaq və onlar, onların dizayn dövründən baxımından bir neçə il arxasında belə ki, onlar hələ də bu bəzi çalışırıq ki, növ aydın var ardıcıllıq suallar, bu fəaliyyət bar kimi, hələ də onlar üçün yeni bir şey deyil bütün apps arasında oxşar user experience yaratmaq növ. Ümid edirəm artıq irəli getmək və Eclipse aça bilərik və öz Android apps edir. Biz bir şey haqqında bükmək əvvəl hər hansı bir sualınız varmı? Mən cavab 42 dir siz deyə bilərsiniz. Yaxşı, hər kəs və uğurlar kodlaşdırma xoşbəxt. [CS50.TV]