Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00061 007676 13585149 na godz. na dobę w sumie
Android. Podstawy tworzenia aplikacji - książka
Android. Podstawy tworzenia aplikacji - książka
Autor: Liczba stron: 216
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-246-7006-2 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> programowanie mobilne >> android
Porównaj ceny (książka, ebook (-20%), audiobook).

Przekonaj się, że nie taki Android straszny, jak go malują...

Według najnowszych badań Android stał się najbardziej popularnym systemem operacyjnym dla urządzeń mobilnych. Środowisko to kontroluje już niemal 2/3 wszystkich używanych na świecie smartfonów i tabletów, a jego użytkownicy mają do dyspozycji ponad 450 tysięcy różnych aplikacji! Nic więc dziwnego, że w sieci pełno jest ofert zatrudnienia dla osób, które potrafią tworzyć programy dla tego systemu. Najlepsi wprost nie mogą opędzić się od rekruterów proponujących im coraz ciekawsze warunki finansowe...

Droga do sukcesu jest jednak długa i żmudna. Nauka programowania na potrzeby Androida nie wszystkim wydaje się rzeczą prostą, wielu zniechęca się już na samym wstępie. Najczęściej powodem bywa nieznajomość platformy, podstaw programowania obiektowego, języka Java czy choćby stosowanych tu narzędzi. Już samo korzystanie z przykładów zamieszczonych w sieci oraz ogólnodostępnej literatury wymaga zwykle minimalnej wiedzy na temat technologii i generalnego obycia w świecie urządzeń mobilnych.

Na szczęście dostępna jest już książka 'Android. Podstawy tworzenia aplikacji', która bezboleśnie wprowadzi Cię w krainę programowania komputerów mobilnych pracujących pod kontrolą systemu firmy Google. Dzięki niej poznasz podstawy języka Java i budowę aplikacji działających w Androidzie. Nauczysz się posługiwać odpowiednimi narzędziami i pisać własne programy. Dowiesz się, jak korzystać z zasobów graficznych i funkcji systemowych. Zyskasz instrukcje, jak pobierać dane z sieci oraz uruchamiać nowe wątki.

Chwyć robota za antenki - zacznij samodzielnie tworzyć aplikacje dla Androida!

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji. Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli. Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce. Redaktor prowadzący: Michał Mrowiec Projekt okładki: Studio Gravite / Olsztyn Obarek, Pokoński, Pazdrijowski, Zaprucki Fotografia na okładce została wykorzystana za zgodą Shutterstock.com Wydawnictwo HELION ul. Kościuszki 1c, 44-100 GLIWICE tel. 32 231 22 19, 32 230 98 63 e-mail: helion@helion.pl WWW: http://helion.pl (księgarnia internetowa, katalog książek) Drogi Czytelniku! Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/andrpa Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję. Kody źródłowe wybranych przykładów dostępne są pod adresem: ftp://ftp.helion.pl/przyklady/andrpa.zip ISBN: 978-83-246-7006-2 Copyright © Helion 2013 Printed in Poland. • Kup książkę • Poleć książkę • Oceń książkę • Księgarnia internetowa • Lubię to! » Nasza społeczność Spis tre(cid:264)ci Wst(cid:246)p .............................................................................................. 5 Rozdzia(cid:228) 1. Instalowanie (cid:264)rodowiska programistycznego ..................................... 9 Instalowanie Android SDK, Javy i edytora Eclipse .......................................................... 9 Konfiguracja (cid:286)rodowiska programistycznego Eclipse .................................................... 11 Pierwsza aplikacja .......................................................................................................... 15 Rozdzia(cid:228) 2. Wygl(cid:241)d pierwszej aplikacji .............................................................. 19 Katalog res — zasoby aplikacji ...................................................................................... 19 Layouts, czyli wygl(cid:261)dy aplikacji .................................................................................... 22 LinearLayout — obiekty u(cid:225)o(cid:298)one obok siebie .......................................................... 24 TableLayout — obiekty u(cid:225)o(cid:298)one w oczkach sieci .................................................... 27 AbsoluteLayout — roz(cid:225)o(cid:298)enie swobodne ................................................................. 32 Rozdzia(cid:228) 3. Graficzne zasoby aplikacji ............................................................... 39 Struktura katalogów drawable ........................................................................................ 39 Emulatory o ekranach ró(cid:298)nej jako(cid:286)ci .............................................................................. 41 Bitmap, czyli mapa bitowa ............................................................................................. 43 Mapa bitowa opakowana w atrybuty XML .................................................................... 48 Wiele map bitowych w jednym opakowaniu XML ........................................................ 52 Rozdzia(cid:228) 4. Wi(cid:246)cej o wygl(cid:241)dzie aplikacji ........................................................... 57 ScrollView — ekran z gumy .......................................................................................... 57 Kolory ............................................................................................................................. 61 Shapes — kszta(cid:225)ty .......................................................................................................... 68 Rozdzia(cid:228) 5. Programowanie czas zacz(cid:241)(cid:232)! .......................................................... 77 Przycisk „Koniec” .......................................................................................................... 77 Zegarek dla ubogich ....................................................................................................... 82 Kó(cid:225)ko i krzy(cid:298)yk, a przy okazji definiowanie stylów ....................................................... 87 Rozdzia(cid:228) 6. Efekty specjalne ............................................................................ 97 Przygotowanie animacji ................................................................................................. 98 Przygotowanie interfejsu u(cid:298)ytkownika ......................................................................... 103 Uruchomienie animacji ................................................................................................. 105 Animacja innych komponentów ................................................................................... 108 (cid:224)(cid:261)czenie animacji ......................................................................................................... 110 Animacja poklatkowa map bitowych ............................................................................ 113 Kup książkęPoleć książkę 4 Android. Podstawy tworzenia aplikacji Rozdzia(cid:228) 7. W(cid:228)asne komponenty graficzne ...................................................... 121 Komponenty rozszerzaj(cid:261) bazowy superkomponent View ............................................ 122 Przegl(cid:261)d mo(cid:298)liwo(cid:286)ci graficznych ................................................................................. 132 Rozdzia(cid:228) 8. Mapy bitowe ................................................................................ 145 Mapa bitowa zaczerpni(cid:266)ta z zasobów aplikacji ............................................................ 145 Rysowanie na mapie bitowej zaczerpni(cid:266)tej z zasobów aplikacji .................................. 152 Przekszta(cid:225)cenie mapy bitowej technik(cid:261) piksel po pikselu ............................................ 154 Uzyskanie nowej, czystej mapy bitowej ....................................................................... 156 Rozdzia(cid:228) 9. W(cid:241)tek w drugim planie ................................................................. 167 Klasa AsyncTask i rysowanie w drugim planie ............................................................ 167 (cid:285)ci(cid:261)ganie danych z internetu ........................................................................................ 181 Rozdzia(cid:228) 10. Wi(cid:246)cej ekranów dla aplikacji ........................................................ 191 Okno g(cid:225)ówne ................................................................................................................ 192 Ta sama aplikacja napisana lepiej, bo krócej ................................................................ 205 S(cid:228)owniczek ................................................................................... 211 Skorowidz .................................................................................... 213 Kup książkęPoleć książkę Rozdzia(cid:228) 3. Graficzne zasoby aplikacji W tym rozdziale omówi(cid:266) dok(cid:225)adniej, jakie zasoby mo(cid:298)na przechowywa(cid:252) w podfolderach res/drawable. Materia(cid:225)y do tego projektu znajduj(cid:261) si(cid:266) w pliku o nazwie Rozdzial_3. Struktura katalogów drawable Ju(cid:298) wiesz, (cid:298)e wygl(cid:261)du aplikacji w Androidzie raczej si(cid:266) nie programuje (chocia(cid:298) mo(cid:298)na), ale opisuje si(cid:266) go w specjalny sposób, umieszczaj(cid:261)c odpowiednie informacje w odpo- wiednich folderach i plikach. Folder o nazwie res (skrót od ang. wyrazu resources — zasoby) jest tym miejscem, w którym umieszczasz swoje zasoby. Folder ten ma dalsz(cid:261) struktur(cid:266) podfolderów i teraz omówi(cid:266) podfoldery o nazwach drawable, co nale(cid:298)y prze- t(cid:225)umaczy(cid:252) jako „elementy rysowalne”. Podfoldery drawable zawieraj(cid:261) elementy graficzne aplikacji, a tak(cid:298)e pewne ich opisy, jakby opakowania, przygotowane w j(cid:266)zyku XML. Rozpocznij nowy projekt. Wybierz opcj(cid:266) File, a dalej New i Android Application Project. Okre(cid:286)l nazw(cid:266) aplikacji (nazwa ta b(cid:266)dzie widoczna w Twoim telefonie), nazw(cid:266) projektu w (cid:286)rodowisku Eclipse, wymy(cid:286)l nazw(cid:266) dla pakietu Javy, najlepiej stosuj(cid:261)c zasad(cid:266) od- wracania kolejno(cid:286)ci wyrazów z nazwy domeny internetowej. Je(cid:286)li zainstalowa(cid:225)e(cid:286) kilka ró(cid:298)nych wersji Androida, wska(cid:298) jedn(cid:261) z nich jako zalecan(cid:261) dla Twojej aplikacji. Okre(cid:286)l te(cid:298) minimalne parametry platformy, rozwojowo najstarszej i najubo(cid:298)szej, dla których Twoja aplikacja powinna dzia(cid:225)a(cid:252). (cid:285)rodowisko Eclipse utworzy rodzin(cid:266) folderów. W tym rozdziale najwa(cid:298)niejsze b(cid:266)d(cid:261) dla Ciebie foldery drawable, znajduj(cid:261)ce si(cid:266) w folderze res. Foldery drawable zawieraj(cid:261) elementy graficzne aplikacji, przygotowane do wy(cid:286)wietla- nia na ró(cid:298)nej klasy urz(cid:261)dzeniach. Jeszcze niedawno by(cid:225)y trzy foldery drawable, teraz jest ich wi(cid:266)cej, bo pojawiaj(cid:261) si(cid:266) coraz lepsze urz(cid:261)dzenia mobilne. Postfiks -ldpi nale- (cid:298)y rozwin(cid:261)(cid:252) jako low dot per inch, co w tym wypadku oznacza „urz(cid:261)dzenie o ma(cid:225)ej Kup książkęPoleć książkę 40 Android. Podstawy tworzenia aplikacji g(cid:266)sto(cid:286)ci pikseli”. W folderze drawable-ldpi umie(cid:286)cisz wersje grafik dla kiepskich ekraników. Grafiki te powinny by(cid:252) mniejsze, ale tak(cid:298)e mog(cid:261) zawiera(cid:252) mniej detali. Katalogi z postfiksami -mdpi, -hdpi i -xhdpi zawieraj(cid:261) zasadniczo te same grafiki, ale coraz wi(cid:266)ksze, staranniejsze, z wi(cid:266)ksz(cid:261) ilo(cid:286)ci(cid:261) detali. Widzisz wi(cid:266)c, jak(cid:261) (cid:286)cie(cid:298)k(cid:261) poszli twórcy systemu. Zamiast zastosowa(cid:252) algorytm do- pasowywania grafiki do rzeczywistego rozmiaru ekranu, dali programi(cid:286)cie szans(cid:266), aby sam przygotowa(cid:225) kilka wersji rozwi(cid:261)za(cid:276) graficznych. Takie posuni(cid:266)cie umo(cid:298)li- wia przygotowanie równie pi(cid:266)knych wersji aplikacji na malutki telefon i na olbrzymi tablet. Rodzina folderów drawable powinna zawiera(cid:252) zasoby o tych samych nazwach. System przeanalizuje dane o jako(cid:286)ci ekranu urz(cid:261)dzenia mobilnego i sam ustali, do którego folderu drawable skierowa(cid:252) program po zasób o konkretnej nazwie (rysunek 3.1). Rysunek 3.1. Rodzina folderów drawable Nie ma dok(cid:225)adnych wytycznych, jak sporz(cid:261)dza(cid:252) i dzieli(cid:252) zasoby na poszczególne foldery drawable. Przyjmuje si(cid:266), (cid:298)e je(cid:286)li dla urz(cid:261)dzenia typowego, czyli (cid:286)redniego -mldpi, przy- gotuje si(cid:266) map(cid:266) bitow(cid:261) o boku np. 400 pikseli, to dla urz(cid:261)dzenia ma(cid:225)ego -ldpi trzeba b(cid:266)dzie j(cid:261) zmniejszy(cid:252) do 75 procent, dla urz(cid:261)dzenia du(cid:298)ego -hdpi powi(cid:266)kszy(cid:252) do 150 pro- cent, a dla ekstradu(cid:298)ego -xhdpi do 200 procent. Oprócz samego zmieniania rozmiarów mo(cid:298)esz „r(cid:266)cznie” zadba(cid:252) o wi(cid:266)cej albo mniej szczegó(cid:225)ów. To jest ju(cid:298) praca artystyczna. Kup książkęPoleć książkę Rozdzia(cid:228) 3. (cid:105) Graficzne zasoby aplikacji 41 Emulatory o ekranach ró(cid:276)nej jako(cid:264)ci (cid:297)eby móc testowa(cid:252) zachowanie si(cid:266) programu na urz(cid:261)dzeniach ró(cid:298)nej klasy, nale(cid:298)y zde- finiowa(cid:252) kilka wirtualnych AVD (Android Virtual Device), ró(cid:298)ni(cid:261)cych si(cid:266) klas(cid:261) ekra- nów. Prawdopodobnie pierwsze urz(cid:261)dzenie zdefiniowa(cid:225)e(cid:286) jako default, czyli domy(cid:286)l- ne, teraz wi(cid:266)c postaraj si(cid:266) o wyra(cid:296)nie lepszy albo gorszy telefon (rysunek 3.2). W tym celu kliknij ikonk(cid:266) mened(cid:298)era urz(cid:261)dze(cid:276) i stwórz sobie wirtualne urz(cid:261)dzenie z ma(cid:225)ym i du(cid:298)ym ekranem. Podczas opisywania typu nowego urz(cid:261)dzenia zwró(cid:252) uwag(cid:266) na techniczne oznaczenia rodzajów wy(cid:286)wietlaczy. Oznaczenie najgorszego ekranu to QVGA, lepszego to HVGA i wreszcie najlepszego WVGA (rysunek 3.3). Na rysunku 3.4 wida(cid:252) ró(cid:298)nice mi(cid:266)dzy najgorszym a najlepszym ekranem. Rysunek 3.2. Tworzenie wirtualnego urz(cid:261)dzenia z ma(cid:225)ym i du(cid:298)ym ekranem Kup książkęPoleć książkę 42 Android. Podstawy tworzenia aplikacji Rysunek 3.3. Nadanie nazwy nowemu urz(cid:261)dzeniu, wybór platformy i co najwa(cid:298)niejsze — okre(cid:286)lenie jej ekranu Rysunek 3.4. Urz(cid:261)dzenie QVGA na tle urz(cid:261)dzenia WVGA800 Kup książkęPoleć książkę Rozdzia(cid:228) 3. (cid:105) Graficzne zasoby aplikacji 43 Bitmap, czyli mapa bitowa Po tych czynno(cid:286)ciach technicznych spróbujesz wreszcie pracy z grafikami, których ja- ko(cid:286)ci s(cid:261) dopasowane do mo(cid:298)liwo(cid:286)ci technicznych urz(cid:261)dzenia. Znajd(cid:296) jaki(cid:286) obrazek, którego wi(cid:266)kszy bok ma rozmiar ok. 400 pikseli. B(cid:266)dzie to pod- stawowa wersja grafiki, któr(cid:261) umie(cid:286)cisz w katalogu z postfiksem -mdpi. Za pomoc(cid:261) edytora grafiki — np. IrfanView — przygotuj wersj(cid:266) -ldpi tego obrazka o boku 300 pik- seli i wersj(cid:266) -hdpi o boku 500 pikseli. Mo(cid:298)esz przygotowa(cid:252) jeszcze wersj(cid:266) ekstra -xhdpi dla superurz(cid:261)dze(cid:276), ale zalecany tutaj, troch(cid:266) przestarza(cid:225)y, cho(cid:252) ci(cid:261)gle najpopularniejszy Android 2.2 nie obs(cid:225)u(cid:298)y takiego standardu. Wersje obrazka nale(cid:298)y jako(cid:286) oznaczy(cid:252), np. nadrukowuj(cid:261)c na nie w programie graficz- nym napisy ldpi, mdpi, hdpi (rysunek 3.5). Dzi(cid:266)ki temu b(cid:266)dziesz móg(cid:225) (cid:286)ledzi(cid:252), jak kon- kretne urz(cid:261)dzenie wybiera sobie grafik(cid:266) do wy(cid:286)wietlenia. Rysunek 3.5. Obrazki o identycznych nazwach, ale ró(cid:298)ni(cid:261)ce si(cid:266) rozmiarem (w proporcjach mniej wi(cid:266)cej 0,75:1:1,5) Przygotowane obrazy nale(cid:298)y zapisa(cid:252) pod t(cid:261) sam(cid:261) nazw(cid:261), ale w ró(cid:298)nych folderach drawable, koniecznie zwracaj(cid:261)c uwag(cid:266), aby obrazek o odpowiedniej jako(cid:286)ci znalaz(cid:225) si(cid:266) w odpowiednim folderze (rysunek 3.6). Po rozmieszczeniu plików w folderach (cid:286)ro- dowisko Eclipse mo(cid:298)e pocz(cid:261)tkowo ich nie dostrzec — wybierz z menu File opcj(cid:266) Refresh (od(cid:286)wie(cid:298) widok). Zapami(cid:266)taj, bo jest to wa(cid:298)ne podczas przygotowywania zasobów aplikacji. Gdy teraz program przywo(cid:225)a obrazek o nazwie np. motor1.jpg, system Android spraw- dzi, jakim ekranem dysponuje urz(cid:261)dzenie, skieruje si(cid:266) do odpowiedniego folderu drawable i wyci(cid:261)gnie stamt(cid:261)d odpowiedni(cid:261) wersj(cid:266) pliku motor.1. Sprawd(cid:296) to. Kup książkęPoleć książkę 44 Android. Podstawy tworzenia aplikacji Rysunek 3.6. Rodzina folderów drawable zawiera pliki o takich samych nazwach, ale ró(cid:298)ni(cid:261)ce si(cid:266) jako(cid:286)ci(cid:261) i przeznaczone na ró(cid:298)ne typy wy(cid:286)wietlaczy urz(cid:261)dze(cid:276) mobilnych Zbuduj najprostsz(cid:261) aplikacj(cid:266), która wy(cid:286)wietli jeden z obrazków. Tak jak poprzednio, za- sadniczym „polem bitwy” jest g(cid:225)ówny plik wygl(cid:261)du, umieszczony w folderach res/layout. Je(cid:286)li nie zmienia(cid:225)e(cid:286) nazw w kreatorze nowego projektu, plik ten powinien si(cid:266) nazywa(cid:252) activity_main.xml. Kliknij go dwukrotnie, otwieraj(cid:261)c go do edycji. Na dole edytora wy- bierz edycj(cid:266) wizualn(cid:261) (nie za(cid:286) zwyk(cid:225)(cid:261), tekstow(cid:261)). Je(cid:286)li ju(cid:298) zaczyna Ci(cid:266) denerwowa(cid:252) napis „Hello World”, reprezentowany przez kompo- nent TextView, kliknij go prawym klawiszem myszki i usu(cid:276) z aplikacji. W zak(cid:225)adce Images Media znajd(cid:296) komponent ImageView i przeci(cid:261)gnij go w pole wy- (cid:286)wietlacza urz(cid:261)dzenia mobilnego. Je(cid:286)li umie(cid:286)cisz go dok(cid:225)adnie w rogu pola, system od razu ustawi w(cid:225)a(cid:286)ciwo(cid:286)ci alignParent... (wyrównaj w dost(cid:266)pnej przestrzeni — tutaj: w przestrzeni ca(cid:225)ego ekranu). Mo(cid:298)esz umie(cid:286)ci(cid:252) ImageView w inny sposób — wtedy system zaproponuje w(cid:225)a(cid:286)ciwo(cid:286)ci center... albo margin... (rysunek 3.7). Po umieszczeniu komponentu w polu ekranu prawdopodobnie automatycznie pojawi si(cid:266) Resource Chooser (wybieranie zasobu). Je(cid:286)li zaznaczono Project Resources (a nie System Resources — przebogate zasoby w(cid:225)asne Androida), okienko Choosera zajrzy do Twoich katalogów drawable i zaproponuje wybór którego(cid:286) obrazka (rysunek 3.8). Je(cid:286)li post(cid:266)powa(cid:225)e(cid:286) tak, jak pokaza(cid:225)em to na kilku ostatnich rysunkach, plik wygl(cid:261)du apli- kacji activity_main.xml powinien mie(cid:252) nast(cid:266)puj(cid:261)c(cid:261), Zapewne ju(cid:298) Ci znan(cid:261) tre(cid:286)(cid:252) (wi- doczn(cid:261) po wybraniu odpowiedniej zak(cid:225)adki pod edytorkiem wizualnym): Kup książkęPoleć książkę Rozdzia(cid:228) 3. (cid:105) Graficzne zasoby aplikacji 45 Rysunek 3.7. Praca na zak(cid:225)adce Images Media Rysunek 3.8. Wybieranie zasobu z katalogów drawable RelativeLayout xmlns:android= http://schemas.android.com/apk/res/android xmlns:tools= http://schemas.android.com/tools android:layout_width= match_parent android:layout_height= match_parent ImageView android:id= @+id/imageView1 android:layout_width= wrap_content android:layout_height= wrap_content android:layout_alignParentLeft= true android:layout_alignParentTop= true android:src= @drawable/motor1 / /RelativeLayout Kup książkęPoleć książkę 46 Android. Podstawy tworzenia aplikacji W tej aplikacji obowi(cid:261)zuje nieomawiany tutaj rozk(cid:225)ad RelativeLayout (okre(cid:286)laj po(cid:225)o(cid:298)e- nia kolejnych komponentów przez odwo(cid:225)ania do innych, wcze(cid:286)niej rozlokowanych). Rozk(cid:225)ad ten ma jedn(cid:261) szczególn(cid:261) cech(cid:266) — wszystkie komponenty powinny by(cid:252) na- zwane, tak aby inne mog(cid:225)y si(cid:266) do nich odwo(cid:225)ywa(cid:252), np. wskazuj(cid:261)c „chc(cid:266) by(cid:252) wyrów- nany do lewej strony tamtego buttona”. W nast(cid:266)pnym kroku dodasz wi(cid:266)cej kompo- nentów i zobaczysz, jak pracuje przyjemny w edycji RelativeLayout. Nazwa naszego obrazka brzmi imageView1 i okre(cid:286)la j(cid:261) linia: android:id= @+id/imageView1 Od tej pory b(cid:266)dziesz nazywa(cid:252) wszystkie komponenty, czego w zasadzie wymaga rozk(cid:225)ad RelativeLayout i czego bezwzgl(cid:266)dnie b(cid:266)d(cid:261) wymaga(cid:225)y techniki programowania w Javie, do których nieuchronnie si(cid:266) zbli(cid:298)asz. Rozmiary komponentu w omawianym przypad- ku s(cid:261) zdefiniowane frazami wrap_content, czyli „otaczaj swoj(cid:261) zawarto(cid:286)(cid:252)” albo „b(cid:261)d(cid:296) tak du(cid:298)y, jak twoja zawarto(cid:286)(cid:252)” — w tym przypadku mapka bitowa z motocyklem. Z kolei po(cid:225)o(cid:298)enie komponentu definiuj(cid:261) linie: android:layout_alignParentLeft= true android:layout_alignParentTop= true które nale(cid:298)y czyta(cid:252) jako: „b(cid:261)d(cid:296) w lewym górnym rogu swego rodzica”, czyli kompo- nentu RelativeLayout, który wype(cid:225)nia ca(cid:225)y dost(cid:266)pny dla aplikacji ekran. Najwa(cid:298)niejsz(cid:261) lini(cid:261) jest po(cid:225)(cid:261)czenie komponentu o nazwie imageView1 z map(cid:261) bitow(cid:261) motor1.jpg znajduj(cid:261)c(cid:261) si(cid:266) w folderach drawable: android:src= @drawable/motor1 / Zobacz, jak wygl(cid:261)da omawiana aplikacja na ekraniku AVD, czyli wirtualnej maszyny Androida. Pami(cid:266)taj jednak, (cid:298)e jest kilka maszyn AVD. Jak wybra(cid:252) konkretn(cid:261)? W menu Run znajdziesz polecenie Run Configurations i tam wska(cid:298) maszyn(cid:266), na której uruchomisz program (rysunek 3.9). Na zak(cid:225)adce Target (na czym uruchomi(cid:252)) powiniene(cid:286) znale(cid:296)(cid:252) swoje urz(cid:261)dzenia AVD i zaznaczy(cid:252) jedno z nich. Teraz pozosta(cid:225)o sprawdzi(cid:252) dzia(cid:225)anie programu (rysunek 3.10). Wszystko gra! Po uru- chomieniu programu na dwóch ró(cid:298)nych urz(cid:261)dzeniach dostajesz t(cid:266) sam(cid:261) fotografi(cid:266) motocykla. Czy na pewno t(cid:266) sam(cid:261)? Napis w lewym górnym rogu odkrywa tajemnic(cid:266) — mapy bitowe zosta(cid:225)y pobrane z ró(cid:298)nych folderów drawable! By(cid:252) mo(cid:298)e zauwa(cid:298)y(cid:225)e(cid:286), (cid:298)e przy komponencie obrazka albo przy jego opisie w pliku XML znajduje si(cid:266) malutki (cid:298)ó(cid:225)ty trójk(cid:261)cik uwagi, któr(cid:261) chce Ci podpowiedzie(cid:252) kompilator: „Missing contentDescription attribute.on image” (zapomnia(cid:225)e(cid:286) o parametrze contentDe- scription) — rysunek 3.11. Ka(cid:298)dy element wizualny powinien by(cid:252) opisany, a opis ten jest przeznaczony do automatycznego odczytywania syntetycznym g(cid:225)osem dla kogo(cid:286), kto nie mo(cid:298)e zobaczy(cid:252) motocykla, np. dla osoby niewidomej. W dalszej cz(cid:266)(cid:286)ci nie b(cid:266)dziesz dodawa(cid:252) atrybutu contentDescription. Kup książkęPoleć książkę Rozdzia(cid:228) 3. (cid:105) Graficzne zasoby aplikacji 47 Rysunek 3.9. Menu Run i dalej Run Configurations pozwala opisa(cid:252) szczegó(cid:225)y uruchamiania aplikacji Rysunek 3.10. Dwa ró(cid:298)ne urz(cid:261)dzenia i taka sama fotografia? Napis w lewym górnym rogu wskazuje, (cid:298)e mapy bitowe zosta(cid:225)y pobrane z ró(cid:298)nych folderów drawable Kup książkęPoleć książkę 48 Android. Podstawy tworzenia aplikacji Rysunek 3.11. Trójk(cid:261)cik uwagi, któr(cid:261) podpowiada kompilator Mapa bitowa opakowana w atrybuty XML To, co zrobi(cid:225)e(cid:286) do tej pory z map(cid:261) bitow(cid:261), mo(cid:298)na nazwa(cid:252) wy(cid:286)wietleniem surowego obrazka. By(cid:225)o to dobre i zazwyczaj jest wystarczaj(cid:261)ce. Jednak mo(cid:298)na pój(cid:286)(cid:252) o krok dalej, mianowicie: w folderach drawable, gdzie(cid:286) obok obrazków, umie(cid:286)ci(cid:252) informacj(cid:266) w ro- dzaju: „zrób z tego kafelki”, „zastosuj antyaliasing”, czyli wyg(cid:225)adzanie, „zawsze rozci(cid:261)- gaj, gdy jest miejsce” albo „przycinaj, gdy trzeba”. Jest to jakby wst(cid:266)pna obróbka surowej mapy bitowej za pomoc(cid:261) samych opisów, czyli jeszcze bez programowania w Javie. (cid:297)eby zapoznoa(cid:252) si(cid:266) t(cid:261) technologi(cid:261), sporz(cid:261)d(cid:296) bitmapowe t(cid:225)o ekranu. Przygotuj najpierw odpowiedni „kafelek” w wersjach -ldpi, -mdpi i -hdpi (tak naprawd(cid:266) mo(cid:298)e to by(cid:252) do- wolny, ma(cid:225)y obrazek) i poszczególne wersje umie(cid:286)(cid:252) w katalogach drawable. Potem przygotuj plik XML, który dodatkowo opisze nasz(cid:261) map(cid:266) bitow(cid:261). Plik taki po- winien znale(cid:296)(cid:252) si(cid:266) w jednym, wspólnym dla wszystkich maszyn folderze drawable. Kre- ator tego pliku — opakowania na map(cid:266) bitow(cid:261) — automatycznie utworzy odpowiedni folder. Jak doda(cid:252) zasób XML do folderów drawable? Kliknij prawym klawiszem który- kolwiek folder drawable, wybierz opcj(cid:266) New i dalej Android XML File (rysunek 3.12). W kreatorze pliku XML dokonaj kilku zaznacze(cid:276) (albo — gdy zostanie ju(cid:298) utworzony — zmie(cid:276) w pliku kilka rzeczy r(cid:266)cznie). Wpisz nazw(cid:266) nowego zasobu, którym b(cid:266)dzie teraz plik XML. Typem zasobu niech b(cid:266)dzie bitmap (rysunek 3.13). Kup książkęPoleć książkę Rozdzia(cid:228) 3. (cid:105) Graficzne zasoby aplikacji 49 Rysunek 3.12. Dodawanie zasobu XML do folderów drawable Rysunek 3.13. Tworzenie nazwy i wybór typu nowego zasobu XML Plik XML nie zosta(cid:225) wstawiony do znanej ju(cid:298) Ci rodziny folderów drawable-..., ale do nowego, wspólnego folderu o nazwie po prostu drawable. Jak si(cid:266) pewnie domy(cid:286)lasz, folder drawable zawiera zasoby graficzne wspólne dla wszystkich maszyn, niezale(cid:298)nie od kategorii ich wy(cid:286)wietlaczy. Nowy zasób b(cid:266)dzie wspólny dla wszystkich maszyn, ale nie do ko(cid:276)ca. Oka(cid:298)e si(cid:266) (jak znów nietrudno si(cid:266) domy(cid:286)li(cid:252)), (cid:298)e ostateczna wersja obrazka nadal b(cid:266)dzie wyjmowana z odpowiedniego folderu. Wspólne jest opakowanie XML, ale prawdziwa fotografia nadal ma wiele wersji. Kup książkęPoleć książkę 50 Android. Podstawy tworzenia aplikacji Przyjrzyj si(cid:266) wi(cid:266)c plikowi XML opakowuj(cid:261)cemu mapk(cid:266) bitow(cid:261). Najpierw, po zako(cid:276)- czeniu pracy kreatora, plik ten wygl(cid:261)da tak: ?xml version= 1.0 encoding= utf-8 ? bitmap xmlns:android= http://schemas.android.com/apk/res/android /bitmap Do wn(cid:266)trza tagu bitmap wpisz najwa(cid:298)niejszy i bezwzgl(cid:266)dnie konieczny atrybut, którego warto(cid:286)ci(cid:261) jest nazwa opakowywanej mapki bitowej, tutaj kafelki: ?xml version= 1.0 encoding= utf-8 ? bitmap xmlns:android= http://schemas.android.com/apk/res/android android:src= @drawable/kafelki /bitmap Zatem zdefiniowa(cid:225)e(cid:286) zasób nowego typu — jest to plik XML opakowuj(cid:261)cy prawdzi- wy zasób graficzny. Teraz go wykorzystasz jako t(cid:225)o aplikacji (rysunek 3.14). Niech g(cid:225)ówny plik wygl(cid:261)du, o nazwie prawdopodobnie activity_main.xml (tak(cid:261) nazw(cid:266) na- daje mu na samym pocz(cid:261)tku kreator nowej aplikacji), ma nast(cid:266)puj(cid:261)c(cid:261) tre(cid:286)(cid:252), napisan(cid:261) „r(cid:266)cznie” albo zbudowan(cid:261) w edytorze wizualnym: RelativeLayout xmlns:android= http://schemas.android.com/apk/res/android xmlns:tools= http://schemas.android.com/tools android:layout_width= match_parent android:layout_height= match_parent android:background= @drawable/kafelki_xml ImageView android:id= @+id/imageView1 android:layout_width= wrap_content android:layout_height= wrap_content android:layout_centerHorizontal= true android:layout_centerVertical= true android:src= @drawable/motor1 / /RelativeLayout Jest to w zasadzie to samo, co by(cid:225)o poprzednio, zmieniono tylko sposób u(cid:225)o(cid:298)enia obraz- ka na ekranie — teraz nie znajduje si(cid:266) on w lewym górnym rogu, ale na (cid:286)rodku. I co najwa(cid:298)niejsze, pojawi(cid:225)a si(cid:266) linia: android:background= @drawable/kafelki_xml Podobn(cid:261) fraz(cid:266) ju(cid:298) kiedy(cid:286) stosowa(cid:225)e(cid:286), nadaj(cid:261)c kolor pod(cid:225)o(cid:298)u aplikacji: android:background= #000080 Nie by(cid:225)oby sensu opakowywa(cid:252) w taki sposób plików graficznych, gdyby po drodze nie pojawi(cid:225)y si(cid:266) nowe mo(cid:298)liwo(cid:286)ci. Uzupe(cid:225)nij plik XML o atrybut gravity (czyli o informacj(cid:266) w któr(cid:261) stron(cid:266) obrazek „ci(cid:261)(cid:298)y”, gdy ma na ekranie miejsce): ?xml version= 1.0 encoding= utf-8 ? bitmap xmlns:android= http://schemas.android.com/apk/res/android android:src= @drawable/kafelki android:gravity= fill /bitmap Kup książkęPoleć książkę Rozdzia(cid:228) 3. (cid:105) Graficzne zasoby aplikacji 51 Rysunek 3.14. Mapa bitowa zosta(cid:225)a opakowana w plik XML, który z kolei zosta(cid:225) u(cid:298)yty do budowy t(cid:225)a aplikacji Atrybut gravity mo(cid:298)e przyjmowa(cid:252) do(cid:286)(cid:252) oczywiste warto(cid:286)ci: top, bottom, left, right, center_vertical, fill_vertical, center_horizontal, fill_horizontal, center, fill (jest to warto(cid:286)(cid:252) domy(cid:286)lna, ustawiana, gdy nie u(cid:298)yjesz atrybutu gravity), clip_vertical, clip_horizontal. Jeszcze ciekawszym atrybutem jest tileMode. Atrybut ten nie mo(cid:298)e by(cid:252) u(cid:298)yty razem z poprzednim gravity — czyli stosujesz albo jeden, albo drugi: ?xml version= 1.0 encoding= utf-8 ? bitmap xmlns:android= http://schemas.android.com/apk/res/android android:src= @drawable/kafelki android:tileMode= repeat /bitmap Atrybut tileMode oprócz warto(cid:286)ci repeat mo(cid:298)e przyjmowa(cid:252) stany clamp (nie kafelkuj, tylko rozci(cid:261)gaj kraw(cid:266)dzie) i mirror (kafelkuj, ale lustrzanie obracaj(cid:261)c co drugie rz(cid:266)dy i wiersze kafelków). Oprócz atrybutów gravity (jak u(cid:225)o(cid:298)y(cid:252) obrazek na ekranie) oraz tileMode (jak zbudowa(cid:252) kafelki z obrazka) masz do dyspozycji trzy atrybuty (rysunek 3.15) definiuj(cid:261)ce jako(cid:286)(cid:252) obrazu i przyjmuj(cid:261)ce warto(cid:286)ci true albo false: android:antialias (wyg(cid:225)adzanie), android:dither (poprawianie palety kolorów) i android:filter (poprawianie obrazu przy (cid:286)ciskaniu albo rozci(cid:261)ganiu mapy bitowej). Kup książkęPoleć książkę 52 Android. Podstawy tworzenia aplikacji Rysunek 3.15. Przy opakowywaniu pliku graficznegomo(cid:298)na zastosowa(cid:252) ró(cid:298)ne atrybuty (gravity, tileMode, android:antialias, android:dither, android:filter) Wiele map bitowych w jednym opakowaniu XML A je(cid:286)li chcia(cid:225)by(cid:286) mie(cid:252) przycisk, na którym znajduje si(cid:266) zmieniaj(cid:261)ca si(cid:266) mapa bitowa: inna, gdy myszka wisi nad przyciskiem, inna, gdy go klika, inna, gdy go opuszcza? Za- gadnienie to da si(cid:266) zrealizowa(cid:252) bez programowania, za pomoc(cid:261) opisów w odpowied- nich plikach XML. Gdyby(cid:286) chcia(cid:225) poczyta(cid:252) o tym wi(cid:266)cej, wpisz w Google frazy „Android State List” (lista stanów). Zacznij od przygotowania prawdziwych zasobów, czyli teraz serii mapek bitowych, przedstawiaj(cid:261)cych np. rybk(cid:266) w trzech ró(cid:298)nych kolorach. Potem przygotuj t(cid:266) seri(cid:266) ry- bek w ró(cid:298)nych rozmiarach i, by(cid:252) mo(cid:298)e, ró(cid:298)nych jako(cid:286)ciach, przeznaczonych na urz(cid:261)- dzenia o ró(cid:298)nej jako(cid:286)ci wy(cid:286)wietlaczy (rysunek 3.16). Te pliki — tak jak poprzednio — umie(cid:286)(cid:252) w folderach drawable-ldpi, drawable-mdpi itd. W zale(cid:298)no(cid:286)ci od stanu przy- cisku (zaraz odpowiedni przycisk zostanie wprowadzony do gry) system Android umie(cid:286)ci na nim inn(cid:261) wersj(cid:266) mapki bitowej. Powiniene(cid:286) te(cid:298) przygotowa(cid:252) pomniejszone i powi(cid:266)k- szone wersje obrazków i porozmieszcza(cid:252) je w folderach drawable-ldpi, drawable-mdpi i drawable-hdpi. Kup książkęPoleć książkę Rozdzia(cid:228) 3. (cid:105) Graficzne zasoby aplikacji 53 Rysunek 3.16. Przygotowanie obrazka o boku d(cid:225)ugo(cid:286)ci kilkuset pikseli i ró(cid:298)nej kolorystyce albo ró(cid:298)nicy dotycz(cid:261)cej jakiego(cid:286) innego czytelnego szczegó(cid:225)u Maj(cid:261)c w folderach drawable-... seri(cid:266) rybek o ró(cid:298)nych kolorach, mo(cid:298)esz przyst(cid:261)pi(cid:252) do opisywania Listy stanów. Kliknij prawym przyciskiem myszki folder drawable i z po- jawiaj(cid:261)cego si(cid:266) menu wybierz New i dalej Android XML File, czyli plik XML (rysu- nek 3.17). Przed chwil(cid:261) w takim pliku opisywa(cid:225)e(cid:286) jedn(cid:261) mapk(cid:266) bitow(cid:261), teraz opiszesz ca(cid:225)y ich stos. Rysunek 3.17. Nowy plik XML, opisuj(cid:261)cy ca(cid:225)y stos mapek bitowych Wykorzystaj pojawiaj(cid:261)cy si(cid:266) kreator pliku XML, cho(cid:252) móg(cid:225)by(cid:286) przygotowa(cid:252) odpowiedni plik ca(cid:225)kowicie r(cid:266)cznie. Podaj nazw(cid:266) pliku, oznacz, (cid:298)e g(cid:225)ówny element ma by(cid:252) typu Selector i zako(cid:276)cz przyciskiem Finish (rysunek 3.18). W folderze drawable powinien pojawi(cid:252) si(cid:266) nowy zasób — plik stos_rybek_xml. Kup książkęPoleć książkę 54 Rysunek 3.18. Tworzenie nowego zasobu XML — plik stos_rybek_xml Android. Podstawy tworzenia aplikacji Jak zwykle dwa razy kliknij nowy plik, aby otworzy(cid:252) go do edycji. Uzupe(cid:225)nij jego tre(cid:286)(cid:252) nast(cid:266)puj(cid:261)co: ?xml version= 1.0 encoding= utf-8 ? selector xmlns:android= http://schemas.android.com/apk/res/android item android:state_pressed= true android:drawable= @drawable/ryba_r / item android:state_focused= true android:drawable= @drawable/ryba_b / item android:drawable= @drawable/ryba / /selector Do wn(cid:266)trza tagu selector wpisz kilka tagów item , odpowiadaj(cid:261)cych ró(cid:298)nym sta- nom przycisku, który za chwil(cid:266) zaimplementujesz. Gdy przycisk jest w stanie pressed, czyli naci(cid:286)ni(cid:266)ty, powinna si(cid:266) wy(cid:286)wietla(cid:252) mapka o nazwie ryba_r (rybka o czerwona- wym odcieniu). Gdy przycisk jest w stanie focused, czyli gotowy do naci(cid:286)ni(cid:266)cia — ryba_b. Gdy z przyciskiem nic si(cid:266) nie dzieje albo co(cid:286) si(cid:266) dzieje, ale tego tutaj nie opisa- (cid:225)em, wy(cid:286)wietli si(cid:266) wersja zapisana jako ryba. Jest to tzw. normalny stan przycisku, który opisuje si(cid:266) zawsze za pomoc(cid:261) ostatniego tagu item w powy(cid:298)szym wyliczeniu stanów. Nale(cid:298)y jeszcze zaimplementowa(cid:252) sam przycisk oraz podpi(cid:261)(cid:252) do niego ten oryginalny sposób kolorowania jego powierzchni. G(cid:225)ówny plik wygl(cid:261)du z folderu layout powi- nien mie(cid:252) nast(cid:266)puj(cid:261)c(cid:261) zawarto(cid:286)(cid:252): Kup książkęPoleć książkę Rozdzia(cid:228) 3. (cid:105) Graficzne zasoby aplikacji 55 Rysunek 3.19. Do poprzedniej aplikacji nale(cid:298)y doda(cid:252) przycisk i opracowa(cid:252) jego w(cid:225)a(cid:286)ciwo(cid:286)(cid:252) background (t(cid:225)o). Niech t(cid:225)em b(cid:266)dzie nowy zasób XML zwany List(cid:261) stanów RelativeLayout xmlns:android= http://schemas.android.com/apk/res/android xmlns:tools= http://schemas.android.com/tools android:layout_width= match_parent android:layout_height= match_parent android:background= @drawable/kafelki_xml ImageView android:id= @+id/imageView1 android:layout_width= wrap_content android:layout_height= wrap_content android:layout_alignParentLeft= true android:layout_alignParentTop= true android:layout_marginTop= 50dp android:src= @drawable/motor3 / Button android:id= @+id/button1 android:layout_width= wrap_content android:layout_height= wrap_content android:layout_below= @+id/imageView1 android:layout_centerHorizontal= true android:background= @drawable/stos_rybek_xml / /RelativeLayout Du(cid:298)a cz(cid:266)(cid:286)(cid:252) tego pliku jest Ci znana. Jest tu rozk(cid:225)ad relatywny, czyli kolejne komponenty s(cid:261) uk(cid:225)adane wzgl(cid:266)dem poprzednich, u(cid:225)o(cid:298)onych wcze(cid:286)niej. Rzeczywi(cid:286)cie, komponent Button le(cid:298)y pod komponentem ImageView: android:layout_below= @+id/imageView1 Natomiast stos obrazków — zagadnienie opisane na kilku ostatnich stronach — po- jawia si(cid:266) w linii opisuj(cid:261)cej t(cid:225)o przycisku: android:background= @drawable/stos_rybek_xml / Jest to odwo(cid:225)anie do w(cid:225)a(cid:286)nie stworzonego zasobu XML, umieszczonego w folderze drawable. Kup książkęPoleć książkę 56 Android. Podstawy tworzenia aplikacji Pora na podsumowanie. Znów powtórzy(cid:225) si(cid:266) nast(cid:266)puj(cid:261)cy schemat: gdzie(cid:286) w pierwotnych folderach drawable-... znajduj(cid:261) si(cid:266) prawdziwe mapy bitowe, ró(cid:298)ni(cid:261)ce si(cid:266) rozmiarami, mo(cid:298)e tak(cid:298)e jako(cid:286)ci(cid:261) grafiki. Ró(cid:298)nice mi(cid:266)dzy nimi konieczne s(cid:261) z tego wzgl(cid:266)du, (cid:298)e na lep- sze urz(cid:261)dzenia przygotowuje si(cid:266) inn(cid:261) grafik(cid:266) (grafika, która ma wi(cid:266)cej detali i szcze- gó(cid:225)ów) ni(cid:298) na gorsze. Jakby nad surowymi mapami bitowymi znajduj(cid:261) si(cid:266) pliki XML definiuj(cid:261)ce specjalne w(cid:225)a(cid:286)ciwo(cid:286)ci rysunku. Pliki te znajduj(cid:261) si(cid:266) we wspólnym dla wszystkich urz(cid:261)dze(cid:276) katalogu drawable. Dopiero te pliki wywo(cid:225)ywane s(cid:261) w g(cid:225)ównym pliku wygl(cid:261)du. Tak pojawi(cid:225)y si(cid:266) wcze(cid:286)niej kafelki, a teraz aktywny przycisk zmieniaj(cid:261)cy swój rysunek, gdy klikniesz go myszk(cid:261) (rysunek 3.20). Rysunek 3.20. T(cid:225)em przycisku jest zasób XML, zwany State List (lista stanów). Ka(cid:298)dy stan to jaki(cid:286) inny obrazek — klikni(cid:266)cie czy zatrzymanie si(cid:266) na obrazku zmienia jego wygl(cid:261)d Kup książkęPoleć książkę Skorowidz A AbsoluteLayout, 32, 34 ADT, Android Development Tools, 12 akcja, Patrz metoda aktywno(cid:286)ci (cid:286)ci(cid:261)gaj(cid:261)ce dane, 206 aktywno(cid:286)(cid:252) poboczna, 208 wtórna, 207 algorytm klasy publicznej, 81 rysowania, 135 Android SDK, 9, 211 Android SDK Manager, 13, 211 animacja, 98 (cid:225)(cid:261)czenie efektów, 110 poklatkowa, 113 przycisku, 108 antyaliasing, 130, 135 aparat graficzny, 188 aplikacja z ekranami, 191 atrybut angle, 68 contentDescription, 46 gravity, 50 tileMode, 51 atrybuty XML, 48 AVD, Android Virtual Device, 14, 41, 211 B bitmapy prywatne, 161 blokowanie komponentu, 163 przycisku, 165, 171 b(cid:225)(cid:261)d, 188 b(cid:225)(cid:261)d w logice interfejsu, 164 budowanie interfejsu, 169 C czas trwania animacji, 102 czyszczenie ekranu, 162 D Dalvik, 9, 211 definiowanie efektów animacyjnych, 101 egzemplarza aparatu graficznego, 188 klasy w klasie, 176 przycisku, 79, 84 stylów, 87 t(cid:225)a, 66 d(cid:225)ugotrwa(cid:225)y proces, 168 dodawanie identyfikatora, 148 zasobu XML, 49 dokumentacja online Androida, 119 dost(cid:266)p do internetu, 208 do zmiennych, 119 dp, device independent pixel, drzewo plików projektu, 98 dynamiczne tworzenie obrazów, 64, 211 161 dzia(cid:225)anie aktywno(cid:286)ci, 147 dziedziczenie, 125 E Eclipse, 9 Eclipse Plugin, 211 edytor Eclipse, 9 edytowanie pliku, 30 , 67, 201 efekt, 97 rozmycia obrazu, 157 zamiany sk(cid:225)adowej koloru, efekty 155 zanikania, 102 animacyjne, 98 specjalne, 100 egzemplarz procesu, 176 ekran, 191 HVGA, 41 QVGA, 41 WVGA, 41 resource, 92 shape, 89 element elementy interfejsu, 25 emulator aplikacji, 18 o ekranach ró(cid:298)nej jako(cid:286)ci, 41 F fabryka map bitowych, 150, 187 film, 113, 116 folder, Patrz katalog format fotograficzny, 188 funkcja, Patrz metoda funkcje prywatne, 109 Kup książkęPoleć książkę 214 Android. Podstawy tworzenia aplikacji G g(cid:225)(cid:266)bia koloru, 151 gra w kó(cid:225)ko i krzy(cid:298)yk, 87 graficzne zasoby aplikacji, 39 I IDE, 11, 212 identyfikator, 148 implementacja klasy, 82 importowanie pakietu, 81, 130 informacja o rozmiarach komponentu, 150 inicjowanie bitmapy, 161 zmiennej, 120 instalator Android SDK, 10 instalowanie Android SDK, 9 IDE Eclipse, 9, 12 Javy, 9 interfejs do ogl(cid:261)dania filmu, 116 u(cid:298)ytkownika, 103, 146 J Java, 9 JDK, 212 jednostka dp, 64 K katalog bin, 17 drawable, 39, 49 layout, 22, 63 res, 17–21, 39 src, 17 values, 20, 62 klasa Activity, 106, 147, 171 Animation, 106 AnimationDrawable, 118 AsyncTask, 167, 173 BitmapFactory, 150 Bundle, 208 Calendar, 85 Canvas, 127, 152 Figura, 133 ImageView, 161 Intent, 200 klasy MainActivity, 81 OdczytObrazka, 186, 205 Paint, 127 Proces, 172 RectF, 136 View, 106, 122, 134 bazowe, 127, 133 implementacja, implements, 82 konstruktor, 124 kreator, 122 nazwa, 124, 198 rozszerzanie, extends, 82, 132, 171, 174 tworzenie, 122 klatki filmu, 113 klawisze Ctrl+Spacja, 68, 92, 99, 198 kolejno(cid:286)(cid:252) budowania interfejsu, 169 rozmieszczania elementów, 192 kolor, 61, 65 kolor piksela, 156 komponent Button, 59, 145 ImageView, 35, 103, 145, 194 ProgressBar, 177 RelativeLayout, 91 TableRow, 63 TextView, 71, 145 View, 122 komponenty blokowanie, 163 graficzne, 121 informacja o rozmiarach, 150 nazywanie, 71 po(cid:225)o(cid:298)enie, 137, Patrz tak(cid:298)e rozk(cid:225)ad tworzenie, 121 wizualne, 121 w(cid:225)asne, 121 wybieranie, 31 konfigurowanie Eclipse, 11–13 konstruktor klasy, 124 bazowej, 125 potomnej, 125 kó(cid:225)ka, 129 kó(cid:225)ko i krzy(cid:298)yk, 87 kreator klasy, 122 nowego projektu, 78, 194 nowej aplikacji, 50 zasobu XML, 48, 100, 115 kszta(cid:225)ty, 66 L layout, 22, 58 AbsoluteLayout, 32, 34 LinearLayout, 24, 26 RelativeLayout, 70, 90, 158 TableLayout, 27, 58 LinearLayout, 24, 26 linia, 68 lista stanów, 53 lokalizacja oprogramowania, 12 pliku graficznego, 37 losowanie jednokrotne, 142 liczb, 131 pikseli, 157 (cid:227) (cid:225)(cid:261)czenie animacji, 110 klatek, 115 M manifest, 200 mapy bitowe, 43, 48, 145 inicjalizowanie, 161 operacje graficzne, 154 podgl(cid:261)d, 145 przekszta(cid:225)cenie, 154 rysowanie, 152 maszyna losuj(cid:261)ca Random, 131 wirtualna Dalvik, 9 metoda data_i_godzina(), 84 decodeResource(), 150 doInBackground(), 180 drawLine(), 162 drawRect(), 163 eraseColor(), 163 execute(), 185 findViewById(), 86, 106, 148, 161 finish(), 81 getContentDescription(), 141 Kup książkęPoleć książkę Skorowidz 215 getInstance(), 85 getPixel(), 156 getString(), 208 kliknieto(), 79, 95 kliknieto_kreuj(), 161 kliknieto_start(), 169 kliknij(), 148 losuj_dane(), 143 obracaj(), 106 onCreate(), 120, 171, 199 onDraw(), 126, 130, 134 onPostExecute(), 188 onPreExecute(), 176, 188 onProgressUpdate(), 179 putExtra(), 207 rgb(), 156 rysuj(), 152, 155 setARGB(), 162 setText(), 86 start(), 118 startAnimation(), 107 stop(), 118 stosuj_wszystko(), 112 super(), 125 metody abstrakcyjne, 198 finalne, 132 nadpisane, 127 prywatne, 109 N nadawanie nazwy plikowi .xml, 92 warto(cid:286)ci wspólnej, 64 nadpisywanie metody, 125 narz(cid:266)dzia Android SDK, 10 nawigacja mi(cid:266)dzy ekranami, 202 nazwa klasy, 124, 198 metody, 124, 198 pliku, 124 komponentów, 71 pliku XML, 99 nazywanie O obiekty u(cid:225)o(cid:298)one obok siebie, 24 w oczkach sieci, 27 obraz klasy fotograficznej, 188 obrazek, 145 obrót, 101, 109 obrót ekranu, 96 obs(cid:225)uga klikni(cid:266)(cid:252), 105, 147, 192 wyj(cid:261)tków, 188 zdarzenia onClick, 95 oczyszczanie pami(cid:266)ci, 171 odczytywanie obrazka, 186 pliku, 185 od(cid:286)miecacz Javy, 171 od(cid:286)wie(cid:298)anie obrazka, 171 okno emulatora aplikacji, 18 kreatora klasy, 123 okr(cid:261)g(cid:225)y wska(cid:296)nik post(cid:266)pu, 194 okre(cid:286)lanie warto(cid:286)ci atrybutu, 140 opisywanie efektów specjalnych, 100 zasobów, 114 oprogramowanie ekranów, 202 osadzanie elementów, 83 P pakiet Eclipse Classic, 11 Javy, 10 piksel, 155 plik activity_main.xml, 58 AndroidManifest.xml, 183, 200 Figura.java, 133 MainActivity.java, 79, 117, 153, 206 strings.xml, 20, 25, 34 class, 17 wygl(cid:261)du, 28, 79, 91, 104, pliki podgl(cid:261)d mapy bitowej, 145 podpowied(cid:296), 68, 92, 99, 198 pole tekstowe, 69, 86 polecenie Refresh, 114, 145 polimorfizm, 96, 148 po(cid:225)o(cid:298)enie komponentu, 137 postfiks hdpi, 40, 43 ldpi, 39 mdpi, 40 xhdpi, 40, 43 pozyskiwanie mapy bitowej, proces, 167 proces (cid:286)ci(cid:261)gania, 182 projekcja filmu, 118 prostok(cid:261)t, 68 prototyp metody, 148, 174 przechwytywanie parametru, przekszta(cid:225)canie mapy bitowej, 154 208 154 przesuni(cid:266)cie, 102, 110 przesuwanie ekranu, 58–61 przezroczysto(cid:286)(cid:252), 101 przycisk, 64 „Koniec”, 77 Button, 32, 194 Obrót, 107 przyciski animowanie, 98 blokowanie, 165, 171 definiowanie, 79, 84 rozmieszczanie, 93 wstawianie, 59 przypisywanie kolorów, 65 R RelativeLayout, 70, 90, 158 rozk(cid:225)ad AbsoluteLayout, 32, 34 LinearLayout, 24, 26 RelativeLayout, 70, 90, 158 TableLayout, 27, 58 roz(cid:225)o(cid:298)enie swobodne, 32 rozmiar komponentu, 149 obrazka, 43 rozmieszczanie przycisków, 93 elementów, 192 funkcjonalno(cid:286)ci, 82 klasy, 82, 132, 171, 174 rysowanie na ekranie, 134 na mapie bitowej, 152, 153 ramki, 188 w drugim planie, 167 w tle, 178 rzutowanie, 95 117, 138, 146, 159, 182, 196 rozmycie obrazu, 157 rozszerzanie Kup książkęPoleć książkę 216 Android. Podstawy tworzenia aplikacji S ScrollView, 57 SDK Location, 12 Shapes, 66 silnik animacji, 119 skalowanie, 102 sk(cid:225)adowe koloru, 155 s(cid:225)owo kluczowe extends, 82 final, 132 implements, 82 super, 125, 127 stan urz(cid:261)dzenia, 180 struktura katalogów drawable, 39 strumie(cid:276) danych, 187 sufler, 68, 92, 99, 198 suwak przewijania, 60, 137 (cid:286)ci(cid:261)ganie danych z internetu, 181 (cid:286)rodowisko programistyczne, 9 (cid:263) T TableLayout, 27, 58 tag animation-list, 115 bitmap, 113 LinearLayout, 136 ScrollView, 58, 136 t(cid:225)o aplikacji, 66, 89 gradientowe, 90 TrueColor, 162 tworzenie AVD, 15 efektów, 97 ekranów, 191 ikony, 17, 36 klasy, 122 komponentów, 121 mapy bitowej, 157 nazwy, 49 pierwszej aplikacji, 15, 19 pliku, 62, 195 pliku XML, 99 wirtualnego urz(cid:261)dzenia, 41 zasobu XML, 54 typ Void, 180 nieokre(cid:286)lony, 173 typy wy(cid:286)wietlaczy, 41 U uk(cid:225)adanie obiektów, 24, 27 uruchamianie animacji, 105 aplikacji, 47 procesu w tle, 176, 178 projekcji, 118 urz(cid:261)dzenia AVD, 46 urz(cid:261)dzenie QVGA, 42 WVGA800, 42 ustalanie atrybutów figur, 130 ustawienia kursora, 67 W w(cid:261)tek g(cid:225)ówny, 167 poboczny, 167 wersja systemu Android, 14 wiruj(cid:261)ce kó(cid:225)ko, 182 wklejanie adresu internetowego, 185 w(cid:225)a(cid:286)ciwo(cid:286)(cid:252) Background, 65, 66 contentDescription, 138 Enabled, 163 src, 103 Style, 92 Visibility, 176 Workspace, 19, 212 wska(cid:296)nik post(cid:266)pu, 177, 194 wstawianie fraz XML, 67 przycisku, 59 wierszy, 63 wybór komponentu, 31 nazwy rysunku, 36 zasobu, 45 wygl(cid:261)d aplikacji, 19, 22, 57 ekranu g(cid:225)ównego, 194 tabelaryczny, 58 wyg(cid:225)adzanie grafiki, 130, 135 wyj(cid:261)tek, 80, 188 wy(cid:286)wietlacze, 41 wy(cid:286)wietlanie daty, 82 grafiki, 194, 203 obrazka, 161 zmian, 153 Z zak(cid:225)adka Images Media, 45 zamiana sk(cid:225)adowej koloru, 155 zanikanie, 102 zarz(cid:261)dca systemów Android, 13 zasoby graficzne, 39, 113, 145 XML, 55 zdarzenie onClick, 95, 147 zegar, 82 zezwolenie na dost(cid:266)p do internetu, 208 zmienne prywatne, 166 typu Bitmap, 150 Kup książkęPoleć książkę
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Android. Podstawy tworzenia aplikacji
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: