1 00:00:00,000 --> 00:00:09,620 2 00:00:09,620 --> 00:00:11,550 >> FRED Widjaja: Wszystko w porządku. 3 00:00:11,550 --> 00:00:12,600 Cześć wszystkim. 4 00:00:12,600 --> 00:00:19,450 Dziękuję za powitanie przyłączenie się do mnie w tym seminarium. 5 00:00:19,450 --> 00:00:23,130 Więc dzisiaj będziemy mówić o jak tworzyć aplikacje dla Androida, 6 00:00:23,130 --> 00:00:26,870 aw szczególności, będziemy za pomocą Android Studio w porządku 7 00:00:26,870 --> 00:00:29,490 rozwijać nasze aplikacje. 8 00:00:29,490 --> 00:00:32,150 >> Więc jak można wszystko wiemy. 9 00:00:32,150 --> 00:00:36,750 Android używa języka Java, i tak będziemy przechodzi krótkie wprowadzenie 10 00:00:36,750 --> 00:00:39,860 na samej Javie. 11 00:00:39,860 --> 00:00:45,830 Tak wiem, że wielu z was tylko Programowanie doświadczenie w C tak, 12 00:00:45,830 --> 00:00:48,760 to jest całkowicie w porządku, a to ponieważ Java jest bardzo, bardzo 13 00:00:48,760 --> 00:00:53,750 podobny do C, z małymi różnicami. 14 00:00:53,750 --> 00:01:00,040 >> Więc typy w Javie są ustalona ilość bajtów. 15 00:01:00,040 --> 00:01:04,290 Więc w C, mamy szorty i tęskni, a oni 16 00:01:04,290 --> 00:01:07,880 różne liczby bitów od maszyny do maszyny. 17 00:01:07,880 --> 00:01:10,990 W Javie, to już ustawiony jako standard. 18 00:01:10,990 --> 00:01:16,320 Więc bajtów ma osiem bitów, szorty ma 16 bitów, i tak dalej i tak dalej. 19 00:01:16,320 --> 00:01:22,780 Mamy też znaków, wartości logicznych, a także pływaki oraz dwuosobowe. 20 00:01:22,780 --> 00:01:27,150 Więc tak, jak programować w Java jest bardzo podobna. 21 00:01:27,150 --> 00:01:30,150 Tak na przykład, mamy pętli, a while, 22 00:01:30,150 --> 00:01:39,090 a jeśli i else są dokładnie tak samo jak byś zrobił w C. 23 00:01:39,090 --> 00:01:45,390 >> W porządku, więc szczególnych rzeczą Java jest to, że jest zorientowana obiektowo. 24 00:01:45,390 --> 00:01:46,560 Teraz, jakie są cele? 25 00:01:46,560 --> 00:01:49,220 Więc jeśli spojrzeć na rzeczy wokół ciebie, będziesz 26 00:01:49,220 --> 00:01:54,540 zauważyć, że każdy obiekt świata rzeczywistego ma dwie wspólne cechy. 27 00:01:54,540 --> 00:01:59,100 I to jest to, że stan i mają jakieś zachowanie. 28 00:01:59,100 --> 00:02:02,510 >> Tak na przykład, psy państwa, które miałoby 29 00:02:02,510 --> 00:02:07,360 są nazwa, kolor, rasy, może jeśli pies jest głodny, czy nie. 30 00:02:07,360 --> 00:02:12,490 A niektóre zachowania, które psy mają będzie szczekał, albo machając ogonem, 31 00:02:12,490 --> 00:02:14,340 lub pobierania piłkę. 32 00:02:14,340 --> 00:02:18,120 Więc możemy także zastosować to do obiektów nieożywionych. 33 00:02:18,120 --> 00:02:23,130 Tak na przykład, samochody, mają model, rok produkcji, maksymalna prędkość, 34 00:02:23,130 --> 00:02:25,500 i tak dalej, i tak dalej. 35 00:02:25,500 --> 00:02:27,450 I oni mają jakiś problem. 36 00:02:27,450 --> 00:02:33,050 Na przykład, przyspieszenie lub hamowania, lub będzie w odwrotnej kolejności. 37 00:02:33,050 --> 00:02:38,910 >> Więc obiektów Javy próbę modelowania Ten poprzez pola i metody. 38 00:02:38,910 --> 00:02:45,050 Więc pola są państwa, które Obiekt Java może mieć, 39 00:02:45,050 --> 00:02:51,440 podczas gdy metoda stanowiłoby zachowanie, które obiekt Java miałby. 40 00:02:51,440 --> 00:02:53,770 Więc kiedy mówię metody i pola, naprawdę 41 00:02:53,770 --> 00:02:56,470 oznacza po prostu zmienne i funkcje. 42 00:02:56,470 --> 00:03:02,120 Są one dokładnie takie same, za wyjątkiem że odnoszą się one do pewnego obiektu. 43 00:03:02,120 --> 00:03:04,880 >> OK, więc przeniósł się do klas. 44 00:03:04,880 --> 00:03:08,950 Klas Java są jak plany dla obiektu. 45 00:03:08,950 --> 00:03:12,270 Mówią ci, co metody ma, co pól ma, 46 00:03:12,270 --> 00:03:17,750 i nawet tutaj mamy coś zwane modyfikatory dostępu, który 47 00:03:17,750 --> 00:03:19,570 będzie dostać się na jakiś czas. 48 00:03:19,570 --> 00:03:26,930 Tak więc zadeklarować klasę Java, to Bardzo podobną składnię do C Struct. 49 00:03:26,930 --> 00:03:34,350 >> Tu zaczynają z klasy publicznej Car, a następnie mamy otwarty nawias, a następnie 50 00:03:34,350 --> 00:03:38,800 niektóre liczba pól chcesz obiektem mieć. 51 00:03:38,800 --> 00:03:44,650 I to tutaj mamy kilka metod, i mamy też konstruktora obiektu. 52 00:03:44,650 --> 00:03:48,690 Teraz co to konstruktora obiektu robi to mówi obiekt, 53 00:03:48,690 --> 00:03:53,370 OK, chcę, aby zainicjować tę obiekt z jakiegoś pola. 54 00:03:53,370 --> 00:03:58,310 >> Więc tutaj, chcemy każdy samochód mieć model i rok. 55 00:03:58,310 --> 00:04:01,480 Więc mamy konstruktora tylko specjalnie 56 00:04:01,480 --> 00:04:06,560 modelu i roku, oraz byłoby ustawić pole modelu 57 00:04:06,560 --> 00:04:12,510 do pewnej wartości, a Pole roku, jak również. 58 00:04:12,510 --> 00:04:16,019 >> Teraz o dostępie modyfikatory mi chodzi. 59 00:04:16,019 --> 00:04:21,560 Tutaj mamy publicznego i prywatne modyfikatory dostępu. 60 00:04:21,560 --> 00:04:27,730 Tak więc można myśleć o tym, jak RWX w katalogach. 61 00:04:27,730 --> 00:04:33,020 Więc pozwalają one pewnych ludzi czytać, i mieć dostęp 62 00:04:33,020 --> 00:04:35,150 tych pól i metod. 63 00:04:35,150 --> 00:04:39,470 >> Tak więc, jeśli powiem, że model i roku i prędkość są prywatne, 64 00:04:39,470 --> 00:04:46,360 oznacza to, że inne obiekty nie mogą próby uzyskania dostępu do pola tego obiektu 65 00:04:46,360 --> 00:04:47,760 nie są prywatne. 66 00:04:47,760 --> 00:04:52,280 Ale kiedy ustawić dostęp modyfikator być publiczne, 67 00:04:52,280 --> 00:04:57,630 teraz to oznacza, że ​​inne obiekty są wolne, aby uzyskać dostęp, a nawet 68 00:04:57,630 --> 00:05:00,770 stosowane metody, które są zdefiniowane tutaj. 69 00:05:00,770 --> 00:05:04,160 70 00:05:04,160 --> 00:05:09,210 >> Więc to jest podstawowa Obiekt samochodów, które mam. 71 00:05:09,210 --> 00:05:15,350 Musimy przyspieszyć, złamać, i metody getSpeed. 72 00:05:15,350 --> 00:05:20,180 W tym momencie, to każdy jasne Obiektów Java i jak je zadeklarować? 73 00:05:20,180 --> 00:05:22,710 Fajne, wszystko w porządku. 74 00:05:22,710 --> 00:05:29,120 Więc jeśli chcesz korzystać z Java obiekt w samym programie, 75 00:05:29,120 --> 00:05:35,720 to możemy to wykorzystać Nowy konstruktor samochodów. 76 00:05:35,720 --> 00:05:41,250 Więc tutaj mówimy chcemy zadeklarować Nowy obiekt, który jest typu samochodu. 77 00:05:41,250 --> 00:05:44,120 A tutaj to zastosowanie model i rok, 78 00:05:44,120 --> 00:05:51,110 które zostały określone w obiekt ten tutaj. 79 00:05:51,110 --> 00:05:55,150 >> Jest to więc kolejny sprzeciw, jeśli zauważy. 80 00:05:55,150 --> 00:05:59,820 Jest to klasa dla Sam program główny. 81 00:05:59,820 --> 00:06:04,660 I mamy to PSVM lub publicznej static void main, funkcja, 82 00:06:04,660 --> 00:06:08,200 i jego wyjścia punkt programu, 83 00:06:08,200 --> 00:06:12,320 podobnie do głównego Funkcja w programie C. 84 00:06:12,320 --> 00:06:16,870 Tutaj mamy dostęp i Korzystanie z funkcji obiektu 85 00:06:16,870 --> 00:06:21,480 za pomocą kropki, a następnie nazwa funkcji notacji. 86 00:06:21,480 --> 00:06:26,130 I możemy nawet określić niektóre argumenty lub parametry 87 00:06:26,130 --> 00:06:28,260 dla tej funkcji. 88 00:06:28,260 --> 00:06:32,410 >> OK, więc teraz przeniósł się do dziedziczenia. 89 00:06:32,410 --> 00:06:37,670 Więc obiekty świata rzeczywistego mogą mają te same cechy. 90 00:06:37,670 --> 00:06:42,490 Tak na przykład, tam różne rodzaje rowerów. 91 00:06:42,490 --> 00:06:47,280 Na przykład, rowerów górskich, Rowery miejskie lub rowery tandem. 92 00:06:47,280 --> 00:06:50,320 Więc mają ten wspólny cechą jest rower. 93 00:06:50,320 --> 00:06:55,740 >> I tak rowery mogą mieć dwa koła i mogą one mieć kierownicę, może nawet 94 00:06:55,740 --> 00:06:58,750 Światło ogon lub coś w tym stylu. 95 00:06:58,750 --> 00:07:04,930 Tak Java daje nam to uprawnienie do reprezentowania obiektów 96 00:07:04,930 --> 00:07:10,170 które mają pewne wspólne Charakterystyka poprzez dziedziczenie. 97 00:07:10,170 --> 00:07:18,370 Teraz, co dziedziczenie robi, to jest przechodzi na pól i metod obiektu, 98 00:07:18,370 --> 00:07:20,920 na obiekt podrzędny. 99 00:07:20,920 --> 00:07:24,080 >> Tak na przykład, jeśli masz samochodu, a to ma 100 00:07:24,080 --> 00:07:28,570 stan posiadania czterech Koła i jedna kierownica, 101 00:07:28,570 --> 00:07:31,120 wtedy możemy przekazać je pewne typy samochodów. 102 00:07:31,120 --> 00:07:35,470 Na przykład, mamy sedan, samochody sportowe i SUV. 103 00:07:35,470 --> 00:07:38,940 Teraz, te trzy różne typy samochodów będzie nadal 104 00:07:38,940 --> 00:07:42,050 mają cztery koła i jeden kierownica, ale potem 105 00:07:42,050 --> 00:07:43,900 mogą mieć pewność, cechy szczególne, 106 00:07:43,900 --> 00:07:49,980 takie jak mające pięć miejsc i do limuzyny, na przykład. 107 00:07:49,980 --> 00:07:58,510 >> Tak, aby skorzystać z tej dziedziczenia funkcja, używamy tego słowa kluczowego extends. 108 00:07:58,510 --> 00:08:04,570 Więc pamiętam z powrotem do samochodu obiekt, który zdefiniowałem wcześniej. 109 00:08:04,570 --> 00:08:06,730 Teraz zdefiniować obiekt Sedan. 110 00:08:06,730 --> 00:08:09,930 111 00:08:09,930 --> 00:08:17,850 Więc ten obiekt Sedan miałaby same pola i funkcje lub metody, 112 00:08:17,850 --> 00:08:19,660 że samochód będzie miał. 113 00:08:19,660 --> 00:08:24,830 Ale potem, tu podać pewne dodatkowe funkcje, 114 00:08:24,830 --> 00:08:26,830 na przykład, zestaw Liczba pasażerów 115 00:08:26,830 --> 00:08:29,150 i uzyskać liczbę pasażerów. 116 00:08:29,150 --> 00:08:32,000 >> Tutaj, można zauważyć, że możemy zastąpić metod, 117 00:08:32,000 --> 00:08:34,840 a to oznacza, że ​​jesteśmy po prostu zastąpienie zachowanie 118 00:08:34,840 --> 00:08:38,549 by inaczej działać w niektórych przypadkach. 119 00:08:38,549 --> 00:08:42,710 Tak więc, na przykład, chcę ustawić maksymalną prędkość dla naszego samochodu. 120 00:08:42,710 --> 00:08:49,840 A do tego, sprawdzić, czy prędkość pójdzie na max prędkości. 121 00:08:49,840 --> 00:08:54,180 A jeśli nie, to ja nazywam Super klasa "przyspieszyć metody. 122 00:08:54,180 --> 00:09:00,350 Więc to jest super.accelerate () zwraca Super klasa "przyspieszyć metody. 123 00:09:00,350 --> 00:09:05,390 124 00:09:05,390 --> 00:09:09,940 >> Wreszcie będziemy mówić o interfejsach. 125 00:09:09,940 --> 00:09:18,090 Więc interfejsy są sposobem tylko wystawiać niektóre metody do świata zewnętrznego. 126 00:09:18,090 --> 00:09:19,980 Więc oni są jak stół treści, a ty 127 00:09:19,980 --> 00:09:25,900 Można myśleć o nich jak jak pliki C nagłówka, po prostu 128 00:09:25,900 --> 00:09:33,680 podobne metody z pustych organów i ich określić, jaki obiekt lub klasę 129 00:09:33,680 --> 00:09:37,710 musi mieć, lub jakie metody obiekt lub klasa ma mieć. 130 00:09:37,710 --> 00:09:41,360 >> Tak na przykład, jeśli posiada interfejs rowerów, 131 00:09:41,360 --> 00:09:46,530 i ma trzy różne metody, i tutaj, jeśli wdrożyć ten interfejs, 132 00:09:46,530 --> 00:09:49,864 to oznacza, że ​​ten rower będzie musiał wdrożyć samo trzy 133 00:09:49,864 --> 00:09:51,530 Metody, że zdefiniowane w interfejsie. 134 00:09:51,530 --> 00:09:57,076 135 00:09:57,076 --> 00:10:01,390 >> Do tego momentu, wszystkie inne pytania? 136 00:10:01,390 --> 00:10:03,240 Wszystko w porządku, super. 137 00:10:03,240 --> 00:10:07,770 Więc to było bardzo krótkie i szybki tutorial Java. 138 00:10:07,770 --> 00:10:14,560 Jest sposób, więcej funkcji i tematy dotyczące Java, że ​​rzeczywiście można przejść. 139 00:10:14,560 --> 00:10:17,690 Na przykład, tam leki generyczne, tam typy danych, 140 00:10:17,690 --> 00:10:19,780 Jest nawet teksty stałe i takie tam. 141 00:10:19,780 --> 00:10:23,400 Tak więc, jeśli chcesz dowiedzieć się więcej o tym, czy następujące linki, 142 00:10:23,400 --> 00:10:25,840 a oni Ci nauczyć się o nich więcej. 143 00:10:25,840 --> 00:10:30,220 >> OK, więc, przejdźmy do Rzeczywista mięso z seminarium 144 00:10:30,220 --> 00:10:34,080 i faktycznie Programowanie Android. 145 00:10:34,080 --> 00:10:37,660 Więc zanim faktycznie dostać się do programowania, 146 00:10:37,660 --> 00:10:40,800 Chcę mówić o jakimś żargonem. 147 00:10:40,800 --> 00:10:46,980 Tak więc działalność Sposobem na powiedzenie Androida 148 00:10:46,980 --> 00:10:52,870 to pojedynczy ekran w aplikacji. 149 00:10:52,870 --> 00:11:01,100 >> Tak więc, na przykład, jeśli masz Gmaila app, mamy aktywność przeglądać e-maile. 150 00:11:01,100 --> 00:11:02,990 A następnie po kliknięciu pewne, e-mail, które 151 00:11:02,990 --> 00:11:08,850 pokaże inną czynność, w której to działalność Widok e-mail. 152 00:11:08,850 --> 00:11:14,740 A potem mamy także compose działalność lub działalność edytuj wiadomość. 153 00:11:14,740 --> 00:11:18,380 I tak działalność zwykle tylko jeden ekran 154 00:11:18,380 --> 00:11:21,800 w stosowania. 155 00:11:21,800 --> 00:11:28,410 >> Teraz, widoki są elementy, które sprawiają, w górę ekranu, lub samego działania. 156 00:11:28,410 --> 00:11:34,430 Więc wyciągnąć pewne rzecz w ekranie. 157 00:11:34,430 --> 00:11:37,840 Tak na przykład, może to być Pole tekstowe, może to być etykieta, 158 00:11:37,840 --> 00:11:40,090 może to być okno kontroli. 159 00:11:40,090 --> 00:11:44,110 Tak to jest wiele różnych rodzajów widoków. 160 00:11:44,110 --> 00:11:47,780 Więc teraz mamy zamiary, i to jest wiadomość 161 00:11:47,780 --> 00:11:51,070 które jest przekazywane do innej działalności. 162 00:11:51,070 --> 00:11:58,997 I zawierają one informacje o tym to, co chcesz, aby wykonać tę czynność. 163 00:11:58,997 --> 00:12:00,830 Wreszcie mamy Plik manifestu, i że 164 00:12:00,830 --> 00:12:07,900 to plik XML, który daje telefon wszystkie informacje o Twojej aplikacji. 165 00:12:07,900 --> 00:12:12,230 Więc to zawiera wersję, a działania, które trzeba będzie. 166 00:12:12,230 --> 00:12:17,480 >> OK, więc zacznijmy. 167 00:12:17,480 --> 00:12:21,460 Więc będziemy się używając Android Studio. 168 00:12:21,460 --> 00:12:26,960 Więc jeśli macie to już zainstalowane, nie krępuj się podążać. 169 00:12:26,960 --> 00:12:29,790 Postaramy i zacząć od początku. 170 00:12:29,790 --> 00:12:35,260 I tak mam zamiar spróbować i utworzyć nowy projekt. 171 00:12:35,260 --> 00:12:40,370 I mam zamiar zadzwonić mój projekt Android 101. 172 00:12:40,370 --> 00:12:45,770 I tu umieścić nazwę Projekt w polu Nazwa aplikacji. 173 00:12:45,770 --> 00:12:48,500 >> Firma domeny, nie musisz naprawdę trzeba się o to martwić. 174 00:12:48,500 --> 00:12:57,000 To jest po prostu, jak Android identyfikuje aplikację. 175 00:12:57,000 --> 00:13:01,350 Więc masz nazwę domeny, możesz wpisać w nazwie domeny wewnątrz tam. 176 00:13:01,350 --> 00:13:05,370 Ale jeśli tego nie zrobisz, możesz czuć się swobodnie wpisać cokolwiek chcesz. 177 00:13:05,370 --> 00:13:08,226 Więc po prostu wpisać frederickw.com. 178 00:13:08,226 --> 00:13:14,660 >> I w końcu, mogę wybrać, gdzie Chcę zapisać mój projekt w. 179 00:13:14,660 --> 00:13:21,080 I mam zamiar po prostu wybrać pulpit. 180 00:13:21,080 --> 00:13:28,670 Więc Użytkowników, Frederick Widjaja i pulpitu. 181 00:13:28,670 --> 00:13:31,340 OK. 182 00:13:31,340 --> 00:13:34,090 Następnie kliknij przycisk Dalej. 183 00:13:34,090 --> 00:13:39,630 Tutaj mam zamiar wybrać Minimalna API być obsługiwane. 184 00:13:39,630 --> 00:13:44,910 Więc w tym przypadku, jestem zamiar wybrać API 15. 185 00:13:44,910 --> 00:13:51,530 I to jest w porządku, jeśli faktycznie tak wybrać 4.4, które jest najnowszym API. 186 00:13:51,530 --> 00:13:53,560 Lub 5, w rzeczywistości. 187 00:13:53,560 --> 00:13:57,714 Ale wtedy po prostu trzeba się martwić które telefony jesteś naprawdę wspierające, 188 00:13:57,714 --> 00:13:59,130 i które telefony kierowania reklam. 189 00:13:59,130 --> 00:14:04,230 190 00:14:04,230 --> 00:14:06,260 Kliknij przycisk Dalej. 191 00:14:06,260 --> 00:14:09,780 >> OK, więc dochodzimy do tego Ekran, a my po prostu 192 00:14:09,780 --> 00:14:15,110 zamiar użyć stworzyć Działalność przez to. 193 00:14:15,110 --> 00:14:19,890 Więc mam zamiar kliknąć puste Aktywność a następnie Dalej. 194 00:14:19,890 --> 00:14:23,110 Mamy zamiar nazwać główną Aktywność, myślę, że to jest w porządku. 195 00:14:23,110 --> 00:14:27,800 Tylko będzie to nazwać, naciśnij przycisk Zakończ tutaj. 196 00:14:27,800 --> 00:14:36,250 Poczekaj aż się załaduje, a tam idziemy. 197 00:14:36,250 --> 00:14:40,600 >> Więc tutaj widzimy trzy różnych folderach. 198 00:14:40,600 --> 00:14:44,290 Mamy oczywisty folderu które zawiera nasz manifest. 199 00:14:44,290 --> 00:14:48,360 Jeśli go otworzysz, zobaczymy nasz pakiet. 200 00:14:48,360 --> 00:14:54,000 Lub jak Android identyfikuje aplikacja 201 00:14:54,000 --> 00:14:58,990 a potem mamy to tag aplikacji, które 202 00:14:58,990 --> 00:15:05,420 zawiera tytuł naszej aplikacji jak również ikoną aplikacji. 203 00:15:05,420 --> 00:15:08,050 204 00:15:08,050 --> 00:15:11,950 >> Możemy już tego prosta aplikacja. 205 00:15:11,950 --> 00:15:14,600 Więc dlaczego nie spróbować zrobić? 206 00:15:14,600 --> 00:15:16,310 Mam zamiar używać Genymotion. 207 00:15:16,310 --> 00:15:22,150 Jeśli przyniósł własnego telefonu, można połączyć go i uruchomić go, jeśli chcesz. 208 00:15:22,150 --> 00:15:31,213 Ale ja po prostu będzie używać emulator, i mam zamiar zacząć to. 209 00:15:31,213 --> 00:15:31,713 Ooh. 210 00:15:31,713 --> 00:15:41,030 211 00:15:41,030 --> 00:15:42,780 Więc myślę, że to zajmie to trochę czasu, 212 00:15:42,780 --> 00:15:49,580 tak, myślę, że po prostu od razu do wyjaśniania więcej na ten temat. 213 00:15:49,580 --> 00:15:56,200 Mamy tu więc katalog Java, lub gdzie pliki źródłowe są zawarte. 214 00:15:56,200 --> 00:16:02,500 Tutaj mamy samą działalność główną. 215 00:16:02,500 --> 00:16:07,120 Widać, że to rozszerza klasę aktywności. 216 00:16:07,120 --> 00:16:12,750 Tak więc naszym głównym przedmiotem działalności jest ekran będzie to w naszym wniosku. 217 00:16:12,750 --> 00:16:21,790 A potem tu zauważyć, że liczba funkcji są automatycznie generowane dla nas. 218 00:16:21,790 --> 00:16:26,037 Mamy funkcję OnCreate, i że będzie nazwany whenever-- 219 00:16:26,037 --> 00:16:27,870 STUDENT: Czy myśli czyniąc tekst większy? 220 00:16:27,870 --> 00:16:28,940 FRED Widjaja: OK, na pewno. 221 00:16:28,940 --> 00:16:38,380 222 00:16:38,380 --> 00:16:41,640 Postaram się zwiększyć rozmiar czcionki. 223 00:16:41,640 --> 00:17:03,570 224 00:17:03,570 --> 00:17:06,490 Myślę, że powinno być dobrze. 225 00:17:06,490 --> 00:17:07,020 To dobrze? 226 00:17:07,020 --> 00:17:09,480 >> UCZEŃ: Tylko trochę wyższa, jak 20 czy coś. 227 00:17:09,480 --> 00:17:09,829 >> FRED Widjaja: 20? 228 00:17:09,829 --> 00:17:10,329 OK. 229 00:17:10,329 --> 00:17:17,380 230 00:17:17,380 --> 00:17:20,990 OK, wszystko w porządku. 231 00:17:20,990 --> 00:17:24,740 Mamy tu więc onCreate Metoda, która będzie 232 00:17:24,740 --> 00:17:29,750 wywołana gdy nasza działalność zostanie utworzony w [? pokazać?]. 233 00:17:29,750 --> 00:17:32,100 Mamy onCreateOptionsMenu, a my 234 00:17:32,100 --> 00:17:38,370 zobaczyć, że rzeczywiście pasek akcji, a następnie 235 00:17:38,370 --> 00:17:42,920 możemy dodać pewne elementy menu z nią. 236 00:17:42,920 --> 00:17:45,710 A potem mamy tutaj onOptionsItemSelected. 237 00:17:45,710 --> 00:17:52,210 Tak to jest jak detektor zdarzenia, więc gdy opcja w naszym pasku akcji 238 00:17:52,210 --> 00:17:58,450 kliknięciu, to funkcja zostanie wywołana, 239 00:17:58,450 --> 00:18:01,270 i będzie przekazywana z pewien element, który został kliknięty. 240 00:18:01,270 --> 00:18:05,670 241 00:18:05,670 --> 00:18:11,576 >> OK, mam zamiar see-- że nie działa dobrze. 242 00:18:11,576 --> 00:18:13,028 Spróbujmy zacząć. 243 00:18:13,028 --> 00:18:16,416 244 00:18:16,416 --> 00:18:17,384 Och. 245 00:18:17,384 --> 00:18:21,740 246 00:18:21,740 --> 00:18:23,560 OK. 247 00:18:23,560 --> 00:18:24,320 To jest niepokojące. 248 00:18:24,320 --> 00:18:39,390 249 00:18:39,390 --> 00:18:41,500 OK, więc tak. 250 00:18:41,500 --> 00:18:44,940 Tutaj mamy układ dla naszego samej działalności. 251 00:18:44,940 --> 00:18:50,150 To jest nasza główna działalność, i tu zauważymy, że jest pasek akcji. 252 00:18:50,150 --> 00:18:54,460 A potem mamy to cześć Świat etykiet, a my możemy faktycznie 253 00:18:54,460 --> 00:18:57,830 Edycja tekstu tutaj. 254 00:18:57,830 --> 00:19:03,260 Jeśli pójdziesz i przewijania w dół do Hello World, 255 00:19:03,260 --> 00:19:06,360 możemy go zmienić na cokolwiek chcemy. 256 00:19:06,360 --> 00:19:10,070 Na przykład, może to być Hi. 257 00:19:10,070 --> 00:19:12,820 Witaj. 258 00:19:12,820 --> 00:19:14,345 A tam pójdziemy, to zmienia. 259 00:19:14,345 --> 00:19:20,380 260 00:19:20,380 --> 00:19:20,880 Och. 261 00:19:20,880 --> 00:19:24,310 262 00:19:24,310 --> 00:19:26,010 Ten styl nie działa. 263 00:19:26,010 --> 00:19:28,320 OK, to jest niepokojące. 264 00:19:28,320 --> 00:19:32,000 OK, tak, że może poruszać się bez tego. 265 00:19:32,000 --> 00:19:38,560 Więc teraz, spróbujmy zrobić kilka naprawdę podstawowe rzeczy. 266 00:19:38,560 --> 00:19:42,450 Więc będziemy mieli etykiety, a następnie jesteśmy 267 00:19:42,450 --> 00:19:47,005 będzie mieć tekst view-- Przepraszamy, nie widok tekstu, 268 00:19:47,005 --> 00:19:49,310 będziemy mieć tekst edycji. 269 00:19:49,310 --> 00:19:53,900 I to jest składnikiem do wpisania i takie tam. 270 00:19:53,900 --> 00:19:56,590 271 00:19:56,590 --> 00:20:07,240 Mamy więc zwykły tekst, a następnie po prostu dodaj go na nasz interfejs. 272 00:20:07,240 --> 00:20:13,520 >> Tutaj chcę również dodać pewien margines do góry tak, że wygląda ładniej. 273 00:20:13,520 --> 00:20:19,190 Tak więc mamy zamiar udać się do Właściwości, a następnie na górnym marginesie, 274 00:20:19,190 --> 00:20:23,120 mamy zamiar dodać w 20 PRR. 275 00:20:23,120 --> 00:20:28,170 Więc teraz, to tylko PRR jednostka miary w Androidzie, 276 00:20:28,170 --> 00:20:31,240 i stoją na gęstość niezależne pikseli. 277 00:20:31,240 --> 00:20:35,380 Tak więc, jak wiadomo, Android, nie różne typy ekranów 278 00:20:35,380 --> 00:20:38,410 a następnie mają różne gęstości ekranu. 279 00:20:38,410 --> 00:20:42,584 Więc to tylko będzie Gęstość niezależna pikseli, 280 00:20:42,584 --> 00:20:44,750 więc będzie to samo na wszystkich ekranach. 281 00:20:44,750 --> 00:20:49,046 282 00:20:49,046 --> 00:20:55,270 >> Zamierza rozszerzyć ten edycji tekstu, a następnie Mam zamiar dodać przycisk. 283 00:20:55,270 --> 00:21:02,900 284 00:21:02,900 --> 00:21:04,370 I to powie OK. 285 00:21:04,370 --> 00:21:09,639 286 00:21:09,639 --> 00:21:10,597 20 PRR. 287 00:21:10,597 --> 00:21:14,430 288 00:21:14,430 --> 00:21:16,630 OK. 289 00:21:16,630 --> 00:21:20,060 Więc teraz mamy trzy różne składniki. 290 00:21:20,060 --> 00:21:25,630 I w ten sposób możemy odnieść się do nich w naszej głównej klasie działalności 291 00:21:25,630 --> 00:21:29,620 jest za pomocą tej metody nazywa findViewByID. 292 00:21:29,620 --> 00:21:36,790 Więc idę do określenia niektórych pól. 293 00:21:36,790 --> 00:21:48,290 Mamy więc w TextView, tak powiedzmy helloText. 294 00:21:48,290 --> 00:21:55,400 295 00:21:55,400 --> 00:21:59,930 A potem, jeśli używasz systemu Android Studio, można użyć alternatywnego skrótu, 296 00:21:59,930 --> 00:22:01,120 wejść. 297 00:22:01,120 --> 00:22:07,400 I kliknij przycisk Importuj, aby automatycznie klasy zaimportować odpowiednie klasy 298 00:22:07,400 --> 00:22:07,950 że musimy. 299 00:22:07,950 --> 00:22:10,590 300 00:22:10,590 --> 00:22:20,800 I to tutaj mam zamiar dodać identyfikator to TextView i nazywają to text_hello. 301 00:22:20,800 --> 00:22:28,320 302 00:22:28,320 --> 00:22:32,050 Teraz, gdy mamy zdefiniowane ID tego TextView, 303 00:22:32,050 --> 00:22:38,020 Można to wykorzystać w odniesieniu do TextView że po prostu zdefiniowane. 304 00:22:38,020 --> 00:22:47,970 Więc helloText równa TextView findViewByID, 305 00:22:47,970 --> 00:22:52,630 a potem podać ID, które chcemy, co jest r.ID.text_hello. 306 00:22:52,630 --> 00:22:55,360 307 00:22:55,360 --> 00:22:59,560 >> Więc to jest bardzo podobne do JavaScript i jQuery, gdzie możemy właściwie tylko 308 00:22:59,560 --> 00:23:05,430 odnoszą się do niektórych elementów w układzie tylko 309 00:23:05,430 --> 00:23:08,330 przy użyciu identyfikatora, że ​​została wybrana. 310 00:23:08,330 --> 00:23:17,240 Ogólnie więc, aby uzyskać dostęp pewien przedmiot lub pewne pola 311 00:23:17,240 --> 00:23:22,030 w naszym układzie, będziesz mieć aby skorzystać z tej metody findViewByID. 312 00:23:22,030 --> 00:23:26,290 A potem mamy zamiar zrobić to samo rzeczy dla pozostałych dwóch elementów. 313 00:23:26,290 --> 00:23:29,570 314 00:23:29,570 --> 00:23:36,683 Tutaj mam zamiar dodaj text_name ID. 315 00:23:36,683 --> 00:23:40,760 316 00:23:40,760 --> 00:23:42,770 Tak. 317 00:23:42,770 --> 00:23:46,610 Jak również do tego. 318 00:23:46,610 --> 00:23:49,345 319 00:23:49,345 --> 00:23:49,845 Button_ok. 320 00:23:49,845 --> 00:23:53,570 321 00:23:53,570 --> 00:23:58,120 >> Teraz to, co chcę zrobić, to ten kiedy kliknij przycisk OK, 322 00:23:58,120 --> 00:24:02,110 i mamy wprowadzone jakieś nazwy w polu tekstowym, 323 00:24:02,110 --> 00:24:10,880 wtedy to będzie aktualizować ten Etykieta powiedzieć, cześć, nazwisko, mile widziane. 324 00:24:10,880 --> 00:24:16,520 Tak więc, z powrotem w głównym Klasa działalności, jesteśmy 325 00:24:16,520 --> 00:24:23,210 również zamiar spróbować odnieść się do te elementy, które musimy znaleźć. 326 00:24:23,210 --> 00:24:30,860 >> Więc mamy EditText nameText. 327 00:24:30,860 --> 00:24:33,615 328 00:24:33,615 --> 00:24:36,000 Ups. 329 00:24:36,000 --> 00:24:38,500 Wprowadź i jego zastępca, klasa importu. 330 00:24:38,500 --> 00:24:41,060 I wtedy też przycisk OK. 331 00:24:41,060 --> 00:24:45,660 332 00:24:45,660 --> 00:24:48,980 Podobnie, będziemy zrobić to samo tutaj. 333 00:24:48,980 --> 00:24:54,900 nameText równa EditText findViewByID, r.ID.text_name. 334 00:24:54,900 --> 00:25:01,430 335 00:25:01,430 --> 00:25:03,380 A następnie przycisk OK. 336 00:25:03,380 --> 00:25:10,180 337 00:25:10,180 --> 00:25:13,840 findViewByID, r.ID, a następnie button_ok. 338 00:25:13,840 --> 00:25:16,400 339 00:25:16,400 --> 00:25:22,240 >> OK, więc teraz mamy wszystkie trzy elementy, które chcemy odnieść się do. 340 00:25:22,240 --> 00:25:27,630 Więc teraz mam zamiar dołączyć na kliknij przycisk naszego słuchacza 341 00:25:27,630 --> 00:25:30,440 nasłuchiwać kliknięć użytkowników. 342 00:25:30,440 --> 00:25:35,780 Aby że wystarczy użyć Impreza setOnClickListener. 343 00:25:35,780 --> 00:25:38,860 344 00:25:38,860 --> 00:25:44,010 Teraz, tutaj, to mówiąc, musimy określić setOnClickListener, 345 00:25:44,010 --> 00:25:51,030 i można to zrobić tylko o konieczności Nowy onClickListener i naciśnij klawisz Enter. 346 00:25:51,030 --> 00:25:56,935 >> A potem trzeba to anonimowy klasy lub obiekt anonimowy. 347 00:25:56,935 --> 00:25:59,530 348 00:25:59,530 --> 00:26:02,790 I mamy też ten onClick Metoda, i to w zasadzie 349 00:26:02,790 --> 00:26:05,580 co to będzie się nazywać kiedy kliknął nasz przycisku. 350 00:26:05,580 --> 00:26:15,860 >> Więc, chcę, aby uzyskać nazwę, było wejście do pola tekstowego Pierwsza Tak 351 00:26:15,860 --> 00:26:17,700 Nazwa ciągu jest równy nameText.getText (). 352 00:26:17,700 --> 00:26:21,670 353 00:26:21,670 --> 00:26:26,400 Ponownie, jest to jak Składnia Java dla odnosząc 354 00:26:26,400 --> 00:26:29,130 do funkcji w obiekcie. 355 00:26:29,130 --> 00:26:36,290 Więc nameText.getText, a następnie jesteśmy będzie przekonwertować go na ciąg. 356 00:26:36,290 --> 00:26:41,090 Teraz mamy nazwę, wprowadzonej przez użytkownika. 357 00:26:41,090 --> 00:26:46,140 >> I wtedy będziemy wygenerować nowy ciąg, 358 00:26:46,140 --> 00:26:48,980 tak, to będzie się nazywać komentarzy. 359 00:26:48,980 --> 00:26:56,325 Mam zamiar powiedzieć, hi, nazwę, powitanie. 360 00:26:56,325 --> 00:27:00,810 361 00:27:00,810 --> 00:27:05,265 I wreszcie, chcesz zaktualizować helloText. 362 00:27:05,265 --> 00:27:09,190 Tak więc, aby to zrobić, po prostu zadzwoń helloText.setText (cześć). 363 00:27:09,190 --> 00:27:16,940 364 00:27:16,940 --> 00:27:17,440 OK. 365 00:27:17,440 --> 00:27:20,430 366 00:27:20,430 --> 00:27:22,770 Ups. 367 00:27:22,770 --> 00:27:30,645 >> Mam zamiar spróbować ponownie uruchomić Genymotion po raz ostatni i sprawdzić, czy to działa. 368 00:27:30,645 --> 00:27:35,160 369 00:27:35,160 --> 00:27:38,810 Jeśli nie, to całkowicie w porządku. 370 00:27:38,810 --> 00:27:39,730 OK. 371 00:27:39,730 --> 00:27:41,970 Więc myślę, że to nie działa. 372 00:27:41,970 --> 00:27:48,960 373 00:27:48,960 --> 00:27:52,955 Faktycznie, chciałbym spróbować to zrobić. 374 00:27:52,955 --> 00:27:56,188 375 00:27:56,188 --> 00:27:57,174 Może być to. 376 00:27:57,174 --> 00:28:05,548 377 00:28:05,548 --> 00:28:06,048 Genymotion. 378 00:28:06,048 --> 00:28:25,761 379 00:28:25,761 --> 00:28:26,261 OK. 380 00:28:26,261 --> 00:28:33,240 381 00:28:33,240 --> 00:28:33,980 Dobrze. 382 00:28:33,980 --> 00:28:35,170 Tak, to działa. 383 00:28:35,170 --> 00:28:38,020 OK. 384 00:28:38,020 --> 00:28:39,250 To było przerażające. 385 00:28:39,250 --> 00:28:40,890 OK. 386 00:28:40,890 --> 00:28:43,270 Nie chciałem tego zrobić. 387 00:28:43,270 --> 00:28:46,570 OK, więc mamy to Android emulatora. 388 00:28:46,570 --> 00:28:49,070 Pozwól mi to wyłączyć. 389 00:28:49,070 --> 00:28:52,290 390 00:28:52,290 --> 00:28:55,720 Więc mamy emulator systemu Android. 391 00:28:55,720 --> 00:28:59,750 Tak więc mamy zamiar spróbować uruchomienie tej aplikacji, które zrobiliśmy. 392 00:28:59,750 --> 00:29:04,100 Po prostu się do kliknij przycisk Odtwórz, i powie, czekając na adb. 393 00:29:04,100 --> 00:29:10,580 394 00:29:10,580 --> 00:29:12,780 Och, człowieku. 395 00:29:12,780 --> 00:29:13,280 Uruchom ponownie. 396 00:29:13,280 --> 00:29:25,419 397 00:29:25,419 --> 00:29:30,150 OK, myślę, że to nadal nie działa. 398 00:29:30,150 --> 00:29:31,280 OK, nieważne, a następnie. 399 00:29:31,280 --> 00:29:33,841 400 00:29:33,841 --> 00:29:38,150 to będzie szkoda. 401 00:29:38,150 --> 00:29:41,030 Ale tak, powiedzmy, że chcemy stworzyć aktywność, 402 00:29:41,030 --> 00:29:45,730 i będziemy mieć Obraz w tej działalności. 403 00:29:45,730 --> 00:29:52,120 Aby to zrobić, możemy po prostu kliknij tego pliku, a następnie Nowy. 404 00:29:52,120 --> 00:29:57,760 I to tutaj możemy wybrać Aktywny, a następnie Pusty aktywny. 405 00:29:57,760 --> 00:29:59,840 Tutaj mamy zamiar zadzwonić to może CatActivity. 406 00:29:59,840 --> 00:30:03,030 407 00:30:03,030 --> 00:30:06,537 >> OK, więc teraz to generuje dwa inne pliki. 408 00:30:06,537 --> 00:30:08,245 Jeden nazywa się activity_cat i inne 409 00:30:08,245 --> 00:30:10,630 nazywa catActivity, która jest klasą. 410 00:30:10,630 --> 00:30:13,250 411 00:30:13,250 --> 00:30:18,648 Więc powiedzmy, że chcemy, aby dodać zdjęcie kota tutaj. 412 00:30:18,648 --> 00:30:21,790 413 00:30:21,790 --> 00:30:25,220 Więc kiedy to zrobić, będziemy użycie klasy ImageView. 414 00:30:25,220 --> 00:30:28,076 415 00:30:28,076 --> 00:30:31,340 Jedziemy, aby dodać go na tutaj. 416 00:30:31,340 --> 00:30:35,350 A następnie ustaw margines na 20 DP. 417 00:30:35,350 --> 00:30:37,920 418 00:30:37,920 --> 00:30:41,240 >> A teraz mamy zamiar znaleźć Obraz kota na internecie. 419 00:30:41,240 --> 00:30:43,270 Zobaczmy więc. 420 00:30:43,270 --> 00:30:43,770 Kot. 421 00:30:43,770 --> 00:30:48,280 422 00:30:48,280 --> 00:30:50,270 OK. 423 00:30:50,270 --> 00:30:51,145 Myślę, że to jest w porządku. 424 00:30:51,145 --> 00:30:59,070 425 00:30:59,070 --> 00:31:01,032 OK. 426 00:31:01,032 --> 00:31:02,780 Więc teraz mamy nasz wizerunek. 427 00:31:02,780 --> 00:31:07,720 Tak więc mamy zamiar dodać że do naszego projektu. 428 00:31:07,720 --> 00:31:16,140 Można to zrobić przez prawo kliknięcie oraz then-- mamy 429 00:31:16,140 --> 00:31:25,965 rzeczywiście może po prostu otworzyć tego, Go do pobrania, przepraszam, pulpit. 430 00:31:25,965 --> 00:31:28,310 Zamiar spróbować go znaleźć. 431 00:31:28,310 --> 00:31:28,810 Kot. 432 00:31:28,810 --> 00:31:34,580 433 00:31:34,580 --> 00:31:35,790 Właśnie tutaj. 434 00:31:35,790 --> 00:31:42,820 Mam zamiar skopiować go do mojego katalogu. 435 00:31:42,820 --> 00:31:46,800 Teraz to się zadać mi kilka opcji. 436 00:31:46,800 --> 00:31:49,250 Teraz, po prostu chcę to znajdować się w folderze wyciągane, 437 00:31:49,250 --> 00:31:54,390 i że to będzie dla wszystkich różne rozdzielczości ekranu. 438 00:31:54,390 --> 00:31:57,100 Alternatywnie, możemy właściwie tylko wybrać 439 00:31:57,100 --> 00:32:01,270 którego rozdzielczość ekranu ci aby ten obraz, aby być w. 440 00:32:01,270 --> 00:32:06,150 Tak dzieje się wybrać wyciągane folderu, kliknij przycisk OK. 441 00:32:06,150 --> 00:32:08,660 442 00:32:08,660 --> 00:32:09,910 Wystarczy zamiar wymienić go cat.jpg. 443 00:32:09,910 --> 00:32:12,560 444 00:32:12,560 --> 00:32:15,970 >> OK, tak, teraz jest dodany do naszego widzenia obrazu. 445 00:32:15,970 --> 00:32:18,800 446 00:32:18,800 --> 00:32:22,020 mamy zamiar użyć źródło to właśnie tutaj, 447 00:32:22,020 --> 00:32:27,420 a następnie możemy wykorzystać tę dot dot dot przycisk, a następnie wybierz zdjęcie kota. 448 00:32:27,420 --> 00:32:30,010 449 00:32:30,010 --> 00:32:32,620 OK. 450 00:32:32,620 --> 00:32:39,480 Więc teraz chcę, aby takie że to tylko odpowiedni rozmiar. 451 00:32:39,480 --> 00:32:50,050 Więc mam zamiar wybrać tego dostosować opcję bounds zobaczyć tutaj, 452 00:32:50,050 --> 00:32:54,960 i automatycznie ustawia go we właściwym rozmiarze. 453 00:32:54,960 --> 00:32:55,460 OK. 454 00:32:55,460 --> 00:33:02,410 455 00:33:02,410 --> 00:33:09,380 Teraz, aby faktycznie uruchomić tego aktywności z naszej dotychczasowej działalności, 456 00:33:09,380 --> 00:33:15,470 masz zamiar użyć coś, co nazywa intencji. 457 00:33:15,470 --> 00:33:19,115 Więc powiedzmy, że mam zamiar dodać kolejny przycisk, który rozpoczyna działalność. 458 00:33:19,115 --> 00:33:26,640 459 00:33:26,640 --> 00:33:29,150 Zamierzam go dodać tutaj, właśnie tutaj. 460 00:33:29,150 --> 00:33:36,160 I wtedy to będzie mają tekst aktywować. 461 00:33:36,160 --> 00:33:38,711 462 00:33:38,711 --> 00:33:39,210 Ups. 463 00:33:39,210 --> 00:33:42,470 464 00:33:42,470 --> 00:33:43,320 OK. 465 00:33:43,320 --> 00:33:47,560 >> Teraz, w jaki sposób faktycznie otworzyć nowa działalność w ramach tej działalności? 466 00:33:47,560 --> 00:33:52,280 467 00:33:52,280 --> 00:33:54,650 Tak samo wiele, jak wcześniej. 468 00:33:54,650 --> 00:34:01,120 Musimy dodać identyfikator do tego Przycisk, i nazywają to button_activate. 469 00:34:01,120 --> 00:34:09,489 470 00:34:09,489 --> 00:34:16,880 A potem w naszej głównej działalności, będzie aby ten nowy przycisk activateButton. 471 00:34:16,880 --> 00:34:21,630 472 00:34:21,630 --> 00:34:26,150 I wtedy też użyć Metoda findViewByID. 473 00:34:26,150 --> 00:34:29,449 474 00:34:29,449 --> 00:34:33,960 activateButton równa przycisk findViewByID r.ID.button_activate. 475 00:34:33,960 --> 00:34:43,960 476 00:34:43,960 --> 00:34:45,830 >> OK. 477 00:34:45,830 --> 00:34:48,500 I wtedy też będzie dodać w onClickListener. 478 00:34:48,500 --> 00:34:56,360 479 00:34:56,360 --> 00:34:57,294 Nowy onClickListener. 480 00:34:57,294 --> 00:35:01,870 481 00:35:01,870 --> 00:35:07,145 A potem będziemy korzystać to coś nazywa zamiar. 482 00:35:07,145 --> 00:35:10,070 483 00:35:10,070 --> 00:35:11,905 Intent intent równa nowy (ten). 484 00:35:11,905 --> 00:35:17,260 485 00:35:17,260 --> 00:35:20,699 A następnie nazwę Aktywność, że chcemy, aby pokazać się. 486 00:35:20,699 --> 00:35:22,990 Więc tutaj, w tym, jedziemy mieć catActivity.class. 487 00:35:22,990 --> 00:35:30,412 488 00:35:30,412 --> 00:35:31,147 Przepraszam. 489 00:35:31,147 --> 00:35:33,230 My będziemy mieć do określić @ MainActivity.this. 490 00:35:33,230 --> 00:35:36,100 491 00:35:36,100 --> 00:35:41,910 Więc teraz własnością .To odnosi do obecnego przykładu obiektu 492 00:35:41,910 --> 00:35:43,271 Sam. 493 00:35:43,271 --> 00:35:43,770 OK. 494 00:35:43,770 --> 00:35:48,020 Do tego momentu, jakieś pytania? 495 00:35:48,020 --> 00:35:48,890 Wszystko dobrze? 496 00:35:48,890 --> 00:35:49,390 Dobrze. 497 00:35:49,390 --> 00:35:52,890 498 00:35:52,890 --> 00:35:57,430 >> A jeśli chcesz zacząć działalność, to całkiem proste. 499 00:35:57,430 --> 00:35:59,904 Po prostu zadzwoń Metoda startActivity. 500 00:35:59,904 --> 00:36:04,260 501 00:36:04,260 --> 00:36:07,355 A potem mijamy w intencyjny Obiekt, który właśnie zdefiniowane. 502 00:36:07,355 --> 00:36:10,640 503 00:36:10,640 --> 00:36:16,140 Niestety, naprawdę nie można pokazać. 504 00:36:16,140 --> 00:36:23,000 Miałem nadzieję, że możemy już teraz to i pokazać je razem w seminarium, 505 00:36:23,000 --> 00:36:26,661 ale niestety nie. 506 00:36:26,661 --> 00:36:28,980 Och, człowieku. 507 00:36:28,980 --> 00:36:29,480 Rozumiem. 508 00:36:29,480 --> 00:36:32,134 Och, mamy zamiar spróbować i zabić ATB.exe. 509 00:36:32,134 --> 00:36:43,510 510 00:36:43,510 --> 00:36:45,214 OK. 511 00:36:45,214 --> 00:36:45,714 Uruchom ponownie. 512 00:36:45,714 --> 00:36:53,490 513 00:36:53,490 --> 00:36:56,262 Czy to działa? 514 00:36:56,262 --> 00:36:57,710 Och, OK. 515 00:36:57,710 --> 00:37:00,660 Więc teraz to faktycznie kompilacji. 516 00:37:00,660 --> 00:37:02,410 Och. 517 00:37:02,410 --> 00:37:04,420 Niestety, nie ma żadne z urządzeń nie działa. 518 00:37:04,420 --> 00:37:06,040 Spróbujmy ponownie uruchomić emulator. 519 00:37:06,040 --> 00:37:56,335 520 00:37:56,335 --> 00:37:57,880 Ach, nie idziemy. 521 00:37:57,880 --> 00:37:59,050 Okazało się. 522 00:37:59,050 --> 00:38:00,070 OK. 523 00:38:00,070 --> 00:38:06,010 Więc mam zamiar uruchomić mój aplikacja na moim Android emulatora. 524 00:38:06,010 --> 00:38:08,330 I mamy to, co że określona dopiero teraz. 525 00:38:08,330 --> 00:38:13,620 Więc mamy etykietę, widok tekstu, pole tekstowe, a następnie przycisk. 526 00:38:13,620 --> 00:38:18,449 Więc mam zamiar wejścia nazywam tutaj, 527 00:38:18,449 --> 00:38:19,990 i tam idziemy, zmienił tekst. 528 00:38:19,990 --> 00:38:25,980 Jeśli więc wpisać Foo, to nie zmieni się do Foo. 529 00:38:25,980 --> 00:38:29,040 >> A jeśli kliknę Przycisk aktywacji, które 530 00:38:29,040 --> 00:38:34,560 my związane z faktycznie uruchomić nowa działalność, mam nadzieję, że to będzie działać, 531 00:38:34,560 --> 00:38:35,190 nie idziemy. 532 00:38:35,190 --> 00:38:36,760 To uruchamia nową działalność. 533 00:38:36,760 --> 00:38:40,001 534 00:38:40,001 --> 00:38:47,010 Aby wrócić, możemy nacisnąć Wstecz tutaj. 535 00:38:47,010 --> 00:38:47,510 Albo nie. 536 00:38:47,510 --> 00:38:49,610 Och, nie idziemy. 537 00:38:49,610 --> 00:38:51,450 Ups. 538 00:38:51,450 --> 00:38:52,611 To było złe. 539 00:38:52,611 --> 00:38:53,890 OK. 540 00:38:53,890 --> 00:38:58,550 >> Więc teraz, że wdrożyliśmy niektóre podstawowe rzeczy w Androida, 541 00:38:58,550 --> 00:39:04,800 możemy spróbować zrobić kilka bardziej skomplikowane rzeczy. 542 00:39:04,800 --> 00:39:10,070 Więc po pierwsze, spróbujmy i przekazać wiadomości od jednej czynności do drugiej. 543 00:39:10,070 --> 00:39:13,760 Więc powiedzmy, że chcemy przekazać w Nazwa od głównej działalności 544 00:39:13,760 --> 00:39:16,710 do aktywności CAT. 545 00:39:16,710 --> 00:39:19,740 A nazwa będzie pobierane z tego nameText. 546 00:39:19,740 --> 00:39:23,510 547 00:39:23,510 --> 00:39:30,160 >> OK, więc po pierwsze, będziemy pobrać nazwy tutaj. 548 00:39:30,160 --> 00:39:32,230 String name równa nameText.getText (). toString (). 549 00:39:32,230 --> 00:39:39,588 550 00:39:39,588 --> 00:39:41,420 OK. 551 00:39:41,420 --> 00:39:52,260 A potem możemy wykorzystać tę rzecz nazywa intent.putExtra (nazwa), 552 00:39:52,260 --> 00:39:57,650 i wtedy to faktycznie chce również Kluczem do tego dodatkowego pola. 553 00:39:57,650 --> 00:40:05,520 >> Więc idę do zdefiniowania nowego Klucz, nazwijmy go EXTRA_NAME. 554 00:40:05,520 --> 00:40:11,570 555 00:40:11,570 --> 00:40:17,160 Więc mam zamiar to wykorzystać Klucz, CatActivity.EXTRA_NAME, 556 00:40:17,160 --> 00:40:21,010 a następnie przechodzą w samej nazwie. 557 00:40:21,010 --> 00:40:26,370 >> OK, więc teraz możemy rzeczywiście odzyskać w tym w ramach nowego CatActivity. 558 00:40:26,370 --> 00:40:38,650 Aby to zrobić, musimy użyć Intencją jest równa metody getIntent. 559 00:40:38,650 --> 00:40:41,360 Więc teraz to będzie pobrać intencji, że 560 00:40:41,360 --> 00:40:45,070 została wykorzystana do wywołania tej nowej działalności. 561 00:40:45,070 --> 00:40:50,340 Więc jeśli chcesz pobrać ciąg że faktycznie umieścić wewnątrz intencyjny, 562 00:40:50,340 --> 00:41:00,255 można użyć intent.getStringExtra a następnie przechodzą w tym samym klawiszu, 563 00:41:00,255 --> 00:41:04,080 564 00:41:04,080 --> 00:41:10,570 >> OK, to teraz powiedzmy, że cię Aby zmienić to pole. 565 00:41:10,570 --> 00:41:14,422 566 00:41:14,422 --> 00:41:15,630 Zmień to pole tutaj. 567 00:41:15,630 --> 00:41:18,400 568 00:41:18,400 --> 00:41:20,900 I zróbmy czcionkę Wielkość pola większa. 569 00:41:20,900 --> 00:41:26,480 Więc powiedzmy, że chcę, to za 20 DP. 570 00:41:26,480 --> 00:41:28,340 OK. 571 00:41:28,340 --> 00:41:32,070 I mam zamiar dodać ID tego TextView, 572 00:41:32,070 --> 00:41:35,690 i mam zamiar nazwać text_cat. 573 00:41:35,690 --> 00:41:41,170 574 00:41:41,170 --> 00:41:41,670 Przepraszam. 575 00:41:41,670 --> 00:41:45,630 576 00:41:45,630 --> 00:41:51,310 >> I z powrotem w CatActivity, sama umowa, jak wcześniej. 577 00:41:51,310 --> 00:41:55,090 Jedziemy do określenia niektórych pól. 578 00:41:55,090 --> 00:41:58,890 Tutaj będzie TextView catText. 579 00:41:58,890 --> 00:42:03,500 580 00:42:03,500 --> 00:42:11,750 A potem catText równa TextView findViewByID, r.ID.text_cat. 581 00:42:11,750 --> 00:42:17,230 582 00:42:17,230 --> 00:42:18,780 OK. 583 00:42:18,780 --> 00:42:24,100 A następnie z powrotem tutaj, jestem będzie ustawiona prawo tekstu 584 00:42:24,100 --> 00:42:28,120 Po pobraniu na to od intencji. 585 00:42:28,120 --> 00:42:30,207 586 00:42:30,207 --> 00:42:30,790 setText (nazwa). 587 00:42:30,790 --> 00:42:36,020 588 00:42:36,020 --> 00:42:38,056 >> OK, więc spróbujmy, że się. 589 00:42:38,056 --> 00:42:39,070 Kliknij przycisk Odtwórz. 590 00:42:39,070 --> 00:42:41,830 591 00:42:41,830 --> 00:42:43,445 Mam zamiar korzystać z tego samego urządzenia. 592 00:42:43,445 --> 00:42:47,770 593 00:42:47,770 --> 00:42:50,380 Powrót tutaj. 594 00:42:50,380 --> 00:42:57,030 Więc powiedzmy, że nie input-- jeśli nie podasz żadnej nazwy, 595 00:42:57,030 --> 00:42:59,330 Zobaczmy, co się dzieje. 596 00:42:59,330 --> 00:43:02,150 Więc teraz nie ma nic, że pojawi. 597 00:43:02,150 --> 00:43:10,390 Więc wracamy i wejście nasza nazwa, to jest po prostu powiedzieć Fred. 598 00:43:10,390 --> 00:43:14,670 Tak naprawdę możemy przekazać wiadomości od jednej czynności do drugiej. 599 00:43:14,670 --> 00:43:15,170 OK. 600 00:43:15,170 --> 00:43:18,040 601 00:43:18,040 --> 00:43:22,590 >> Więc jest kilka innych poglądów które można używać w Androida. 602 00:43:22,590 --> 00:43:29,740 Więc teraz mamy paski postępu, mamy widoki list, mamy przyciski przełączników, 603 00:43:29,740 --> 00:43:33,950 i jeśli naprawdę chciał aby dowiedzieć się więcej o tym, 604 00:43:33,950 --> 00:43:36,790 rzeczywiście można odwiedzić te strony internetowe. 605 00:43:36,790 --> 00:43:41,160 Zawierają one wiele różnych zasobów. 606 00:43:41,160 --> 00:43:45,230 Tak na przykład, API prowadzą tu właściwie 607 00:43:45,230 --> 00:43:50,885 daje przykłady kodu dla pewne funkcje w Android bibliotece. 608 00:43:50,885 --> 00:43:53,692 609 00:43:53,692 --> 00:43:57,560 >> I kilka samouczków znalazłem użyteczne podczas nauki o Androida. 610 00:43:57,560 --> 00:44:06,890 To oficjalna sam poradnik, a także ten drugi poradnik tutaj. 611 00:44:06,890 --> 00:44:10,200 I wreszcie, można rzeczywiście korzystać z różnych bibliotek 612 00:44:10,200 --> 00:44:12,710 do aplikacji Android. 613 00:44:12,710 --> 00:44:16,370 Teraz, to rzeczywiście rozszerzenie funkcjonalność Twojej aplikacji 614 00:44:16,370 --> 00:44:19,665 bez konieczności naprawdę napisać dużo kodu. 615 00:44:19,665 --> 00:44:21,540 Wadą jest, Oczywiście, że rzeczywiście 616 00:44:21,540 --> 00:44:23,890 muszą nauczyć bibliotek siebie. 617 00:44:23,890 --> 00:44:29,170 >> Tak na przykład, jeśli chcesz, aby korzystania z technologii cloud Dropbox, 618 00:44:29,170 --> 00:44:33,400 Następnie można użyć API Dropbox. 619 00:44:33,400 --> 00:44:36,530 Podobny z Facebook API. 620 00:44:36,530 --> 00:44:40,490 A potem faktycznie niewielu różne inne różne biblioteki 621 00:44:40,490 --> 00:44:41,700 że można użyć. 622 00:44:41,700 --> 00:44:45,560 Jeśli starasz się uzyskać, jak, JSON z pewnej strony internetowej, 623 00:44:45,560 --> 00:44:49,560 to myślę, że Google JSON Biblioteka będzie bardzo pomocny. 624 00:44:49,560 --> 00:44:56,200 Więc teraz, że konwertuje JSON sformatowany tekst do obiektu Java, 625 00:44:56,200 --> 00:44:58,600 i odwrotnie. 626 00:44:58,600 --> 00:45:01,110 >> A wtedy nie modernizacyjne i Picasso. 627 00:45:01,110 --> 00:45:07,240 A to, czy chcesz use-- to na razie używasz API REST. 628 00:45:07,240 --> 00:45:13,300 A Picasso, jeśli używasz obrazów do aplikacji Android. 629 00:45:13,300 --> 00:45:14,350 Dobrze. 630 00:45:14,350 --> 00:45:18,030 Dziękuję bardzo, i zabawy kodowania. 631 00:45:18,030 --> 00:45:19,723