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