[Powered by Google Translate] [Семинар] [Android Apps (Сега с желирани бонбони!)]
[Jordan Jóźwiak] [Harvard University]
[Това е CS50.] [CS50.TV]
>> Здравейте на всички, и добре дошли в Android Apps (Сега с желирани бонбони!) Семинар.
Тя се нарича сега с желирани бонбони, разбира се, защото
най-новата версия на операционната система се нарича Jelly Bean.
Когато се говори за Android през миналата година и е направил това основно същия семинар
Бях представяне на моделите на дизайна и стилистични решения за Gingerbread,
въпреки че Ice Cream Sandwich е дошъл по това време,
и това е нещо, което ние ще говорим за в бъдеще малко.
Android, разбира се, има някои проблеми с фрагментацията,
така че последната Google операционна система е обикновено
не наистина ще се превърне в обичайна сред потребителите за потенциално до една година, за съжаление.
>> Но не зачита този, ние ще говорим за много причини, поради които
Android е много по-добре от IOS.
Добре, ние ще говорим за Android срещу IOS,
няколко дизайнерски парадигми, как вие ще получите, създадени само за един слайд,
и голяма разлика между тази и миналата година, е, че просто искам да
мащабиране чрез някои концептуални неща, работещи с
операционната система и след това да отиде в наистина основен пример.
В действителност, само пример, че Google се описва за изграждането на вашия първи ап,
и ние ще мине през него заедно и просто да се опише.
>> Знам, че много от вас са само кодирани в C, Java, така вече ще бъде
друга гледна точка, и по този начин вие ще получите краката си wet
и се чувствам малко по-комфортно с него се надяваме.
Един бърз резюме, Android срещу IOS.
В Android има това еднократно разработчик такса от $ 25
Нищо от това 100 щ.д. на година нещо.
Няма ограничения, което означава, че ако искам да представя един апартамент,
Току-що го представят, и няма процес на одобрение като има за IOS.
Може да се развиват с Java използва Eclipse,
което е крос платформа, така че няма значение, ако имате Mac,
Windows, Linux или някаква машина.
Разбира се, с IOS вие трябва да използвате Xcode за Mac,
и Android се използва от много повече хора,
така че ако искате приложението си да имат някаква видимост или може би
направи малко пари от реклами
вие вероятно сте по-склонни да се възползват от Android.
>> И едно нещо, което винаги е било известно за Android
е крайната сума на персонализация, като има предвид, IOS е много фиксирани в техните пътища
така че те да могат да поддържат сигурността и контрол върху всеки малък аспект
на проекта в рамките на тяхната операционна система и на отделните приложения.
Android е много свободна форма, а има толкова много повече възможности.
Добре, няколко дизайнерски парадигми.
Забележете, точно като IOS има таблетки и Iphones и докинг докосне
те трябва да се подкрепят, да речем, като дузина устройства, ако искате да подкрепите
исторически неща.
С Android ще трябва да поддържа стотици устройства,
така че има някои неща, които Google се опитва да прилага
да направят работата на потребителите малко по-последователна,
но ние също така ще говорим за това как това означава, че има въпроси, на фрагментацията
че постоянно трябва да е наясно с подкрепа.
Раздробяването означава, че има много различни операционни системи,
много различни телефони с различен хардуер добри Android по едно и също време,
така тази графика тук се връща в продължение на около 6 месеца.
Да, 6 месеца и можете да видите как най-тъмната лента
на дъното е Jelly Bean, който излезе през лятото,
и можете да видите точно сега може би около 2% от телефоните го има.
>> Ice Cream Sandwich излезе преди повече от година,
и една четвърт от телефоните го има.
Все още има много телефони, които използват версия на операционната система от години.
Едно нещо, което Google се е опитал да направя, за да направи работата на потребителя
много по-съгласуван в приложения започват с Honeycomb,
която е таблетка версия, тогава Ice Cream Sandwich и Jelly Bean,
те са наистина се опитва да се подчертае използването на това действие, бар,
което е това, което можете да видите в горната тук,
всичко точно тук, включително този малък бутон настройки.
Това е дизайн избор.
Сега, всеки път, когато се видим на 3 точки, това означава, кликнете върху това,
и няма да има падащо меню, което има някаква настройки.
Това показва само, защото се кликне върху този бутон.
Това е нещо, което те се опитват да използват, за да правят приложения, малко по-последователна
повсеместно и, така че потребителят има по-добро чувство за единна опит.
>> Добре, така че в случай, че не са направили това вече или ако гледаш у дома
След това можете да следвате тези стъпки, за да настроите кодиране среда.
Тя ще включва на следния уебсайт тук.
Можете да инсталирате Google Android SDK
и следват някои описания там.
Те ви кажа всичко.
Те трябва да инсталирате на SDK, изтегляне Eclipse Classic версия,
въпреки че, разбира се, ние сме кодиране в Java.
Те препоръчват това, и след това тази ADT, развитието Android Tools,
е плъгин, който инсталирате в Eclipse, който ви позволява да
имат много по-оптимизирана с Android в Eclipse.
Тя ще ви даде някои графични потребителски интерфейси
за проектиране на мненията, и тя ще ви даде много по-голяма подкрепа
и способността да се започне с емулатор и всички такива неща.
Заявление рамка.
>> Искам да говоря за това как проекти в рамките на Android са структурирани,
и след това ще отида в бърз пример, и да се надяваме
можете да задавате въпроси във всеки един момент и да се чувстват комфортно, като в края на това.
Ние имаме някои жаргон първи.
Една дейност е като на екрана виждате, когато започне един апартамент.
Целият опит е самата дейност,
така че можех да мисля за него като за екрана или оглед,
но всъщност е страната на изходния код на него.
Ние все още наричаме застроена част интерфейс от него цел.
Това е нещо като как в PSET 7 имахме контролер и след това на гледката.
Дейността е повече или по-малко на контролера,
и гледката е това, което правим по отношение на XML
която е свързана с тази дейност.
Фрагментите са нещо, което изпълнява в Ice Cream Sandwich върви напред.
Това е само една идея за предприемане на части на оглед или дейността
и като се раздели ги в отделни области, така че можем да
направи нашия код по-използваеми за тези много различни устройства
че трябва да се подкрепят, а това е просто начин да се опитва да
също фактор повече код.
Услугите са фонови неща, като възпроизвеждане на музика или посоки за навигация потенциално.
Доставчиците на съдържание, това са APIs в рамките на операционната система
които ви позволяват да получите достъп до споделени данни, като информация за контакт,
и след това намерение е нещо, което ще използваме, когато искаме да започне
нова дейност от сегашната ни дейност.
>> Hello Android, това ще бъде един проект, който ние ще говорим за.
Всъщност ще го направи за теб, а след това ние ще направим нещо, когато ние щракнете върху бутона
с някакъв текст и да започне нова дейност.
Много ясно, но аз искам да мине през
това, което ще влезе в подобен проект.
Когато направите нов проект ще видите в Eclipse
има този проект, наречен Hello Android.
След това има цял куп папки тук.
Тези, които наистина се занимават с са източник папка,
ресурса папка, ВЕИ, и до известна степен на LIBS папка за библиотеки.
И също така, че сме на една и съща страница, че
ако ви се налага да създадете нов проект,
можете да направите това тук, така че, ако искате да го наречем HelloAndroid,
и след това автоматично прави цял куп информация за нас.
Името на пакета е трябвало да бъде уникален идентификатор
които обикновено се свързва с уеб сайт, ако има такъв.
>> Например, аз ще се обадя тази net.cs50.helloandroid.
И аз вече са направили този проект веднъж.
Добре, съжалявам. Нека го наречем HelloCS50.
И тогава той ще поиска неща, като какъв вид икона искаме да се направи.
Това е всичко, защото на Android Developer Tools интерфейс,
плъгин, че ние добавен в Eclipse, така че можем да изберем такива неща
какво икона искаме, и че ще отидат в тази дълбочина, ако искаме.
Но в крайна сметка, просто направи проект,
и всичко, което се появява точно тук.
Както показа на друга преграда,
имаме папката източник, и аз ще говоря за онова, всичко това означава най-скоро,
но можете да видите, че веднага ни отвежда към екрана HelloCS50.
Има някои бутони тук за добавяне на текст и текстово поле оформления.
Това е нещо като Xcode, но за съжаление не е толкова опростена.
Но клиповете ще бъде твой приятел и ADT по-специално за това.
>> Добре, източникът папка е мястото, където
на Java файлове се провеждат, и това всъщност е началото на вашата програма.
Това е основно като контролерите.
Ресурсът на папка или ВЕИ е мястото, където ние ще продължаваме екран оформления,
изображения, звуци, текст, анимация и всичко останало, LIBS, очевидно, библиотеки.
И Manifest, това е начинът, по който системата Android знае
как да си взаимодействат с приложението си.
Той я разказва за разрешения и какви дейности ще бъдат реално се изпълнява.
Всичко това е основната информация, която е необходимо да стартирате приложението.
Източникът папка е-ако го разшири, както можете да видите тук.
И даде пример, че би изглеждала-това е по подразбиране код.
Както го нарича, MainActivity.
По подразбиране, ще получите onCreate, което е функция, която се нарича, когато тази дейност товар,
така че искам да се обадя onCreate (savedInstanceState).
Това ще възстанови всички битове информация
В случай, че приложението е на пауза.
>> Има цял диаграма дейност жизнен цикъл, които можете да погледнете
когато се получи малко по-задълбочено в нея,
Но най-важната линия на код има тази функция setContentView
което ще зареди файла ресурс за оформление.
Тогава какво onCreate тук е основно това е тя казва
когато създавам тази дейност Искам да заредите това оформление.
И ние ще говорим за това, че оформлението е в секунди.
Ако трябваше да започне, че тук тя изглежда точно като този,
и по подразбиране, защото сме затъмнение прави това и ADT го прави за нас
всичко това е стереотипния код, който е създаден за нас,
и можем да продължим нататък и да променят нещата, както ни харесва.
Ресурсът на папката, както казах, това е мястото, където държим всички оформления,
drawables по отношение на всякакъв вид изображения-
те се наричат ​​drawables, а после звукови файлове, менюта.
Това е начин на цял куп от XML в хубаво подредени мода.
Както можете да видите, има. Hdpi, ldpi, MDPI и xhdpi папки за drawables.
Това са различни плътности на екрана, така че Висока плътност на пикселите на инч,
ниска плътност, средна плътност, много висока плътност.
>> Това е, отново, за да можем да оказва подкрепа на всички тези различни устройства,
и в идеалния случай, ще имат различни изображения за всяка различна резолюция.
Layouts сме там, където са всички различни оформления, които ще бъдат използвани в различни дейности.
Те биха могли да включват оформления за фрагменти,
което означава, частични дейности основно.
Ако искате да направите нещо готино като всеки път, когато завъртите телефона
искате да има различно оформление можете да направите оформление-пейзаж, в друга папка,
и Android автоматично има цял куп от тези правила в рамките на ресурса папка,
така че ще знаете, за да търсите в различни папки по текущите настройки на телефона,
какъв вид хардуер, който използвате.
Аналогично, настоящата стойности-v11 тук и ценности-v14
и стойностите по подразбиране папката това е за-
Е, стойностите по себе си, това ще бъде стойностите по подразбиране във всички версии на операционната система.
От друга страна, V11 и V14 съответства Honeycomb
и Ice Cream Sandwich, съответно.
Отново, това са начините, по които-в рамките на тези папки са различни струни
и стилове, така че можете да настроите външния вид на приложението си
или потенциално дори неговата функционалност, макар че вероятно би било лоша идея,
на базата на версията на операционната система.
>> И аз говорихме за всичко това тук.
Отново рисуваемо, суровини, оформление, ценности.
По подразбиране, ако отидем в Hello Hello Android или CS50 сега
тя ще изглежда точно по този начин.
Той ще каже здравей свят.
Както можете да видите тук с текста Android
текста за този текст изглед, който е основно само на етикета,
е това, което ние бихме го наричат ​​в IOS.
Той има тази забавна нотация @ низ / hello_world.
Това е така, можем да-ние се опитваме да се извлекат всички струни,
всички трудно кодирани струни в Android в отделна папка,
който се случва да бъде в values.strings.
Ако погледнем тук, можем да видим, че имаме твърд кодирани низ спасени тук
за здравей свят, и тя се нарича здравей свят, и това е нещо като
еднакъв дизайн решение в много платформи, които искате да-
струни са вид неща, които искаме да потенциално да може да се промени.
Ние не искаме да контролира F в нашия сорс в нашия XML.
Ние искаме да бъдем в състояние да промени това всеки път, когато имат възможност.
>> Този файл XML, strings.xml, е начин за извличане на
трудно кодирани низове, които иначе биха били в нашите оформление ресурси
или в нашия код.
Манифестът е мястото, където ние продължаваме тази съществена информация за приложението.
Тя включва името на пакета. Това трябва да е уникален идентификатор.
За разлика от App Store за IOS имената на приложения
не трябва да бъде уникален, а вие в действителност може да промените името на вашата кандидатура
след като го представи, така че, ако се започне с Angry Birds,
и след това I направим актуализация, и аз не искам да пусне нова версия
Предполагам, че може да го наричат ​​Angry Birds 2, докато аз съм на същия цикъл освобождаване.
Той просто се появи като актуализация.
Единственото нещо, което трябва да бъде уникален е този пакет, име,
който не много хора ще видят.
Е, ще видите само ако търсите изходния код или ако има някаква грешка.
Компонентите включват дейности, така че ние трябва да декларират
каквато и да е дейност, ние използваме.
Това е разрешение такива неща.
>> Тъй като Android не разполага с тази строг процес на прилагане
за подаване на приложения, вместо те просто правят всичко на базата на разстояние от разрешения
и обявява неща в манифеста.
Версията SDK също е важно.
Ние можем да настроите употреба като нещо SDK минимална версия.
Очевидно е, че искате да създадете код
и дизайн за по-новите операционни системи.
Може би не е най-новият, не може би Jelly Bean.
Може би искате да проектирате предимно за Ice Cream Sandwich,
въпреки че те са почти еднакви по отношение на дизайнерските решения
и действителните библиотеки и API.
Но вместо да има хора
на първоначалната версия Android-подобен начин Donut назад, когато-
, които все още се случи да се използва, че се опитват да изтеглите приложението и след това казват
тя не работи на телефона си можете да зададете минимална версия
и да го бъде Gingerbread или Ice Cream Sandwich
или каквото и да се чувствате комфортно изпратили.
И това е един пример на манифеста. Ние можем да погледнем в един действително след малко.
>> Добре, ние просто ще върви напред с демо сега.
Това е демо ако Google Android изгради своя първи апартамент или нещо подобно.
Ще мине през всичко, което става там,
и съжалявам, само за справка, който тук знае Java в някаква степен?
Добре, така че Java е нов език за кодиране, за повечето хора, идващи от CS50.
Накратко, за да премине отново това, което пише тук,
това, което искаме да направим, е по-скоро, отколкото се коригира това здравей прилагането света
че всичко, което прави е той стартира и то се казва здравей свят
и то се казва здравей CS50 на върха, защото това е дейност име
ние ще се опитаме да направим текстово поле и бутон
така че когато натиснете този бутон, тя ще вземе текста
от текстово поле и да започне нова дейност, и тя ще каже
независимо, че текста се казва в дейността, а това е сравнително прост.
Това не е много интересно. Може би не искате да се освободи всяко приложение, като тази.
Но то показва някои важни неща, дизайн.
>> Ние ще трябва да си взаимодействат с Манифест, с оформлението файлове,
с изходния код, и можете да видите как да се започне една дейност в друга.
Ще започнем с оформлението за първата ни дейност,
което знам, че това е вид на малки,
но както виждате в момента, всичко е е че има логото ни, че сме създали,
дейността име, и то се казва здравей свят в центъра.
Вместо това, аз съм първо ще направи това в линейни оформление,
относителна оформление, а това са всички неща
можете да погледнете нагоре и да са на стойност преминавате в някакъв момент от гледна точка на структурата.
Това е много прилича на HTML.
Ние казахме, че не е наистина си струва да знае по отношение на програмна смисъл,
но има толкова много различни оформления можете да контролирате,
и това е просто като CSS по отношение на стилове.
>> Има много неща се случват само от гледна точка на естетиката тук,
и да, това си струва живот, но това е от нещата, които трябва да погледнете
както и да отидеш и да се чувстваш като имате нужда от нещо ново.
Мога да се възползват от някои от ADT инструменти тук поне да започнем с.
Ще направя текстово поле, и ще направя един бутон.
Сложете ги в непосредствена близост един до друг.
Те вече преоразмерите по подходящ начин.
За съжаление, отново се върна на разликата между линейни оформление и относителната оформление,
линейна оформление дава малко по-голяма функционалност
от гледна точка на попълване пространство и като се уверите,
ние позиция неща хоризонтално или вертикално.
Голямата разлика между линейна оформление и относителна оформление
е относителното разположение позиции всичко по отношение на други изгледи,
и доброто нещо за него е, че е необходимо по-малко време да се направи
защото операционната система изглежда изобщо кода и казва, че това отива
в сравнение с това тук, тук.
Това означава, че прави по-малко измервания, отколкото цял куп вложени линейни оформления,
което аз ще трябва да направя, ако искам нещата да отидат вертикално тук.
>> Вече имам някои неща ще хоризонтално, така че аз ще се нуждаят от различни линейни оформление
да ги гнездо вертикално, но ако се опитваха относителен план мога да кажа,
запази тази в ляво, тази в дясно и тези неща по-долу.
Но тъй като аз искам да запълни точно сега аз ще използвам линеен оформление,
и можете да видите, че вече прави много от тези неща за нас.
Всички мнения трябва да са собственост на ширина и височина,
и това се случва да има тегло от 1, и това е с тегло от 1
така, че да запълва цялото пространство.
Но ширината и височината са най-важни.
Това ID областта точно тук не е важно в рамките на реалния оформление
освен ако ние използваме относително оформление и да кажеш, че да позоваване
един изглед позиция по отношение на друг.
Ако ние, а относителният им оформление може да се каже това по-долу позиция на този
или над това ID, но това ID ще бъде важно
когато го използвате в нашия код, защото можем да позоваване
тези индивидуални мнения по този начин.
>> И тогава можете да видите requestFocus етикет, което е нещо, което вероятно вижда в PSET 7.
Имаше един етикет автофокус или нещо подобно за едно от полетата.
И едно нещо, което, разбира се, можем да направим, точно като в HTML,
и забележете, един от най-хубави неща за ADT е, че тя autocompletes тук.
Може би не е толкова добре, както го е направил в Xcode, но тя все пак,
и можем да кажем, намек, а след това да му дадете някакъв низ
като напишете съобщение,
и ако аз я давам момент, също така да забележите, че се получи малко грешки тук
казва, че ние трябва да използваме ресурс низ за това,
Така че, ако аз го оставете да свърши някои от упорита работа за мен
Мога да избера този низ, направете рефрактор Android и екстракт от Android низ.
Мога да го даде това име, напишете съобщение,
и за какво е сега е заменен толкова трудно кодирани низ
с позоваване на низ инча файл низа базиран на XML,
което означава, че сега това е тук.
>> И знам, че изглежда малко тривиално и като допълнителна работа в този момент,
но когато имаш един куп неща, цял куп струни,
това е наистина важно, и по-специално за локализиране
защото, както споменах по-рано, Android е много в световен мащаб използват операционната система
, че можете просто да направите стойности-ен или стойности-SP
или нещо за английски или испански или друг език.
И тогава най-вероятно не са имали това преживяване още
тъй като не сме направили много JavaScript от гледна точка на уеб програмиране,
но ние можем да направим това поле, наречено OnClick на бутона,
и това е начин на съотнасяне в нашата оформление
че искаме определена функция да се нарича в нашия код.
Аз ще се обадя на този SendMessage,
и за да се направи тази работа това означава, че в основната дейност тук
Ще трябва да се създаде функция, която е публично
, така че да могат да бъдат достъпни от оформление.
Това е нищожен, защото просто не искам това да се върне нищо.
Ще го наречем SendMessage и отнема оглед,
която е нещо като връзка, че ние можем да закотвят този метод
към това лице изглед, когато сме го изпълняват.
>> И аз не знам дали сте забелязали-добре, може би не сте забелязали,
но на този етап тук
тази гледна точка е вид, който все още не е включена,
и разбира се, всички знаете от CS50 за да не се включи видове.
Хубавото като Eclipse IDE е, че
ако сте пропуснали да включва типа, който ще подчертае с малка червена вълнообразна
и след това ви даде възможност да внасят на гледката.
Един бърз начин за това е контрол на смяната O, и тя ще импортира
всички файлове, които са му необходими за да.
Сега, когато имаме тази функция SendMessage,
който ще прати съобщение от MainActivity за нова дейност,
ние ще трябва да се използва намерение за започване на нова дейност, от това,
така че ние вероятно ще искате да се създаде глобална постоянен или също особено обществена постоянно
че ще ни помогне да знаем как ще указването на низ
защото, когато ние създаваме намерение не сме просто свикване на нова дейност,
но ние можем да му се даде набор от информация.
A пакет всъщност е термин, който се използва Android,
и това е начин да се каже, е допълнителни данни, които не могат да бъдат от един много сложен тип данни,
но определено можем да включват булеви или низове или интеджър.
Такива неща.
>> Чувствайте се свободни да попитам за някоя от тези квалификации тук,
обществеността, окончателен, статично.
Public е важна.
Това означава, че ние можем да достъп до тази променлива от други файлове с изходен код
като например, когато ние създаваме една нова дейност.
Ние да позоваване на низ в този файл.
Ако това е лично, това означава, че е ограничен до това лице файл тук.
Но ние ще наричаме това нещо като допълнително съобщение.
Сега сме направили тази функция и ако щракнете върху бутона, тази функция ще се нарича.
Но ние не сме направили нищо, очевидно, с функцията.
Това, което искаме да направим, е да се създаде една нова дейност,
дейността, която действително ще бъде пуснат.
В Eclipse можем да кажем, нов, Android дейност, празно дейност.
Ние можем да му се даде име.
Нека го наречем нашия резултат активност.
И тогава тази йерархична областта майка е начин на определяне
как дейности са свързани един с друг.
Защото това ще бъде стартиран от друга дейност
ние трябва да се уточни, че тя е майка основна дейност.
>> И аз можех да кликне върху следващото поле там, които биха ни каза,
някои допълнителни полета, които също така е, включително,
но хубавото ADT, отново, е, че ако аз превъртете надолу тук
в манифеста не забравяйте, че всичко това наистина е включена по подразбиране
когато първоначално е създаден по проекта,
и сега, защото ние използвахме този създадете нова дейност, а не само
добавяне на нашата собствена клас файл, защото минахме през тяхната GUI за този начин
тя вече е добавен всичко това с Манифест за нас,
което просто означава, че сега на операционната система няма да се оплакват
когато се опитваме да започне тази дейност.
И също така, разбира се, даде етикет, който също се появява в низове.
Той прави много неща на гърба си край за нас.
Както и да е, сега, когато имаме този резултат дейност, както и,
действителната сорс в папката източник,
и можете да видите-накратко да засегна този-
защото ни разказа за тази йерархична майка
я даде тази област android.r.ide.home в тази onOption избрания нещо.
>> Това, което основно се казва, е, че има меню бутона сега
че в горния ляв ъгъл на екрана
ако се върна към PowerPoint, където за първи път се говори за действие бар
поради йерархичната майка сега има малка стрелка тук
и това е кликва затова трябва да бъдем в състояние да-след като ние всъщност работи това приложение-
се върна, и това е начин за спестяване на нас малко код там.
Сега в рамките на този-и, изглежда, да се оплакват, че за момент.
Нека да коментирам това.
Сега, за да се действително взаимодействат с тези две дейности,
ние трябва да създадем намерение, което включва всички тези данни.
В SendMessage сега аз ще преминете през някои бита на код
и обясни, че като отида.
Намерение, както казах, е начин да се започне една дейност в друга.
Intent е тип. Ние създаваме променлива myIntent.
>> И това всъщност е един обект, който е защо трябва да се обадя на нов.
Това е обща Java използване там, което може да отнеме малко време за опознаване.
Това означава, че използваме на дейността или MainActivity клас,
и намерения по този начин отнема дейността, че ще от
и дейността, че ще, което ние наричаме ResultActivity,
и че е неговата собствена класа.
Включи това.
И тогава, както споменах и преди, ние дадохме, че ID в текстовото поле редактиране
и гледката текст, така че, за да се улови програмно
текста, който съществува в editText
ние използваме тази функция, наречена findViewByID,
което е подобно на нещо, което ще използвате, когато се опитвате да получите полета от DOM.
Може би Давид говори за това в лекцията.
Но това е само начин за получаване на тези, затова маркирам тези неща с тези области.
Id.editText1.
Той вече autocompleting за мен там.
>> И тогава ние също така ще включват-това editText сега, че ние имаме областта
в рамките на нашата програма, всичко, което направих беше основно findViewByID
можете да мислите за него като ни даде препратка към този editText.
Сега искаме да получите низ или съобщение
в рамките на този editText които можем да направим с помощта на-
може да ви хрумне editText като структура-
ние го наричаме обект в Java-с цял куп различни методи
или полета и атрибути, свързани с него.
Когато казвам editText. това ми дава възможност за достъп до
метод, като GetText, който ще получите като сегашният текст
в тази editText и след това преобразуване, които изрично
в низ, и ние сме спасени съобщението.
Сега ние всъщност искам да направя нещо с това намерение ние създадохме само преди няколко минути.
Аз ще поставя допълнително както се нарича в намерение,
което, отново, както казах и преди, това е начин за създаване на пакет
с цял куп данни.
Extra съобщение е нашият етикет така че ние знаем какво спестяване този под,
и тогава аз съм включително съобщението.
>> И тогава ние действително може да започне дейност чрез предоставяне на параметъра myIntent.
И това действително ще започне дейността, така и сега, тъй като аз обновен до Windows 8
може да има някои грешки, които се появяват за кратко, но се опитват да ги игнорира.
И това е Android емулатор.
Надяваме кода действително ще изскочи в един миг.
Отново, игнорирайки всички тези малки неща.
Но емулатор Android можете да подражават всички версии на операционната система
от най-ранните от тях, Donut, Gingerbread.
Това е Jelly Bean 4.1.
Но както виждате в момента, това е нещо, което направихме.
Това има MainActivity, на editText, бутона.
Мога да объркате нещо тук, но това, което пропускаме в този момент?
Направихме полето в MainActivity, че ще изпрати съобщението
с друга дейност, но на този етап
че не сме направили нищо в друга дейност, така че няма да получат нищо.
Нека да довърша тази част преди да преминем.
>> Този резултат дейност, това, което ще трябва да направите, е, че ще трябва да направите, е, че ние ще трябва да се-
ние също може да препращат към намерения в тази дейност,
така че ние трябва да улови намерение, което е много проста.
Това е функция, включени в дейността клас,
така че можем да кажем, "Get съобщението от намерения."
"Intent myIntent = getIntent."
И това ще даде на нас-сега myIntent е обект,
което е препратка към целта, която ни доведе до тази дейност.
MainActivity обажда и дава допълнителна информация, за да доведе до активност.
Резултати дейност сега гледа на намерението, че това доведе тук,
и ние можем да получите достъп до съобщение, което сме създали в другата,
getStringExtra, и това ще автоматичното попълване за мен.
И след това не забравяйте, начина, по който сложи етикет, че малко на данни
е, като му дава тази област тук, това обществено низ,
която е маркер за низ ние реално се включват.
>> Ако кажа MainActivity.Extra_Message
това е точно там, а това е нещо като името на параметъра
когато минахме код от контролера към шаблона,
когато бихме казали нещо стрелката заглавие.
Това е същото нещо като идеята там.
Сега, не забравяйте това.
Ние също имахме този автомобил е създаден или автоматично генериран код
Резултати дейност, която включва текста изглед в центъра
който казва здравей свят.
Ние може потенциално да направи това по-голям.
Да го направим първи.
Бихме могли да направим това плътност 40 независими пиксела.
Нека да видим, че е супер огромен. Това ще бъде наред.
И тогава, за да упоменете отделно показване на текст в нашия код
ние ще трябва да го даде ID,
и за да се направи това казваме @ + ID, което означава, че тя възлага ID.
Ако току-що каза @ ID ще приемем, че сте съотнасяне на ID, което вече съществува,
и нека наречем това ни resultTextView.
И забележи, че в XML няма нужда за точка и запетая или нещо подобно.
Всичко е в рамките на тези тагове.
Това е много подобен на HTML в много сетива.
>> Това отнема малко време за опознаване, но в крайна сметка вие ще се чувствате доста комфортно с него.
Да се ​​актуализира текста за нас резултат текст,
и както направихме, когато бяхме се, че текстът редактиране поле в друго нашата дейност
в MainActivity тук ние също ще също-
ще намерим изглед от ID.
И R, в случай, че не се споменава това и преди, е споменаването на ресурси папка,
и след това ID е препратка към всичко в папката ресурси, всички документи за самоличност,
и resultTextView.
И както преди, resultTextView е обект,
което означава, че има всички тези свойства, свързани с него.
Когато използваме GetText за редактиране на текст за това текстово поле или вижте текста
всъщност може да използвате setText,
и тогава ние вече намери съобщение от намерение,
така мога да кажа, съобщение, и това действително ще зададете съобщение.
>> Това, отделете малко време да започне, а след това можем да видим, дали или не забие,
но някакви въпроси относно този процес, точно там, този вид взаимодействие?
В много отношения това е ясно.
Причината че минавам през нещо сравнително прост
е, отново, защото можеш да видиш на взаимодействието между оформление,
изходния код, как си модели неща
и може би се получи малко излагане на Java как работи там.
Ако аз всъщност объркате нещо тук, като Ohai, а след това щракнете върху бутона,
тя започва нова дейност, както и че текстът оглед казва Ohai.
Това е много проста, но да се надяваме, че след като пример
ти нещо да видим как това взаимодействие работи, и сега, че бъркотията на файлове
от лявата страна на всички тези проектни папки, да се надяваме, че знаете къде да гледам сега.
Това е вашия район изходния код.
>> Layout наистина е единственото нещо, което ще се справят с, докато не включват изображения
и drawables или каквото и ценности, които ще включват струни,
както споменахме, и след това стилове е нещо, което е нещо като CSS.
Адрес него, когато си искаш, но докато не се чувстват комфортно с добавяне на допълнително нюх
за кандидатурата Ви, че няма нужда да се притеснявате твърде много за това.
Само да приключи едно друго нещо, вие определено ще искате да включите-
Ако приемем, че искате да интегрирате готини функции и да си спестите някои допълнителни кодиране-
би било да се включат трети страни библиотеки.
Ето и малко момче Android с Шерлок Холмс шапка.
Това е действие, бар Шерлок библиотека,
което означава, че действията бар видяхте по-рано,
която сега е стандарт в Ice Cream Sandwich и Jelly Bean,
Ако искате да се въвеждат такива потребителски опит на потребителите на по-стари версии
и да се спаси от притеснявате за това как потребителят се ще да се движите
на по-стари версии, когато това нещо не е там, можете да включите тази библиотека
и след това просто трябва да се справка-а не на Android по подразбиране
библиотеки за действие бар, можете упоменете библиотека подкрепа.
>> Неща като Scoreloop, това е чудесно, ако ти започваш да се включват игра.
Тя ви позволява да добавите лидер дъски и постижения за игри.
AdMob е начин за поставяне реклами в своите приложения
В случай, че искате да направите малко пари от него.
Разбира се, има Facebook и Twitter за интегриране има
ако искате да споделяте неща, лесно, и така нататък.
Dropbox, също така, и Google Analytics е, че графиката търсите никой.
Това ще бъде много важно, ако искате да видите кой е взаимодействие
с приложението си или който и да е, как те си взаимодействат, и така нататък.
Google, по подразбиране, ви казва много статистически данни за това кой е инсталирал приложението си
и какви телефони имат, каква операционна система версии, които имат.
Но ако искате да видите кой е да го използвате на дневна база и как те го използват
тогава вие ще искате да включите някакъв вид система за проследяване подобно.
>> Когато сте готови да разпространявате приложението си
Не ми трябва да отиде в, че в твърде много дълбочина.
Кликнете върху линка тук, Google Пусни.
Той използва за да бъде на пазара Android.
Те пребоядисаха всичко с изпълнение на Google,
така че сега представя това.
Това е много прост.
Вие трябва да включва описание, някои снимки на екрани.
Както казах, няма процес на одобрение като IOS.
И къде да отида от тук?
Аз ви показах наистина прост пример.
Надяваме се, ако изглежда ужасно прост
тогава това е може би е добър знак.
Ако изобщо чувствах малко объркани или несигурни какво точно пишеше
че това също е добре, но от тук отидете Guides Google.
Това е страхотно място да започнете.
Тя ще ви говори чрез това, което те очакват от гледна точка на дизайна на приложенията,
как потребителите обикновено взаимодействат с него.
Това е много по-свободна форма от IOS, бих казал,
които тя изглежда като трапезни възгледи са-Не знам, това е тяхната прехрана.
Всичко е таблица, изглед плъзгане нагоре и надолу.
С Android те определено насърчават хората да го погледнете от
цял куп от различни гледни точки.
>> Когато включите комплекта за разработка на софтуер в тази ADT
по подразбиране имате цял куп примерни проекти в Android.
Точно тук, Android, Android примерни проекти.
Ако кликнете върху това, тогава може да изберете вариант, за който от пробата проекти прилагат.
Има цял куп различни неща тук.
То започва със съвместимостта действие бар,
акселерометър игра, архивиране и възстановяване, Bluetooth, строител жест.
JetBoy е извадка игра те ни дават, както е LunarLander.
Има цял куп примерни приложения тук,
и всички те са насочени към различни аспекти на API на Android,
и идеята е, че като направите вашата кандидатура
не е нужно да научите всичко за Android да се направи един апартамент Android.
Трябва само да се запознаят с частите, които вие всъщност ще използвате.
Вижте тези примерни библиотеки.
Чувствайте се свободни да копирате и поставите кода и да го приложи отново.
Това е голямо нещо да погледнете по-трудно код
и се опитват да го разберат, което, разбира се защо в CS50
ние често ви дават големи суми на програмния код.
Вижте някои от тях, ако ти започваш да се използват подобни библиотеки
и след това да го прилага по отношение на собствения си код.
И разбира се, има уроци.
Търсене за уроци.
Намерих много добри онлайн, което може да ви донесе до скорост
с това, което наистина са фрагменти и как можете да ги използвате.
>> Някои от тези нови неща дизайн, като фрагменти,
наистина не е нужно да се притеснявате за ако не сте прави
доста голяма в обхвата на проекта.
Те са неща, които Google се опитва постепенно да инча
Stackoverflow е разбира се ти приятел.
Надявам се, че сте продали малко на Android,
осъзнават, че е много по-лесно да се подходи от гледна точка на само на кодиране език.
Java е бих казал, че много по-лесно да се разбере от Objective-C.
Android расте мисля много повече от IOS.
Искам да кажа, данните са там, освен това, което мисля.
Това ще бъде около за известно време,
и те са няколко години назад по отношение на тяхното проектиране цикли,
така че това е нещо разбираемо, че те все още работим по някои от тях
последователност въпроси, като това действие барът е нещо ново за тях все още,
сортиране на създаване подобен на потребителите с всичките им приложения.
Надяваме се, може да продължи напред и да се отворят Eclipse
и да направите свои собствени приложения Android.
>> Дали някой има някакви въпроси, преди да приключи всичко?
Мога да ви кажа, че отговорът е 42.
Е, щастлив кодиране на всички, и на добър час.
[CS50.TV]