Darmowy fragment publikacji:
Tytuł oryginału: Android Studio Essentials
Tłumaczenie: Piotr Rajca
ISBN: 978-83-283-1466-5
Copyright © Packt Publishing 2015.
First published in the English language under the title „Android Studio Essentials” – (9781784397203).
Polish edition copyright © 2015 by Helion S.A.
All rights reserved.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
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.
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/andrsp
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
• Kup książkę
• Poleć książkę
• Oceń książkę
• Księgarnia internetowa
• Lubię to! » Nasza społeczność
Spis tre(cid:258)ci
O autorze
O recenzentach technicznych
Wst(cid:218)p
Rozdzia(cid:239) 1. Instalacja i konfiguracja Android Studio
Przygotowania do instalacji
Pobieranie Android Studio
Instalacja Android Studio
Pierwsze uruchomienie Android Studio
Konfiguracja Android SDK
Podsumowanie
Rozdzia(cid:239) 2. Tworzenie projektu
Tworzenie nowego projektu
Konfigurowanie projektu
Okre(cid:258)lanie wielko(cid:258)ci obudów
Wybór typu aktywno(cid:258)ci
Podsumowanie
Rozdzia(cid:239) 3. Nawigacja po projekcie
Panel nawigacyjny projektu
Struktura projektu
Katalog resources
Gradle
Ustawienia projektu
Podsumowanie
7
9
11
15
15
16
16
17
19
20
21
21
22
23
24
29
31
31
33
34
35
36
37
Poleć książkęKup książkęSpis tre(cid:286)ci
Rozdzia(cid:239) 4. Korzystanie z edytora kodu
Dostosowywanie ustawie(cid:241) edytora
Uzupe(cid:239)nianie kodu
Generowanie kodu
Poruszanie si(cid:218) po kodzie
Przydatne skróty klawiszowe
Podsumowanie
Rozdzia(cid:239) 5. Tworzenie interfejsu u(cid:285)ytkownika
Edytor graficzny
Tekstowy edytor uk(cid:239)adów
Tworzenie nowego uk(cid:239)adu
Dodawanie komponentów
Obs(cid:239)uga wielu ekranów
Zmienianie tematu graficznego
Obs(cid:239)uga zdarze(cid:241)
Podsumowanie
Rozdzia(cid:239) 6. Narz(cid:218)dzia
Program SDK Manager
Program AVD Manager
Navigation Editor
Generowanie dokumentacji Javadoc
Systemy kontroli wersji
Podsumowanie
Rozdzia(cid:239) 7. Us(cid:239)ugi Google Play
Jak dzia(cid:239)aj(cid:200) us(cid:239)ugi Google Play?
Dost(cid:218)pne us(cid:239)ugi Google Play
Dodawanie us(cid:239)ug Google Play do Android Studio
Google Maps Android API wersja 2.
Google+ Platform for Android
Google Play In-App Billing wersja 3.
Google Cloud Messaging
Podsumowanie
Rozdzia(cid:239) 8. Debugowanie
Uruchamianie i debugowanie aplikacji
Karta Console
Karta Debugger
Karta LogCat
Android Device Monitor
Karta Threads
Karta Heap
Karta Allocation Tracker
4
39
40
42
44
45
47
47
49
50
51
52
53
55
59
60
63
65
66
67
72
75
76
78
79
79
80
81
84
85
86
87
88
89
89
90
91
93
95
96
98
99
Poleć książkęKup książkęKarta Network Statistics
Karta File Explorer
Karta Emulator Control
Karta System Information
Podsumowanie
Rozdzia(cid:239) 9. Przygotowania do wydania aplikacji
Przedstawienie plików APK
Niezb(cid:218)dne czynno(cid:258)ci, jakie nale(cid:285)y wykona(cid:202) przed opublikowaniem aplikacji
Generowanie podpisanego pliku APK
Podsumowanie
(cid:189)ród(cid:239)a dodatkowych informacji
System pomocy Android Studio
Internetowa dokumentacja systemu Android
Aktualizacje
Podsumowanie
Skorowidz
Spis tre(cid:286)ci
100
100
100
101
101
103
103
105
106
107
109
109
110
111
112
113
5
Poleć książkęKup książkęSpis tre(cid:286)ci
6
Poleć książkęKup książkę4
Korzystanie
z edytora kodu
Skoro ju(cid:285) utworzyli(cid:258)my nasz pierwszy projekt i umiemy porusza(cid:202) si(cid:218) po ró(cid:285)nych katalogach,
podkatalogach i plikach, nadszed(cid:239) czas, by zabra(cid:202) si(cid:218) do programowania. Czy kiedykolwiek chcie-
li(cid:258)my programowa(cid:202) efektywniej? W jaki sposób mo(cid:285)emy przyspieszy(cid:202) proces powstawania kodu?
Czy przy okazji nie chcieliby(cid:258)my pozna(cid:202) u(cid:285)ytecznych skrótów klawiszowych? Na przyk(cid:239)ad w jaki
sposób mo(cid:285)na umie(cid:258)ci(cid:202) w komentarzu kilka wierszy kodu jednocze(cid:258)nie, jak odszuka(cid:202) i zast(cid:200)pi(cid:202)
(cid:239)a(cid:241)cuch znaków, przechodzi(cid:202) szybciej pomi(cid:218)dzy poszczególnymi parametrami w wywo(cid:239)aniu
metody?
W tym rozdziale zostan(cid:200) przedstawione mo(cid:285)liwo(cid:258)ci dostosowywania sposobu dzia(cid:239)ania edytora
kodu, dzi(cid:218)ki którym b(cid:218)dziemy mogli pracowa(cid:202) bardziej komfortowo. Warto tak(cid:285)e pozna(cid:202) podsta-
wowe mo(cid:285)liwo(cid:258)ci edytora, by poprawi(cid:202) wydajno(cid:258)(cid:202) pracy. Poznamy automatyczne uzupe(cid:239)nia-
nie oraz generowanie kodu. Na samym ko(cid:241)cu przedstawione zostan(cid:200) najbardziej u(cid:285)yteczne
skróty klawiszowe, które pozwol(cid:200) jeszcze bardziej przyspieszy(cid:202) i usprawni(cid:202) prac(cid:218).
W tym rozdziale zostan(cid:200) opisane nast(cid:218)puj(cid:200)ce zagadnienia:
(cid:81) Dostosowywanie dzia(cid:239)ania edytora kodu
(cid:81) Uzupe(cid:239)nianie kodu
(cid:81) Generacja kodu
(cid:81) Odnajdowanie powi(cid:200)zanych tre(cid:258)ci
(cid:81) Przydatne skróty klawiaturowe
Poleć książkęKup książkęAndroid Studio. Podstawy
Dostosowywanie ustawie(cid:241) edytora
Aby wy(cid:258)wietli(cid:202) ustawienia edytora, nale(cid:285)y wybra(cid:202) z menu g(cid:239)ównego opcj(cid:218) File/Settings, a na-
st(cid:218)pnie w oknie dialogowym Settings rozwin(cid:200)(cid:202) opcj(cid:218) Editor dost(cid:218)pn(cid:200) na hierarchicznej li(cid:258)cie
z lewej strony okna i klikn(cid:200)(cid:202) opcj(cid:218) General. W rezultacie w panelu z prawej strony okna dialo-
gowego wy(cid:258)wietl(cid:200) si(cid:218) ogólne opcje edytora. Zach(cid:218)cam do zaznaczenia dwóch z nich, które
domy(cid:258)lnie nie s(cid:200) wybrane:
(cid:81) Change font size (Zoom) with Ctrl+Mouse Wheel — zaznaczenie tej opcji pozwala
zmienia(cid:202) wielko(cid:258)(cid:202) czcionki u(cid:285)ywanej w edytorze przy u(cid:285)yciu kó(cid:239)ka myszy,
podobnie jak mo(cid:285)na to robi(cid:202) w innych programach, takich jak przegl(cid:200)darki WWW.
(cid:81) Show quick doc on mouse move — zaznaczenie tej opcji pozwala na wy(cid:258)wietlanie
krótkich informacji o kodzie w niewielkim oknie dialogowym, je(cid:258)li wska(cid:283)nik myszy
zostanie umieszczony na wybranym fragmencie kodu na d(cid:239)u(cid:285)ej ni(cid:285) 500 milisekund.
Po ponownym przesuni(cid:218)ciu wska(cid:283)nika myszy okienko zostanie automatycznie
ukryte, je(cid:258)li jednak wska(cid:283)nik zostanie przesuni(cid:218)ty na okienko, to b(cid:218)dzie mo(cid:285)na
dok(cid:239)adnie przejrze(cid:202) ca(cid:239)(cid:200) zawarto(cid:258)(cid:202) prezentowanego w nim dokumentu. To, (cid:285)e
mo(cid:285)na przeczyta(cid:202) informacje o przeznaczeniu metody oraz o jej parametrach bez
odnajdowania jej w dokumentacji, jest niezwykle u(cid:285)yteczne. Przyk(cid:239)adowa posta(cid:202)
takich informacji zosta(cid:239)a przedstawiona na rysunku 4.1.
Rysunek 4.1. Okienko dialogowe z informacjami o wybranej metodzie
40
Poleć książkęKup książkęRozdzia(cid:225) 4. • Korzystanie z edytora kodu
Okno dialogowe Settings udost(cid:218)pnia tak(cid:285)e wiele innych ustawie(cid:241) okre(cid:258)laj(cid:200)cych wygl(cid:200)d i spo-
sób dzia(cid:239)ania edytora. S(cid:200) one dost(cid:218)pne za po(cid:258)rednictwem kilkunastu opcji dost(cid:218)pnych na li-
(cid:258)cie z lewej strony, w ga(cid:239)(cid:218)zi opcji Editor. Poni(cid:285)ej zamieszczone zosta(cid:239)y krótkie informacje na
temat kilku wybranych spo(cid:258)ród nich:
(cid:81) Smart Keys — ta kategoria pozwala skonfigurowa(cid:202) akcje, które b(cid:218)d(cid:200) wykonywane
automatycznie podczas wpisywania kodu, takie jak: automatyczne dodawanie
nawiasów zamykaj(cid:200)cych, znaczników zamykaj(cid:200)cych b(cid:200)d(cid:283) automatyczne dodawanie
wci(cid:218)cia po naci(cid:258)ni(cid:218)ciu klawisza Enter.
(cid:81) Appearance — ta kategoria zawiera opcje okre(cid:258)laj(cid:200)ce wygl(cid:200)d edytora. Mo(cid:285)na tu
za(cid:285)(cid:200)da(cid:202) wy(cid:258)wietlania numeracji wierszy, ró(cid:285)nego rodzaju ikon przekazuj(cid:200)cych
dodatkowe informacje o kodzie, odst(cid:218)pów itd. Sugerowa(cid:239)bym zmian(cid:218) dwóch
ustawie(cid:241), które domy(cid:258)lnie nie s(cid:200) zaznaczone:
(cid:81) Show line numbers — ta opcja pozwala wy(cid:258)wietla(cid:202) numeracj(cid:218) wierszy z lewej
strony edytora. Numery wierszy s(cid:200) bardzo przydatne podczas debugowania
programów oraz weryfikacji informacji zapisywanych w dzienniku aplikacji.
(cid:81) Show method separators — ta opcja pozwala na wizualne oddzielenie metod klasy.
(cid:81) Colors Fonts — ta grupa opcji konfiguracyjnych pozwala na okre(cid:258)lanie czcionek
i kolorów. Jest ona bardzo obszerna i udost(cid:218)pnia mo(cid:285)liwo(cid:258)ci okre(cid:258)lania postaci
wielu ró(cid:285)nych elementów (s(cid:239)ów kluczowych, liczb, ostrze(cid:285)e(cid:241), b(cid:239)(cid:218)dów, komentarzy,
(cid:239)a(cid:241)cuchów znaków itd., a wszystko to z podzia(cid:239)em na ró(cid:285)ne j(cid:218)zyki programowania
obs(cid:239)ugiwane przez edytor). Wszystkie te ustawienia mo(cid:285)na zapisywa(cid:202) w formie
schematów.
(cid:81) Editor Tabs — ta kategoria pozwala konfigurowa(cid:202) karty edytora. Sugeruj(cid:218)
zaznaczenie opcji Mark modified tabs with asterisk, dzi(cid:218)ki której z (cid:239)atwo(cid:258)ci(cid:200) b(cid:218)dzie
mo(cid:285)na okre(cid:258)li(cid:202), które ze zmodyfikowanych plików jeszcze nie zosta(cid:239)y zapisane.
(cid:81) Code Folding — w tej kategorii s(cid:200) dost(cid:218)pne opcje zwi(cid:200)zane z mechanizmem
zwijania i rozwijania kodu. Zwijanie kodu (ang. code folding) pozwala na ukrywanie
bloków kodu, które nie s(cid:200) aktualnie edytowane, dzi(cid:218)ki czemu prezentowany kod
staje si(cid:218) prostszy i czytelniejszy. Fragmenty kodu mo(cid:285)na zwija(cid:202), a nast(cid:218)pnie rozwija(cid:202),
korzystaj(cid:200)c z ikon wy(cid:258)wietlanych w edytorze (patrz rysunek 4.2) lub przy u(cid:285)yciu
opcji dost(cid:218)pnych w menu Code/Folding.
Rysunek 4.2. Ikony pozwalaj(cid:200)ce na zwijanie i rozwijanie bloków kodu
41
Poleć książkęKup książkęAndroid Studio. Podstawy
(cid:81) Code Completion — opcje dost(cid:218)pne w tej kategorii pozwalaj(cid:200) na konfiguracj(cid:218)
mechanizmu uzupe(cid:239)niania kodu, który zostanie bardziej szczegó(cid:239)owo opisany
w nast(cid:218)pnym podrozdziale.
(cid:81) Auto Import — opcje dost(cid:218)pne w tej kategorii pozwalaj(cid:200) skonfigurowa(cid:202) dzia(cid:239)anie
edytora w przypadku wklejania kodu korzystaj(cid:200)cego z klas, które nie zosta(cid:239)y jeszcze
zaimportowane w bie(cid:285)(cid:200)cym pliku. Domy(cid:258)lnie w takim przypadku wy(cid:258)wietlane jest
okienko dialogowe sugeruj(cid:200)ce dodanie odpowiednich instrukcji import (patrz
rysunek 4.3). Je(cid:258)li jednak zostanie zaznaczona opcja Add unambiguous imports
on the fly1, to instrukcje import b(cid:218)d(cid:200) dodawane automatycznie, bez zmuszania nas
do interakcji z IDE.
Rysunek 4.3. Okienko sugeruj(cid:200)ce dodanie odpowiedniej instrukcji import
Uzupe(cid:239)nianie kodu
Mechanizm automatycznego uzupe(cid:239)niania kodu pomaga zwi(cid:218)kszy(cid:202) szybko(cid:258)(cid:202) pisania kodu. Jego
dzia(cid:239)anie polega na wy(cid:258)wietlaniu listy sugestii, której zawarto(cid:258)(cid:202) zale(cid:285)y od tego, co w danej
chwili piszemy.
Przyk(cid:239)ad takiej podstawowej listy sugestii wy(cid:258)wietlanej przez mechanizm automatycznego
uzupe(cid:239)niania podczas wpisywania kodu przedstawia rysunek 4.4. Je(cid:258)li lista nie zosta(cid:239)a wy(cid:258)wietlona,
to mo(cid:285)na to zrobi(cid:202), u(cid:285)ywaj(cid:200)c kombinacji klawiszy Ctrl+spacja.
1 Na bie(cid:285)(cid:200)co dodawaj jednoznaczne instrukcje import — przyp. t(cid:239)um.
42
Poleć książkęKup książkęRozdzia(cid:225) 4. • Korzystanie z edytora kodu
Rysunek 4.4. Lista sugestii mechanizmu automatycznego uzupe(cid:239)niania kodu
Teraz mo(cid:285)na kontynuowa(cid:202) wpisywanie, a nast(cid:218)pnie wybra(cid:202) jedn(cid:200) z opcji z listy i nacisn(cid:200)(cid:202) klawisz
Enter lub dwukrotnie klikn(cid:200)(cid:202) t(cid:218) opcj(cid:218), by doda(cid:202) j(cid:200) do kodu. Je(cid:258)li wpisywanym fragmentem kodu
jest wyra(cid:285)enie, a my chcemy wstawi(cid:202) je w zanegowanej formie, wystarczy je wybra(cid:202) z listy sugestii,
a nast(cid:218)pnie zamiast naciska(cid:202) klawisz Enter lub dwukrotnie klika(cid:202), nale(cid:285)y nacisn(cid:200)(cid:202) klawisz ze
znakiem wykrzyknika (!). Spowoduje to dodanie zanegowanego wyra(cid:285)enia.
Kolejnym typem uzupe(cid:239)niania kodu jest inteligentne wpisywanie (ang. smart type). Je(cid:258)li wpi-
sujemy wywo(cid:239)anie metody, która ma parametr typu String, to sugeruj(cid:200)c dost(cid:218)pne argumenty,
edytor b(cid:218)dzie prezentowa(cid:239) wy(cid:239)(cid:200)cznie obiekty typu String. Tego typu inteligentne wpisywanie
jest wykonywane w kilku przypadkach: z prawej strony operatora przypisania, w wywo(cid:239)aniach
metod, w instrukcji return oraz w inicjalizatorach zmiennych. By wy(cid:258)wietli(cid:202) list(cid:218) inteligentnych
sugestii, nale(cid:285)y nacisn(cid:200)(cid:202) klawisze Ctrl+Shift oraz klawisz spacji.
W prosty sposób mo(cid:285)na samemu przekona(cid:202) si(cid:218), czym si(cid:218) ró(cid:285)ni(cid:200) te oba typy list sugestii. W tym
celu nale(cid:285)y zdefiniowa(cid:202) w kodzie dwie zmienne, typu String oraz int, a nast(cid:218)pnie wywo(cid:239)a(cid:202)
metod(cid:218) wymagaj(cid:200)c(cid:200) przekazania argumentu typu String, na przyk(cid:239)ad metod(cid:218) i klasy Log.
Podczas wpisywania argumentu typu String nale(cid:285)y zwróci(cid:202) uwag(cid:218) na ró(cid:285)nic(cid:218) pomi(cid:218)dzy zwy-
czajn(cid:200) list(cid:200) sugestii (Ctrl+spacja) przedstawion(cid:200) na rysunku 4.5 a list(cid:200) inteligentnych sugestii
(Ctrl+Shift+spacja) przedstawion(cid:200) na rysunku 4.6.
W przypadku pierwszej listy, przedstawionej na rysunku 4.5, sugerowane s(cid:200) obie zmienne,
cho(cid:202) typ drugiej z nich nie odpowiada typowi parametru. W przypadku drugiej listy zasuge-
rowana zosta(cid:239)a wy(cid:239)(cid:200)cznie zmienna typu String.
43
Poleć książkęKup książkęAndroid Studio. Podstawy
Rysunek 4.5. Zwyczajna lista sugestii automatycznego uzupe(cid:239)niania kodu
Rysunek 4.6. Lista inteligentnych sugestii
Ostatnim zastosowaniem mechanizmu automatycznego uzupe(cid:239)niania kodu jest uzupe(cid:239)nianie
instrukcji. Wystarczy wpisa(cid:202) instrukcj(cid:218), nacisn(cid:200)(cid:202) klawisze Ctrl+Shift+Enter, a wszystkie po-
zosta(cid:239)e elementy instrukcji zostan(cid:200) automatycznie dodane do kodu. Je(cid:258)li na przyk(cid:239)ad u(cid:285)yjemy
tej kombinacji klawiszy po wpisaniu s(cid:239)owa kluczowego if, to edytor automatycznie doda do
kodu par(cid:218) nawiasów oraz par(cid:218) nawiasów klamrowych. Tej samej kombinacji klawiszy mo(cid:285)na
u(cid:285)ywa(cid:202) do uzupe(cid:239)niania deklaracji metod. Wystarczy zacz(cid:200)(cid:202) wpisywa(cid:202) metod(cid:218), a nast(cid:218)pnie,
po wpisaniu nawiasu otwieraj(cid:200)cego, nacisn(cid:200)(cid:202) klawisze Ctrl+Shift+Enter. W efekcie edytor
doda nawias zamykaj(cid:200)cy oraz par(cid:218) nawiasów klamrowych.
Generowanie kodu
W celu wygenerowania bloków kodu podczas tworzenia klas mo(cid:285)na skorzysta(cid:202) z opcji Code/
Generate, dost(cid:218)pnej w menu g(cid:239)ównym, b(cid:200)d(cid:283) te(cid:285) z kombinacji klawiszy Alt+Insert. W ten sposób
mo(cid:285)na generowa(cid:202) konstruktory, akcesory get i set, metody equals oraz toString, jak równie(cid:285)
przes(cid:239)ania(cid:202) i delegowa(cid:202) metody.
44
Poleć książkęKup książkęRozdzia(cid:225) 4. • Korzystanie z edytora kodu
Inn(cid:200) form(cid:200) generowania kodu jest umieszczanie wybranego bloku w jakiej(cid:258) instrukcji (if,
if/else, while, for, try/catch itd.). Mo(cid:285)na to zrobi(cid:202), zaznaczaj(cid:200)c wiersz kodu i wybieraj(cid:200)c z menu
g(cid:239)ównego opcj(cid:218) Code/Surround With lub naciskaj(cid:200)c klawisze Ctrl+Alt+T.
Trzeci(cid:200) form(cid:200) generowania kodu jest wstawianie gotowych szablonów. Aby to zrobi(cid:202), nale(cid:285)y wy-
bra(cid:202) z menu g(cid:239)ównego opcj(cid:218) Code/Insert Live Templates lub nacisn(cid:200)(cid:202) klawisze Ctrl+J. Wyko-
nanie ka(cid:285)dej z tych czynno(cid:258)ci powoduje wy(cid:258)wietlenie listy dost(cid:218)pnych szablonów. Pozwalaj(cid:200)
one na wstawianie gotowych fragmentów kodu przegl(cid:200)daj(cid:200)cego w p(cid:218)tli kolekcje, tablice, listy
itd., kodu do wy(cid:258)wietlania odpowiednio sformatowanych (cid:239)a(cid:241)cuchów znaków, a tak(cid:285)e kodu do
zg(cid:239)aszania wyj(cid:200)tków lub deklaracji zmiennych statycznych i sfinalizowanych. Z lewej strony listy
wy(cid:258)wietlany jest prefiks danego szablonu — wystarczy wpisa(cid:202) ten prefiks w edytorze i nacisn(cid:200)(cid:202)
klawisz Tab, aby szablon zosta(cid:239) automatycznie wstawiony do kodu.
W ramach testu mo(cid:285)na wpisa(cid:202) w metodzie onCreate aktywno(cid:258)ci g(cid:239)ównej naszego przyk(cid:239)adowego
projektu (cid:239)a(cid:241)cuch inn i nacisn(cid:200)(cid:202) klawisz Tab, a nast(cid:218)pnie Enter. W rezultacie w kodzie pojawi si(cid:218)
blok instrukcji warunkowej, a kursor zostanie umieszczony wewn(cid:200)trz pary nawiasów klamrowych.
Je(cid:258)li teraz wpiszemy soutv i ponownie naci(cid:258)niemy klawisze Tab i Enter, to uzyskamy wynik
przedstawiony w poni(cid:285)szym przyk(cid:239)adzie:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState != null) {
System.out.println( savedInstanceState = + savedInstanceState);
}
}
Poruszanie si(cid:218) po kodzie
Najprostszym sposobem przej(cid:258)cia do deklaracji lub deklaracji typów jest naci(cid:258)ni(cid:218)cie klawisza Ctrl
i klikni(cid:218)cie nazwy metody, kiedy zostanie ona wy(cid:258)wietlona w sposób charakterystyczny dla odno(cid:258)ni-
ków. Ten sam efekt mo(cid:285)na uzyska(cid:202), wybieraj(cid:200)c z menu g(cid:239)ównego opcj(cid:218) Navigate/Declaration.
Korzystaj(cid:200)c z ikon wy(cid:258)wietlanych w kolumnie z lewej strony okna edytora, mo(cid:285)na porusza(cid:202) si(cid:218) po
hierarchii metod. Obok deklaracji metody, która nale(cid:285)y do hierarchii, jest wy(cid:258)wietlana ikona in-
formuj(cid:200)ca, czy dana metoda stanowi implementacje metody interfejsu, klasy abstrakcyjnej, czy
te(cid:285) przes(cid:239)ania metod(cid:218) klasy bazowej albo czy jest zaimplementowana lub przes(cid:239)oni(cid:218)ta przez
metody klas pochodnych. Aby przej(cid:258)(cid:202) do nast(cid:218)pnej metody w hierarchii, wystarczy klikn(cid:200)(cid:202) t(cid:218)
ikon(cid:218). To samo mo(cid:285)na zrobi(cid:202), wybieraj(cid:200)c z menu g(cid:239)ównego opcj(cid:218) Navigate/Super Method lub
Navigate/Implementations(s). Mo(cid:285)na to w ka(cid:285)dej chwili sprawdzi(cid:202) w aktywno(cid:258)ci g(cid:239)ównej nasze-
go przyk(cid:239)adowego projektu (pliku MainActivity.java), co pokazano na poni(cid:285)szym rysunku 4.7.
45
Poleć książkęKup książkęAndroid Studio. Podstawy
Rysunek 4.7. Ikona pozwalaj(cid:200)ca przej(cid:258)(cid:202) do deklaracji nast(cid:218)pnej metody w hierarchii
Kolejn(cid:200) przydatn(cid:200) mo(cid:285)liwo(cid:258)ci(cid:200) zwi(cid:200)zan(cid:200) z poruszaniem si(cid:218) po kodzie (cid:283)ród(cid:239)owym s(cid:200) tak zwane
regiony niestandardowe (ang. custom regions). Taki region to fragment kodu, który mo(cid:285)na po-
traktowa(cid:202) jako pewn(cid:200) ca(cid:239)o(cid:258)(cid:202) i nada(cid:202) mu nazw(cid:218). Je(cid:258)li na przyk(cid:239)ad tworzona klasa sk(cid:239)ada si(cid:218) z wielu
metod, to mo(cid:285)na utworzy(cid:202) kilka takich regionów, a nast(cid:218)pnie dodawa(cid:202) do nich metody. Takie
regiony maj(cid:200) nazwy lub opisy i mo(cid:285)na je zwija(cid:202) lub rozwija(cid:202) przy wykorzystaniu mechanizmu
zwijania kodu.
Regiony niestandardowe mo(cid:285)na tworzy(cid:202), korzystaj(cid:200)c z mechanizmu generowania kodu —
wystarczy zaznaczy(cid:202) fragmentu kodu, wybra(cid:202) z menu g(cid:239)ównego opcj(cid:218) Code/Surround With,
a nast(cid:218)pnie jedn(cid:200) z dwóch poni(cid:285)szych mo(cid:285)liwo(cid:258)ci:
(cid:81) editor-fold... Comments,
(cid:81) region...endregion Comments.
Wybór ka(cid:285)dej z tych opcji spowoduje utworzenie regionu, lecz utworzone regiony b(cid:218)d(cid:200) pre-
zentowane w ró(cid:285)ny sposób.
W przypadku stosowania regionów niestandardowych, mo(cid:285)emy wygodnie porusza(cid:202) si(cid:218) pomi(cid:218)dzy
nimi, korzystaj(cid:200)c z opcji Custom Region dost(cid:218)pnej w menu Navigate. W tym menu dost(cid:218)pne s(cid:200)
tak(cid:285)e pozosta(cid:239)e opcje zwi(cid:200)zane z poruszaniem si(cid:218) po kodzie. Poni(cid:285)sza lista przedstawia najwa(cid:285)-
niejsze z nich:
(cid:81) Class/File/Symbol — ta opcja pozwala odnajdowa(cid:202) klasy, pliki lub symbole
na podstawie nazwy.
(cid:81) Line — ta opcja pozwala przej(cid:258)(cid:202) do wiersza o podanym numerze.
(cid:81) Last Edit Location — wybranie tej opcji spowoduje przej(cid:258)cie do miejsca,
w którym zosta(cid:239)y wprowadzone ostatnie modyfikacje.
(cid:81) Test — wybór tej opcji powoduje przej(cid:258)cie do klasy s(cid:239)u(cid:285)(cid:200)cej do testowania
aktualnie edytowanej klasy.
(cid:81) File Structure — ta opcja powoduje wy(cid:258)wietlenie okienka dialogowego prezentuj(cid:200)cego
struktur(cid:218) pliku. Warto wy(cid:258)wietli(cid:202) to okno dialogowe dla aktywno(cid:258)ci g(cid:239)ównej
naszego przyk(cid:239)adowego projektu, by przekona(cid:202) si(cid:218), w jaki sposób jest prezentowana
jego struktura. B(cid:218)dzie to lista nazw metod wraz z ikonami okre(cid:258)laj(cid:200)cymi ich typ
lub poziom dost(cid:218)pu (przyk(cid:239)adow(cid:200) posta(cid:202) takiego okna przedstawia rysunek 4.8).
46
Poleć książkęKup książkęRozdzia(cid:225) 4. • Korzystanie z edytora kodu
Rysunek 4.8. Przyk(cid:239)adowe okno struktury pliku
(cid:81) File Path — wybranie tej opcji powoduje wy(cid:258)wietlenie okna dialogowego
przedstawiaj(cid:200)cego pe(cid:239)n(cid:200) (cid:258)cie(cid:285)k(cid:218) dost(cid:218)pu do pliku aktualnie otworzonego w edytorze.
(cid:81) Type Hierarchy — ta opcja powoduje wy(cid:258)wietlenie okna dialogowego
pokazuj(cid:200)cego hierarchi(cid:218) typów dla aktualnie wybranego obiektu.
(cid:81) Method Hierarchy — wybranie tej opcji powoduje wy(cid:258)wietlenie okna dialogowego
przedstawiaj(cid:200)cego hierarchi(cid:218) metod dla aktualnie wybranej metody.
(cid:81) Call Hierarchy — wybranie tej opcji powoduje wy(cid:258)wietlenie okna dialogowego
przedstawiaj(cid:200)cego hierarchi(cid:218) wywo(cid:239)a(cid:241) dla aktualnie wybranej metody.
(cid:81) Next Highlighted Error — ta opcja pozwala przej(cid:258)(cid:202) do nast(cid:218)pnego b(cid:239)(cid:218)du.
(cid:81) Previous Highlighted Error — ta opcja pozwala przej(cid:258)(cid:202) do poprzedniego b(cid:239)(cid:218)du.
(cid:81) Next Method — ta opcja pozwala przej(cid:258)(cid:202) do nast(cid:218)pnej metody.
(cid:81) Previous Method — ta opcja pozwala przej(cid:258)(cid:202) do poprzedniej metody.
Przydatne skróty klawiszowe
Lista wszystkich skrótów klawiszowych stosowanych w Android Studio jest dost(cid:218)pna w oknie
dialogowym Settings, w opcji Keymap. Mo(cid:285)na tam tak(cid:285)e zmienia(cid:202) zdefiniowane kombinacje kla-
wiszy. Tabela 4.1 przedstawia wybrane skróty klawiszowe stosowane w Android Studio w sys-
temie Windows.
Podsumowanie
Rozdzia(cid:239) ten przybli(cid:285)y(cid:239) nam kilka u(cid:285)ytecznych sztuczek, dzi(cid:218)ki którym b(cid:218)dziemy w stanie w pe(cid:239)ni
wykorzysta(cid:202) mo(cid:285)liwo(cid:258)ci edytora kodu Android Studio. Wiemy ju(cid:285), jak korzysta(cid:202) z automatycznego
uzupe(cid:239)niania kodu, jak go generowa(cid:202), oraz znamy u(cid:285)yteczne skróty klawiszowe, pozwalaj(cid:200)ce
na b(cid:239)yskawiczne wykonywanie przeró(cid:285)nych operacji. Potrafimy ju(cid:285) tak(cid:285)e modyfikowa(cid:202) sposób
dzia(cid:239)ania edytora i jeste(cid:258)my gotowi, by rozpocz(cid:200)(cid:202) kodowanie.
47
Poleć książkęKup książkęAndroid Studio. Podstawy
Tabela 4.1. Wybrane skróty klawiszowe stosowane w Android Studio
Kombinacja klawiszy Opis
Ctrl+W
Ctrl+/
Ctrl+Alt+I
Ctrl+Alt+O
Zaznacza wyra(cid:285)enie. Kolejne naci(cid:258)ni(cid:218)cia tej kombinacji klawiszy b(cid:218)d(cid:200) rozszerza(cid:202)
zaznaczony obszar kodu. Odwrotny efekt daje naciskanie klawiszy Ctrl+Shift+W.
Powoduje umieszczenie na pocz(cid:200)tku wiersza symbolu komentarza. Aby doda(cid:202)
komentarz blokowy, nale(cid:285)y skorzysta(cid:202) z kombinacji klawiszy Ctrl+Shift+/.
Powoduje wci(cid:218)cie zaznaczonego fragmentu kodu. Ta kombinacja jest bardzo u(cid:285)yteczna
do porz(cid:200)dkowania gotowego bloku kodu lub metody.
Powoduje optymalizacj(cid:218) instrukcji import — usuni(cid:218)cie niepotrzebnych
i uporz(cid:200)dkowanie pozosta(cid:239)ych.
Ctrl+Shift+strza(cid:239)ka Powoduje przeniesienie zaznaczonego bloku kodu o jeden wiersz ni(cid:285)ej lub wy(cid:285)ej.
Alt+strza(cid:239)ka
Ctrl+F
Ctrl+R
Ctrl+A
Ctrl+D
Pozwala na prze(cid:239)(cid:200)czanie si(cid:218) pomi(cid:218)dzy otwartymi kartami edytora.
Pozwala wyszukiwa(cid:202) tekst w aktualnie wy(cid:258)wietlonej karcie edytora.
Pozwala wyszukiwa(cid:202) i zast(cid:218)powa(cid:202) tekst w aktualnie wy(cid:258)wietlonej karcie edytora.
Zaznacza ca(cid:239)y kod w aktualnie edytowanym pliku.
Kopiuje zaznaczony fragment kodu i wkleja go poni(cid:285)ej. Je(cid:258)li w chwili naci(cid:258)ni(cid:218)cia
tych klawiszy nie jest zaznaczony (cid:285)aden fragment kodu, to powielony zostanie
bie(cid:285)(cid:200)cy wiersz.
Usuwa ca(cid:239)y wiersz kodu bez pozostawiania pustego wiersza.
Zmienia wielko(cid:258)(cid:202) liter.
Przechodzi do nast(cid:218)pnego parametru.
Ctrl+Y
Ctrl+Shift+U
Tab
W nast(cid:218)pnym rozdziale zajmiemy si(cid:218) tworzeniem pierwszych uk(cid:239)adów interfejsu u(cid:285)ytkowni-
ka aplikacji. Zostanie w nim opisany sposób tworzenia uk(cid:239)adów przy wykorzystaniu kreatora
graficznego, jak równie(cid:285) w drodze r(cid:218)cznej edycji plików XML. Stworzymy tak(cid:285)e nasz(cid:200) pierw-
sz(cid:200) aplikacj(cid:218) — klasyczny program typu Witaj, (cid:258)wiecie!, w którym wykorzystamy kontrolk(cid:218)
TextView. B(cid:218)d(cid:200) przedstawione informacje o tym, jak przygotowa(cid:202) aplikacj(cid:218) do wy(cid:258)wietlania jej na
ekranach o ró(cid:285)nych wielko(cid:258)ciach oraz jak przygotowa(cid:202) j(cid:200) do zmiany orientacji ekranu. Na samym
ko(cid:241)cu zamieszczone zosta(cid:239)y tak(cid:285)e informacje o tematach interfejsu u(cid:285)ytkownika oraz o sposobach
obs(cid:239)ugi zdarze(cid:241).
48
Poleć książkęKup książkęSkorowidz
A
aplikacja
accelerometer, Patrz: akcelerometr
akcelerometr, 69
akcesor
get, 44
set, 44
aktualizacja, 111
aktywno(cid:258)(cid:202), 24, 25
g(cid:239)ówna, 24, 34
przej(cid:258)cie, 73
pusta, 24
tworzenie, 73
Android Device Monitor, 95
Android Glass, 23
Android SDK, 15, 37, 65, 66, 82
konfiguracja, 19
(cid:258)cie(cid:285)ka dost(cid:218)pu, 19
Android SDK Manager, 23, 65, 66, 82
uruchamianie, 66
Android Studio
aktualizacja, Patrz: aktualizacja
instalacja, Patrz: instalacja
karta, Patrz: karta
pobieranie, 16
Android Support Library, 66
Android TV, 23, 56
Android Virtual Device Manager, Patrz: AVD
Manager
Android Wear, 23, 56
API, 23
APK, 103
certyfikat, 105
debugowanie, Patrz: debugowanie
do publikacji, 104
do testowania, 104
identyfikator, 22
nazwa, 22
nazwa zast(cid:218)pcza, 104
pakiet, Patrz: APK
rozpowszechnianie, 104, 105
tryb
debug, 104
release, 104
uruchamianie, 89, 90
wersja, 35, 106
wydanie, 103, 105
AVD Manager, 65, 67
B
biblioteka, 33, 37
kliencka Google Play, 80
dodawanie, 81
Blank Activity, 24
C
custom region, Patrz: region niestandardowy
czujnik zbli(cid:285)eniowy, 69
Poleć książkęKup książkęSkorowidz
D
Dalvik Debug Monitor Server, Patrz: DDMS
DDMS, 89, 95
debugowanie, 89, 91, 95
dokumentacja, 75, 109, 110
generowanie, 75, 76
domain-specific language, Patrz: DSL
dp, 58
DSL, 35
E
edytor
graficzny, 50
kodu, 39, 45
karta, 41
ustawienia, 40, 41
nawigacji, 72, 73
tekstowy, 49, 51
ekran, 55
do logowania, 26
g(cid:218)sto(cid:258)(cid:202), 35, 56, 57
orientacja, Patrz: urz(cid:200)dzenie orientacja
rozdzielczo(cid:258)(cid:202), 56, 69
wielko(cid:258)(cid:202), 56, 57, 68
wirtualny, 55
emulator, 89, 90, 104
exclusive time, Patrz: metoda czas wy(cid:239)(cid:200)czny
Google Play Developer Console, 87
Google Play Games, 80
Google Play In-App Billing, 81, 86
Google Play Services, 26
Google Wallet, 81
Google+, 79, 80, 85
Google+ Platform for Android, 80, 85
GPS, 69
Gradle, 35, 37
gyroscope, Patrz: (cid:285)yroskop
hdpi, 56
historia lokalna, 77
H
I
identyfikator, 87
ikona, 35
inclusive time, Patrz: metoda czas (cid:239)(cid:200)czny
instalacja, 15, 16
IntelliJ IDEA, 109
intencja, 34
interfejs
obiektu nas(cid:239)uchuj(cid:200)cego, 63
programowania aplikacji, Patrz: API
u(cid:285)ytkownika, 57, 59, 60
komponent, Patrz: komponent
fragment, 24
Fullscreen Activity, 25
F
G
garbage collector, Patrz: pami(cid:218)(cid:202) odzyskiwanie
GCM, 81, 87
Git, 76
GitHub, 76
Google Analytics, 81
Google Cloud Messaging, Patrz: GCM
Google Drive, 81
Google Glass, 23
Google Maps, 25, 79, 84
Google Maps Activity, 25
Google Play, 66, 79
us(cid:239)uga, Patrz: us(cid:239)uga
114
J
Java Development Kit, Patrz: JDK
Javadoc, 65, 75
JDK, 15
j(cid:218)zyk
DSL, Patrz: DSL
programowania obs(cid:239)ugiwany przez edytor, 37
K
karta
Allocation Tracker, 99
Console, 90
Debugger, 91, 93
Emulator Control, 100
File Explorer, 100
Heap, 98
LogCat, 93, 95
Poleć książkęKup książkęNetwork Statistics, 100
System Information, 101
Threads, 96, 97
karta podarunkowa, 81
katalog
/.navigation/app/raw, 72
/app, 35
/src/res/values, 59
build, 33
color, 35
drawable, 35
java, 34
layout, 35
libs, 33
menu, 35
mipmap, 35
res, 34
src/androidTest, 33
src/main, 33
values, 35
BasicMapDemActivity, 84
GoogleMapOptions, 85
Javy, 34
Log, 94
MapFragment, 84, 85
MapView, 84
testowa, 33
View, 60
w(cid:239)a(cid:258)ciwo(cid:258)(cid:202), 61
klasa, 75
klikni(cid:218)cie, 60, 61
klucz
magazyn, 105, 106
prywatny, 104
testowy, 104
kod
edytor, Patrz: edytor kodu
generowanie, 44, 45
region niestandardowy, Patrz: region
niestandardowy
rozwijanie, 41
uzupe(cid:239)nianie automatyczne, 42, 43, 44
uzupe(cid:239)nianie instrukcji, 44
wpisywanie inteligentne, 43
zwijanie, 41
(cid:283)ród(cid:239)owy, 33
kolor, 35
komentarz, 75
kompilator, 36
komponent, 50, 53, 61, 65
RalativeLayout, 53
komunikat, 94
filtrowanie, 93, 95
wy(cid:258)wietlanie, 95
konstruktor, 44
kontrolka
EditText, 61
Spinner, 61
TextView, 54, 62
L
(cid:146)
ldpi, 56
lista opcji, 28
Login activity, 26
(cid:239)a(cid:241)cuch znaków, 35
M
magazyn kluczy, 105, 106
manifest, 34, 36, 59, 105
Master/Detail Flow, 27
mdpi, 56, 57
menu, 34
rozwijane, 28
Mercurial, 76
metoda, 75
addMarker, 84
czas
(cid:239)(cid:200)czny, 97
wy(cid:239)(cid:200)czny, 97
findViewById, 61
getMap, 85
getPurchases, 87
getSkuDetails, 87
getText, 61
hierarchia wywo(cid:239)a(cid:241), 92
isBillingSupported, 87
onAcceptClick, 75, 91, 97
onCreate, 45, 62
onMapReady, 84
parametr, 75
potomna, 97
profilowanie, 97
setOnClickListener, 62
Skorowidz
115
Poleć książkęKup książkęSkorowidz
metoda
setOnCreateContextMenuListener, 62
setOnFocusChange, 62
setOnKeyListener, 62
sortowanie, 97
zwrotna, 61
modu(cid:239), 37
N
Navigation Drawer Activity, 27
navigation Editor, Patrz: edytor nawigacji
O
obiekt
nas(cid:239)uchuj(cid:200)cy, 60, 61
implementacja, 62
interfejs, Patrz: interfejs obiektu
nas(cid:239)uchuj(cid:200)cego
OnCheckedChangeListener, 61
OnClickListener, 60
OnCreateContextMenu, 60
OnDragListener, 61
OnFocusChange, 61
OnItemClickListener, 61
OnKeyListener, 61
OnLongClickListener, 61
OnTouchListener, 61
odbiornik GPS, 69
okno
powitalne, 17, 19, 21
Quick Start, 18
statystyka wykorzystania, 98
sterty, 98
panel nawigacyjny, 27
Panorama, 81
para klucz-warto(cid:258)(cid:202), 35
pasek
akcji, 24, 25, 28
narz(cid:218)dzi, 36, 50, 52
powiadomie(cid:241), 25
przesuwania, 28
piksel niezale(cid:285)ny od g(cid:218)sto(cid:258)ci, Patrz: dp
plik, 100
AndroidManifest.xml, 34
APK, 103
podpisany cyfrowo, 106
build.gradle, 34, 35
graficzny, 34
kodowanie, 36
main.nvg.xml, 72
manifestu, Patrz: manifest
styles.xml, 59
podpis, 36
pole wyboru, 61
porada dnia, 110
program lojalno(cid:258)ciowy, 81
projekt
panel nawigacyjny, 31
struktura, 33
tworzenie, 21
ustawienia, 36
proximity sensor, Patrz: czujnik zbli(cid:285)eniowy
przycisk PlusOneButton, 86
P
R
region niestandardowy, 46
pakiet
aktualizacja, 67
APK us(cid:239)ug Google Play, 80
aplikacji, 103
com.google.android.gms.smaples.plus, 86
filtrowanie, 66
instalacja, 66
nazwa, 34, 66
numer API, 66
status, 66
wersja, 34, 66
pami(cid:218)(cid:202)
odzyskiwanie, 98
RAM, 69
116
S
SDK, Patrz: Android SDK
SDK Manager, Patrz: Android SDK Manager
Settings Activity, 28
skrót klawiszowy, 47, 48
SKU, 87
smartwatch, 23
software development kit, Patrz: Android SDK
sterta, 98
styl kodowania domy(cid:258)lny, 36
Subversion, 76
Poleć książkęKup książkęsystem
kontroli wersji, 37, 76
pliku, 76, 77
pomocy, 109
szablon, 45
Tabbed Activity, 28
temat, 59
tvdpi, 56
T
U
uk(cid:239)ad, 52
aktywno(cid:258)(cid:202), 52
tworzenie, 52
wersja, 57
uprawnienia, 34
urz(cid:200)dzenie, 23, 49
czujnik, 69
definiowanie, 68
konfiguracja sprz(cid:218)towa, 68, 69
kopiowanie, 68
lista, 95
nazwa, 68
orientacja, 57
stan, 69
ubieralne, 23
wirtualne, 65
tworzenie, 69, 70
uruchamianie, 71
us(cid:239)uga, 80
dodawanie, 81
Games, 80
instalowanie, 82
Location, 80
Panorama, 81
Skorowidz
VCS, 76
w(cid:200)tek, 96
widok, 35
wid(cid:285)et, 59, 60
wtyczka, 37
wyj(cid:200)tek, 75
xhdpi, 56, 57
xxhdpi, 56, 57
V
W
X
Z
zak(cid:239)adka, 28
zale(cid:285)no(cid:258)ci, 36
zdarzenie, 60
znacznik, 75
@param, 75
@throws, 75
@version, 75
android/signingConfigs, 36
buildTypes, 36
productFlavors, 36
znak
*/, 75
/**, 75
(cid:191)
(cid:285)yroskop, 69
117
Poleć książkęKup książkęSkorowidz
114
Poleć książkęKup książkę
Pobierz darmowy fragment (pdf)