>> Фрэд Widjaja: Добра.
Прывітанне, усім.
Дзякуй вітаюцца далучыцца да мяне на гэтым семінары.
Такім чынам, сёння мы будзем казаць пра Як распрацоўваць прыкладання для Android,
і, у прыватнасці, мы збіраемся быць з дапамогай Android Студыя ў парадку
развіваць нашы прыкладання.
>> Такім чынам, як вы ўсё маглі ведаць.
Android выкарыстоўвае Java, і таму мы будзем перажывае кароткага ўвядзення
на самай Java.
Так што я ведаю, што многія з вас толькі вопыт праграмавання на С. Так,
гэта цалкам нармальна, і гэта таму што Java вельмі, вельмі
аналагічна C, з невялікімі адрозненнямі.
>> Такім чынам, тыпы ў Java з'яўляюцца фіксуецца ў байтах.
Такім чынам, у З, то шорты і прагне, і яны
адрозніваюцца колькасцю бітаў ад машыны да машыны.
У Java, гэта ўжо не ўсталяваны ў якасці стандарту.
Так байты маюць восем біт, шорты ёсць 16 біта, і гэтак далей і гэтак далей.
У нас таксама ёсць сімвалы, лагічныя, а таксама плавае і парным разрадзе.
Так як вы праграмаваць на Java, гэта вельмі падобна.
Так, напрыклад, у нас ёсць для завес і ў той час завес,
і калі і астатняе справаздачнасць сапраўды гэтак жа, як вы маглі б зрабіць у C,
>> Добра, так Асаблівасць Java з'яўляецца тое, што аб'ектна-арыентаваны.
Цяпер, што такое аб'екты?
Так што, калі вы паглядзіце на рэчы вакол вас, вы будзеце
заўважыць, што кожны аб'екта рэальнага свету мае дзве агульныя характарыстыкі.
І гэта ў тым, што яны маюць стан і ў іх ёсць нейкія паводзін.
>> Так, напрыклад, сабак б дзяржавы, якія
: Імя, колер, парода, можа быць, калі сабака галодная ці не.
А некаторыя мадэлі паводзін, што сабакі будуць мець будзе брахаць або віляючы хвастом,
або здабывання мяч.
Такім чынам, мы можам таксама ўжыць гэта да неадушаўлёныя прадметы.
Так, напрыклад, аўтамабілі, яны маюць мадэль, год выпуску, максімальная хуткасць,
і гэтак далей, і гэтак далей.
І ў іх ёсць некаторы паводзіны.
Напрыклад, паскарэнне або тармажэнні, або збіраецца ў зваротным кірунку.
>> Так аб'екты Java спробаў мадэлявання гэта пры наяўнасці поля і метады.
Так поля дзяржавы, якія аб'ект Java можа мець,
у той час як метад будзе прадстаўляць паводзіны, якое аб'ект Java будзе мець.
Таму, калі я кажу метады і палі, я сапраўды
проста азначаць, зменныя і функцыі.
Яны сапраўды гэтак жа, за выключэннем таго, што яны прымяняюцца да пэўнага аб'екта.
>> Такім чынам, пераходзім да класаў.
Класы Java падобныя Чарцяжы для аб'екта.
Яны кажуць вам, што метады ён мае тое, што ён мае поля,
і нават тут, у нас ёсць што-то званыя мадыфікатары доступу, якія
мы атрымаем ў той час.
Такім чынам, каб абвясціць клас Java, гэта вельмі падобныя па сінтаксісе да C структуры.
>> Тут мы пачынаем з аўтамабіля класа грамадскасці, а то ў нас якая адкрывае фігурная дужка, а затым
некаторы колькасць палёў, якія Вы хочаце, каб аб'ект ёсць.
А потым вось у нас ёсць некаторыя метады, і мы таксама маем канструктар аб'екта.
Цяпер тое, што гэты канструктар аб'екта робіць гэта кажа аб'екту,
ОК, я хачу, каб ініцыялізаваць гэта аб'ект нейкага поля.
>> Дык вось, мы хочам, каб кожны аўтамабіль мець мадэль і год.
Таму ў нас ёсць канструктар толькі спецыяльна
для мадэлі і года, і Гэта дазволіць стварыць мадэльнае поле
да пэўнага значэння, і поле годзе.
>> Зараз аб доступе мадыфікатары я меў на ўвазе.
Тут мы маем грамадскасці і прыватныя мадыфікатары доступу.
Такім чынам, вы можаце думаць пра гэта як RWX ў вашых каталогах.
Такім чынам, яны дазваляюць пэўных людзей чытаць, і мець доступ
па гэтых палях і метадаў.
>> Так што, калі я скажу, што мадэль і год і хуткасць з'яўляюцца прыватнымі,
гэта азначае, што іншыя аб'екты не могуць спрабаваць атрымаць доступ да поля гэтага аб'екта
Ёсць прыватныя.
Але калі я ўсталяваў доступ Мадыфікатар быць публічным,
Зараз гэта азначае, што іншыя аб'екты могуць свабодна звяртацца і нават
выкарыстоўвалі метады, якія вызначаны тут.
>> Так што гэта асноўны Аб'ект аўтамабіляў, што ў мяне ёсць.
У нас ёсць паскорыць, пераломіць, і метады getSpeed.
Да гэтага моманту, гэта ўсё ясна Аб'екты Java і як іх аб'яўляць?
Крута, усё ў парадку.
Так што калі вы хочаце выкарыстоўваць Java аб'ект у самой праграме,
то мы можам выкарыстоўваць гэта Новы канструктар аўтамабіляў.
Дык вось, мы кажам, што мы хочам аб'явіць Новы аб'ект, які мае тып аўтамабіля.
І тут гэта прымяненне мадэль і год выпуску,
якія мы вызначылі ў гэты аб'ект прама тут.
>> Так што гэта яшчэ адзін аб'екта, калі вы заўважылі.
Гэта клас для Сама галоўная праграма.
І ў нас ёсць гэтая PSVM або грамадскага статычнай сілы асноўных, функцыі,
і яго адпраўной кропкай вашай праграмы,
аналагічна асноўнай функцыя ў вашай праграме C.
Тут мы можам атрымаць доступ і выкарыстоўваць функцыі аб'екта ў
выкарыстоўваючы кропку, а затым Імя функцыі абазначэння.
І мы можам нават пазначыць некаторыя аргументы або параметры
Для гэтай функцыі.
>> Такім чынам, пераходзім да ўспадкоўванні.
Так аб'ектамі рэальнага свету, можа адны і тыя ж характарыстыкі.
Так, напрыклад, існуе Розныя тыпы ровараў.
Напрыклад, горны ровар, Ровары гарадскія або тандэмную ровары.
Таму яны павінны гэта агульнае ўласцівасць, што ровар.
>> І так ровары могуць мець два колы і яны могуць мець ручку, можа быць, нават
задні ліхтар ці нешта падобнае.
Так Java дае нам гэта ўлада ўяўляюць аб'екты
якія маюць нейкі агульны характарыстыкі па спадчыне.
Цяпер, што ўспадкоўванне робіць, гэта праходзіць на палях і метады аб'екта
на даччыным аб'екце.
>> Так, напрыклад, калі ёсць аўтамабіль, і ён мае
стан які мае чатыры Колы і адзін руль,
то мы можам перадаць гэта на некаторыя розныя тыпы аўтамабіляў.
Напрыклад, у нас ёсць седан, спартыўны аўтамабіль, і пазадарожнік.
Зараз, гэтыя тры розных тыпы аўтамабіляў усё адно б
чатыры колы і адзін руль, але потым яны
можа мець пэўныя спецыяльныя характарыстыкі,
такіх як якая мае пяць месцаў і для седана, напрыклад.
>> Такім чынам, каб скарыстацца гэтай атрымання ў спадчыну функцыя, мы выкарыстоўваем гэта пашырае ключавое слова.
Так што памятаеце, назад да машыны запярэчыць, што я вызначыў раней.
Цяпер я вызначыць аб'ект седан.
Так што гэта аб'ект Седан будзе мець ж поля і функцыі або метады,
што аўтамабіль будзе мець.
Але тады, тут я паказваю некаторыя дадатковыя функцыі,
Напрыклад, мноства Колькасць пасажыраў
і колькасць пасажыраў атрымаць.
>> Тут вы таксама можаце заўважыць, што мы можам перавызначыць метады,
і гэта азначае, што мы проста замена паводзіны
дзейнічаць у некаторых выпадках па-рознаму.
Так, напрыклад, я хачу, каб ўсталяваць максімальную хуткасць для нашага аўтамабіля.
А для гэтага, я правяраю Ці гэта Хуткасць будзе ісці на максімальнай хуткасці.
А калі гэта не так, то я называю супер клас "паскорыць метад.
Так што гэта super.accelerate () званкі супер клас "паскорыць метад.
>> Нарэшце, мы збіраемся казаць аб інтэрфейсах.
Так інтэрфейсы спосаб толькі выкрыць некаторыя метады са знешнім светам.
Такім чынам, яны, як стол, Змест і вы
можаце думаць пра іх, як, як файлы C загаловак, проста
як метады з пустымі органаў, і яны вызначыць, які аб'ект або клас
павінен мець, або тое, што метады аб'ект або клас павінен мець.
>> Так, напрыклад, калі маюць інтэрфейс ровараў,
і мае тры розныя метады, а вось калі я рэалізаваць гэты інтэрфэйс,
то гэта азначае, што гэты ровар неабходна рэалізаваць тых жа трох
метады, якія я, вызначаныя ў інтэрфейсе.
>> Да гэтага моманту, любыя іншыя пытанні?
Добра, крута.
Так што гэта было вельмі кароткім і кароткае кіраўніцтва па Java.
Там гэта спосаб больш функцый і тэмы на Java, што вы можаце прайсці.
Напрыклад, існуе джынэрыкі, ёсць тыпы дадзеных,
Ёсць нават пералічэння і іншае.
Так што калі вы хочаце даведацца больш пра гэта, зрабіць наступныя спасылкі,
і яны будуць вучыць вас пра іх больш.
>> Такім чынам, давайце пяройдзем да Фактычнае мяса семінара,
і што на самой справе Android праграмавання.
Таму, перш чым мы на самай справе дабрацца да праграмавання,
Я хачу казаць пра якую-жаргону.
Так дзейнасць Спосаб Android, сказаць
гэта адзіны экран у дадатку.
>> Так, напрыклад, калі ў вас ёсць Gmail прыкладання, мы маем дзейнасць праглядаць электронную пошту.
І потым, калі вы націснеце упэўнены, электронная пошта, што
будзе паказаны яшчэ адзін дзейнасці, дзе гэта выгляд электроннай пошты дзейнасці.
І тады ў нас таксама ёсць складаць дзейнасць, або дзейнасць рэдагаваць паведамленні.
І так дзейнасць як правіла, толькі адзін экран
ў самым дадатку.
>> Цяпер, погляды кампаненты, якія ўваходзяць у да экрана, або самой дзейнасці.
Так яны прыцягваюць упэўнены, рэч у вашым экране.
Так, напрыклад, гэта можа быць тэкставае поле, гэта можа быць этыкетка,
гэта можа быць акно праверкі.
Так што шмат розных тыпаў поглядаў.
Так што цяпер у нас ёсць намеры, і гэта паведамленне
які перадаецца на іншы від дзейнасці.
І яны ўтрымліваюць інфармацыю аб тым, тое, што вы хочаце гэтая дзейнасць для выканання.
Нарэшце, у нас ёсць Файл маніфесту, і што
з'яўляецца XML-файл, які дае тэлефон Уся інфармацыя аб вашым дадатку.
Дык вось ўключае ў сябе версію, а мерапрыемствы, якія вы будзеце мець.
>> Такім чынам, давайце пачнем.
Такім чынам, мы збіраемся, каб быць з дапамогай Android Studio.
Так што, калі вы, хлопцы, гэта ўжо усталяваны, не саромейцеся прытрымлівацца ўздоўж.
Мы пастараемся пачаць з нуля.
І таму я збіраюся паспрабаваць і стварыць новы праект.
І я збіраюся патэлефанаваць мой праект Android 101.
І тут мы ставім імя Праект у поле Імя прыкладання.
>> Дамен кампаніі, вы не сапраўды трэба турбавацца пра гэта.
Гэта проста, як Android ідэнтыфікуе дадатак.
Так у вас ёсць даменнае імя, вы можаце ўвесці у імя дамена ўнутры там вашым.
Але калі вы гэтага не зробіце, вы можаце адчуваць сябе бясплатна набраць у усё, што вы хочаце.
Дык вось, я проста набярыце ў frederickw.com.
>> І вось, нарэшце, я выбіраю, дзе Я хачу захаваць свой праект у.
І я збіраюся проста выбраць свой працоўны стол.
Такім чынам, карыстальнікі, Фрэдэрык Widjaja і працоўны стол.
ОК.
Тады націсніце кнопку Далей.
Тут я буду выбіраць Мінімальная API ў падтрымцы.
Такім чынам, у гэтым выпадку, я будзем выбіраць API 15.
І гэта нармальна, калі вы на самой справе проста выбраць 4,4, які з'яўляецца апошнім API.
Ці 5, на самай справе.
Але тады вы проста трэба турбавацца аб якія тэлефоны вы на самой справе, якія падтрымліваюць,
і якія тэлефоны вы арыентуецеся.
Націсніце кнопку Далей.
>> Такім чынам, мы прыйшлі да гэтага экранам, і мы проста
збіраецеся выкарыстоўваць стварыць дзейнасць праз гэта.
Так што я збіраюся націснуць прабел дзейнасць, а затым Далей.
Мы збіраемся называць яго галоўным дзейнасць, я думаю, што гэта добра.
Проста буду называць яго, прэс-Finish прама тут.
Дачакайцеся загрузкі, і мы ідзем.
>> Дык вось мы заўважаем, тры у розных папках.
У нас ёсць відавочнае тэчку які ўтрымлівае наш маніфест.
Калі вы адкрываеце яго, мы ўбачым наш пакет.
Або вызначае, як Android дадатак
а то ў нас гэта тэг прыкладання, якія
ўтрымлівае назву нашага прыкладання а таксама ў якасці значка для прыкладання.
>> Мы можам рэальна працаваць у гэтым Дадатак прамой.
Дык чаму б нам не паспрабаваць і зрабіць гэта?
Я збіраюся выкарыстоўваць Genymotion.
Калі вы прынеслі свой уласны тэлефон, вы можаце звязаць яго і запусціць яго, калі хочаце.
Але я проста хачу, каб выкарыстоўваць эмулятар, і я збіраюся пачаць у гэтым.
Ох.
Ну, я думаю, што гэта збіраецца заняць некаторы час,
так што я думаю, што мы проста атрымаць прама ў тлумачэнні аб гэтым падрабязней.
Так вось у нас ёсць каталог Java, або дзе вашыя зыходныя файлы ўтрымліваюцца.
Тут мы маем сябе асноўную дзейнасць.
Вы можаце бачыць, што гэта пашырае клас актыўнасці.
Такім чынам, наша асноўная дзейнасць экрана гэта будзе ў нашым дадатку.
А потым вось мы заўважаем, што колькасць функцый згенераваныя аўтаматычна для нас.
У нас ёсць функцыя OnCreate, і што будзе называцца whenever--
СТУДЕНТ: Вы не пярэчыце, што робіць тэкст больш?
Фрэд Widjaja: Так, вядома.
Я паспрабую, каб павялічыць памер шрыфта.
Думаю, што павінна быць добра.
Гэта добра?
>> СТУДЕНТ: Проста крыху вышэй, як 20 ці нешта.
>> Фрэд Widjaja: 20?
ОК.
Добра, усё ў парадку.
Так вось у нас OnCreate Метад, які б
выклікаецца, калі наша дзейнасць ствараецца ў [? паказаць?].
У нас ёсць onCreateOptionsMenu, і мы
бачыць, што ёсць на самой справе Дзеянне бар, а затым
мы можам дадаць некаторыя пункты меню на яе.
А потым вось у нас ёсць onOptionsItemSelected.
Так што гэта, як слухача падзей, так кожны раз, калі выбар у нашым бары дзеянняў
пстрыкнуць гэта функцыя будзе выклікана,
і ён будзе прыняты пэўны прадмет, што была націснутая.
>> Добра, я збіраюся see-- што не працуе добра.
Давайце паспрабуем пачаць.
О, Божа.
ОК.
Гэта выклікае заклапочанасць.
Такім чынам, у любым выпадку.
Тут мы маем макет для самой нашай дзейнасці.
Гэта наша асноўная дзейнасць, а тут мы заўважаем, што ёсць на панэлі дзеянняў.
А то ў нас гэты прывітанне Свет этыкеткі, і мы можам на самай справе
рэдагаваць тэкст прама тут.
Калі вы ідзяце і прагорткі да Hello World,
мы можам змяніць яго на тое, што мы хочам.
Напрыклад, гэта можа быць, Прывітанне там.
Сардэчна запрашаем.
І там мы ідзем, гэта мяняецца.
О, Божа.
Гэты стыль не працуе.
Добра, што гэта турбуе.
Добра, у любым выпадку, мы можам рухацца далей без гэтага.
Так што зараз, давайце паспрабуем зрабіць некаторыя сапраўды асноўныя рэчы.
І вось мы будзем мець этыкеткі, а затым мы
будзе мець тэкст view-- прабачце, ня тэкст гледжання,
мы збіраемся мець рэдагавання тэксту.
І гэта кампанент для ўводу і іншае.
Такім чынам, мы маем просты тэкст, а затым мы проста дадамо яго ў наш інтэрфейс.
>> Тут я хацеў бы таксама дадаць некаторы запас у верхняй часткі так, што ён выглядае лепш.
Такім чынам, мы збіраемся, каб перайсці да ўласцівасці, а затым у верхнім полі,
мы збіраемся дадаць у 20 ДПС.
Так што цяпер, ДПС проста адзінка вымярэння ў Android,
і яны стаяць за шчыльнасці незалежныя пікселяў.
Так што, як вы ведаеце, Android, ёсць шмат розных тыпаў экранаў
а затым яны павінны Розныя шчыльнасці экрана.
Дык вось, гэта проста будзе незалежная шчыльнасць пікселяў,
так што гэта будзе тое ж самае ва ўсіх экранах.
>> Пераход падоўжыць гэты рэдагаваць тэкст, і то я таксама збіраюся дадаць кнопку.
І гэта скажа ОК.
20 ДПС.
ОК.
Так што цяпер у нас ёсць тры розныя кампаненты.
І так мы можам звярнуцца да іх у нашым галоўным класе дзейнасці
гэта з дапамогай гэтага метаду называецца findViewByID.
Так што я збіраюся вызначыць некаторыя поля.
Такім чынам, мы маем на TextView, так скажам helloText.
І потым, калі вы карыстаецеся Android Studio, Вы можаце выкарыстоўваць кантэкстнае чарговыя,
ўвайсці ў сістэму.
І націсніце Імпарт класа аўтаматычна імпартаваць адпаведныя класы
што нам трэба.
А потым вось я іду, каб дадаць ідэнтыфікатар гэта TextView і назавіце яго text_hello.
Цяпер, калі мы вызначылі ID для гэтага TextView,
мы можам выкарыстоўваць гэта, каб звярнуцца да TextView, што мы толькі што вызначылі.
Так helloText роўна TextView findViewByID,
а затым мы паказваем ідэнтыфікатар, які мы хочам, што r.ID.text_hello.
>> Такім чынам, гэта вельмі падобна на JavaScript і JQuery, дзе мы можам на самай справе проста
ставяцца да пэўных элементам у макеце проста
з дапамогай ідэнтыфікатара, які мы паказалі.
Такім чынам, у цэлым, для доступу да пэўны аб'ект ці вызначанага поля
у нашым макеце, вы будзеце мець выкарыстоўваць гэты метад findViewByID.
І тады мы будзем рабіць тое ж самае рэчы для іншых двух элементаў.
Тут я збіраюся дадаць ID text_name.
Так.
Гэтак жа, як для гэтага.
Button_ok.
>> Цяпер тое, што я хачу, каб гэта зрабіць, гэта Калі мы націскаем на кнопку OK,
і мы ўводзіцца які-то імя ў тэкставае поле,
то гэта будзе абнаўляць гэта Этыкетка сказаць, прывітанне, імя, сардэчна запрашаем.
Такім чынам, вернемся ў нашым галоўным клас дзейнасці, мы
таксама збіраюся паспрабаваць і звярніцеся да тыя элементы, якія мы павінны знайсці.
>> Такім чынам, мы маем EditText nameText.
На жаль.
Калі ласка, увядзіце і альтэрнатыўны, клас імпарту.
А потым яшчэ і кнопку OK.
Акрамя таго, мы збіраемся зрабіць тое ж самае тут.
nameText роўна EditText findViewByID, r.ID.text_name.
А потым кнопку OK.
findViewByID, r.ID, а затым button_ok.
>> Такім чынам, цяпер у нас ёсць усе тры элементы, якія мы хочам звярнуцца да.
Так што цяпер я збіраюся прыкласці на кнопку слухача нашай кнопкі
для праслухоўвання клікаў карыстальнікаў.
Да гэтага мы выкарыстоўваем толькі setOnClickListener падзея.
Цяпер, вось гэта кажу, што мы павінны пазначыць setOnClickListener,
і вы можаце зрабіць гэта, проста маючы Новы onClickListener і націсніце Enter.
>> І тады ў вас ёсць ананімны клас або ананімны аб'ект.
І мы таксама маем гэтую OnClick Метад, і гэта ў асноўным
тое, што ён будзе называцца кожны раз, калі націснутая наш кнопкі.
>> Дык вось, я хачу, каб атрымаць імя, быў уведзены ў тэкставае поле спачатку так
Імя Радок роўна nameText.getText ().
Зноў жа, гэта, як Сінтаксіс Java для спасылкі
на функцыі ў межах аб'екта.
Так nameText.getText, а затым мы збіраецца пераўтварыць яго ў радок.
Цяпер у нас ёсць імя, быў уведзены карыстальнікам.
>> А потым мы збіраемся стварыць новы радок,
так што гэта будзе называцца прывітанне.
Я збіраюся сказаць, прывітанне, імя, сардэчна запрашаем.
І, нарэшце, вы хочаце абнавіць helloText.
Такім чынам, каб зрабіць гэта, мы проста выклікаем helloText.setText (прывітанне).
ОК.
На жаль.
>> Я збіраюся паспрабаваць і паўторна запусціць Genymotion адзін апошні раз і паглядзець, калі ён працуе.
Калі гэта не так, гэта цалкам нармальна.
ОК.
Так што я думаю, што гэта не працуе.
На самай справе, дазвольце мне паспрабаваць зрабіць гэта.
Можа быць гэта.
Genymotion.
ОК.
Добра.
Так, гэта працуе.
ОК.
Гэта было страшна.
ОК.
Я не хацеў гэтага рабіць.
Такім чынам, у нас ёсць гэты Android эмулятар.
Дазвольце мне выключыць.
Так у нас ёсць для Android эмулятара.
Такім чынам, мы збіраемся, каб паспрабаваць запусціць гэта дадатак, што мы зрабілі.
Проста буду націсніце кнопку прайгравання, і скажа, чакаючы АБР.
О, Божа.
Перазапуск.
Добра, я мяркую, што гэта да гэтага часу не працуе.
Добра, па дулю, то.
гэта будзе шкада.
Але давайце казаць, што мы хочам стварыць новы від дзейнасці,
і мы будзем мець карціна ў гэтай дзейнасці.
Каб зрабіць гэта, мы можам проста націсніце гэты файл, а затым Стварыць.
І то тут мы можам выбраць Дзейнасць, а затым Blank актыўнасць.
Тут мы збіраемся называць Можа быць, ён CatActivity.
>> ОК, так што зараз ён генеруе два файла.
Адна з іх называецца activity_cat, а другі
называецца catActivity, які з'яўляецца класам.
Такім чынам, давайце казаць, што мы хочам, каб дадаць малюнак кошкі прама тут.
Таму, калі вы зробіце гэта, мы збіраемся выкарыстоўваць клас ImageView.
Мы збіраемся, каб дадаць яго на тут.
А потым ўсталяваць поле на 20 DP.
>> І зараз мы збіраемся знайсці выява ката на інтэрнэце.
Такім чынам, давайце паглядзім.
Кат.
ОК.
Я думаю, гэта нармальна.
ОК.
Так што цяпер у нас ёсць малюнак.
Такім чынам, мы збіраемся дадаць гэта ў наш праект.
Можна зрабіць гэта па праву пстрычка і then-- мы
можа на самай справе проста адкрыць гэта, перайсці загрузак, прабачце, працоўны стол.
Пераход, каб паспрабаваць знайсці яго.
Кат.
Прама тут.
Я збіраюся скапіяваць яго ў маю тэчку.
Цяпер, гэта будзе задаваць мне некалькі варыянтаў.
Зараз, я проста хачу, каб гэта знаходзіцца ў тэчцы расцяжнай,
і гэта будзе для ўсіх розных дазволах экрана.
Акрамя таго, мы можам на самай справе проста выберыце
які Дазвол экрана хачу на гэтую фатаграфію, каб быць у.
Так збіраецеся выбраць палатно тэчку, націсніце кнопку ОК.
Проста буду называць яго cat.jpg.
>> Такім чынам, цяпер ён дадаецца ў нашай пункту гледжання малюнка.
мы збіраемся мець, каб выкарыстоўваць гэты крыніца прама тут,
і тады мы зможам выкарыстоўваць гэтую БІП-БІП кропку кнопку і абярыце малюнак кошкі.
ОК.
Так што цяпер я хачу зрабіць так, што гэта проста правільны памер.
Так што я збіраюся выбраць гэты адрэгуляваць глядзець варыянт абмяжоўвае прама тут,
і аўтаматычна ўсталёўвае яго да патрэбнага памеру.
ОК.
Цяпер, на самай справе пачаць у гэтым дзейнасць з нашага папярэдняга дзейнасці,
Вы будзеце мець, каб выкарыстоўваць тое, што называецца намер.
Так што давайце казаць, што я збіраюся дадаць яшчэ адзін Кнопка, якая запускае актыўнасць.
Я збіраюся дадаць яго тут, прама тут.
І тады гэта будзе ёсць тэкст, уключыце яго.
На жаль.
ОК.
>> Цяпер, як мы на самай справе адкрыць новы від дзейнасці ў рамках гэтай дзейнасці?
Гэтак жа справа, як і раней.
Нам трэба дадаць ідэнтыфікатар гэтага Кнопка, і называюць яго button_activate.
І тады ў нашай асноўнай дзейнасці, збіраецца каб гэтая новая кнопка activateButton.
А потым яшчэ і выкарыстоўваць Метад findViewByID.
activateButton роўная кнопку findViewByID r.ID.button_activate.
>> ОК.
І тады мы таксама збіраемся дадаць у onClickListener.
Новы onClickListener.
А потым мы збіраемся выкарыстоўваць Гэта тое, што называецца намерам.
Намер роўна новы Intent (гэта).
А потым назва дзейнасць, што мы хочам паказаць.
Дык вось у гэтым, мы збіраемся мець catActivity.class.
Выбачайце.
Мы збіраемся мець, каб пакажыце @ MainActivity.this.
Так што цяпер .this уласнасці мае на ўвазе да бягучага асобніку аб'екта
Сам.
ОК.
Да гэтага моманту, усе пытанні?
Усё добра?
Добра.
>> І потым, калі вы хочаце, каб пачаць дзейнасць, гэта даволі проста.
Мы проста патэлефанаваць Метад startActivity.
І тады мы праходзім ў намерах Аб'ект, які мы толькі што вызначылі.
На жаль, мы не магу паказаць гэта.
Я спадзяваўся, што мы можам рэальна працаваць гэта і паказаць яго па у семінары,
але, на жаль, няма.
О, Божа.
Разумею.
О, мы збіраемся, каб паспрабаваць забіць ATB.exe.
ОК.
Перазапуск.
Хіба гэта працуе?
О, добра.
Так што цяпер гэта на самай справе кампіляцыі.
Ох.
На жаль, ёсць прылады не працуе.
Давайце паспрабуем перазагрузіць эмулятар.
Ах, там мы ідзем.
Гэта аказалася.
ОК.
Так што я збіраюся пачаць мой дадатак на маім эмулятары Android.
І ў нас ёсць рэчы, што мы вызначылі толькі цяпер.
Такім чынам, мы маем этыкетку, выгляд Тэкст, тэкставае поле, а затым кнопку.
Так што я збіраюся ўваход маё імя прама тут,
і там мы ідзем, ён змяніў тэкст.
Так што, калі мы ўвядзем у Фу, з гэта збіраецца мяняць у Foo.
>> І калі я націскаю Активировть, што
мы звязаны на самай справе запусціць новы від дзейнасці, мы спадзяемся, што гэта будзе працаваць,
там мы ідзем.
Ён запускае новую дзейнасць.
Каб вярнуцца назад, мы можам націснуць Кнопка Назад прама тут.
Ці не.
О, там мы ідзем.
На жаль.
Гэта было дрэнна.
ОК.
>> Так што цяпер мы ўкаранілі некаторыя асноўныя рэчы ў Android,
мы можам паспрабаваць і зрабіць некаторыя больш складаныя рэчы.
Такім чынам, спачатку давайце паспрабуем перадаваць паведамленні ад аднаго віду дзейнасці да іншага.
Так што давайце казаць, што мы хочам прайсці па Назва ад асноўнай дзейнасці
Кату дзейнасці.
І імя будзе здабываецца з гэтай nameText.
>> Такім чынам, па-першае, мы збіраемся атрымаць імя прама тут.
Імя Радок роўна nameText.getText (). ToString ().
ОК.
І тады мы зможам выкарыстоўваць гэтую рэч называецца intent.putExtra (імя),
а затым ён на самай справе хоча ключ для гэтага дадатковага поля.
>> Так што я збіраюся, каб вызначыць новы ключ, мы будзем называць яго EXTRA_NAME.
Так што я збіраюся выкарыстоўваць гэта ключ, CatActivity.EXTRA_NAME,
а затым перадаць у самой назве.
>> ОК, так што зараз мы можам на самай справе атрымаць гэта ў новай CatActivity.
Каб зрабіць гэта, мы павінны выкарыстоўваць Мэта роўна метад getIntent.
Так што цяпер гэта будзе атрымаць намеру
быў выкарыстаны для выкліку гэтай новай дзейнасці.
Так што калі вы хочаце атрымаць радок што мы на самай справе паклаў ўнутры намерах,
Вы можаце выкарыстоўваць intent.getStringExtra а затым перадаць у тым жа ключы,
>> Добра, зараз давайце казаць, што мы вас Каб змяніць гэтае поле.
Змяніць гэта поле прама тут.
І давайце зробім шрыфт Памер гэтай галіне больш.
Такім чынам, давайце скажам, я хачу, каб гэта было 20 DP.
ОК.
І я збіраюся дадаць ID для гэтага TextView,
і я буду называць яго text_cat.
Выбачайце.
>> І яшчэ ў CatActivity, Тое ж самае справа, як раней.
Мы збіраемся вызначыць некаторыя поля.
Вось гэта будзе TextView catText.
А потым catText роўна TextView findViewByID, r.ID.text_cat.
ОК.
А потым назад сюды, я збіраецца ўсталяваць тэкставы права
пасля таго як мы атрымаць для гэта з намеры.
SetText (імя).
>> Такім чынам, давайце паспрабуем гэта.
Націсніце на кнопку прайгравання.
Я збіраюся выкарыстоўваць той жа прылада.
Вярнуцца ў тут.
Так што давайце казаць, што я не input-- калі мы не паказваем любое імя,
давайце паглядзім, што адбываецца.
Так што цяпер няма нічога, што з'яўляецца.
Такім чынам мы ідзем назад і ўваход наша імя, гэта проста будзе сказаць Фрэд.
Так што мы можам на самай справе перадачы паведамленняў ад аднаго віду дзейнасці да іншага.
ОК.
>> Так што куча іншых поглядаў што вы можаце выкарыстоўваць у Android.
Так што цяпер у нас ёсць прагрэс бараў, у нас ёсць прадстаўлення спісу, у нас ёсць кнопкі-перамыкачы,
і калі вы сапраўды хацелі, каб даведацца больш аб тым,
Вы можаце фактычна наведаць гэтыя вэб-старонак.
Яны ўтрымліваюць шмат розных рэсурсаў.
Так, напрыклад, у API накіроўваць прама тут на самай справе
дае вам некаторыя прыклады кода для некаторыя асаблівасці ў Android бібліятэцы.
>> І яшчэ некалькі падручнікаў я знайшоў карысным пры навучанні Android.
Гэта само па сабе афіцыйны падручнік, а таксама гэта іншы падручнік прама тут.
І, нарэшце, вы можаце на самой справе выкарыстоўваць розныя бібліятэкі
для вашага Android прыкладання.
Зараз, гэтыя на самай справе падоўжыць функцыянальнасць вашага прыкладання
без сапраўды напісаць шмат кода.
Недахопам з'яўляецца, Вядома, што вы на самай справе
павінны навучыцца бібліятэкам сябе.
>> Так, напрыклад, калі вы хочаце зрабіць Выкарыстанне тэхналогіі хмарных Dropbox,
то вы можаце выкарыстоўваць API Dropbox.
Падобныя з API Facebook.
А потым там на самай справе мала розныя іншыя розныя бібліятэкі
што вы можаце выкарыстоўваць.
Калі вы спрабуеце атрымаць, як, JSON з вызначанага вэб-сайта,
то я думаю, Google JSON Бібліятэка будзе даволі карысна.
Так што цяпер, што ператварае JSON фарматаваны тэкст у аб'ект Java,
і наадварот.
>> А тут яшчэ па пераабсталяванні і Пікаса.
І гэта, калі вы хочаце, каб use-- гэта таму што калі вы выкарыстоўваеце API спакою.
І Пікаса, калі вы выкарыстоўваеце выявы для вашага Android прыкладання.
Добра.
Вялікі дзякуй, і атрымлівайце задавальненне кадаваньне.