O autorach (25)
Wprowadzenie (27)
- Kto powinien przeczytać tę książkę (27)
- Kluczowe pytania, na jakie odpowiada ta książka (28)
- Struktura książki (29)
- Opis zmian wprowadzonych w tym wydaniu książki (30)
- Środowiska programistyczne wykorzystane w tej książce (32)
- Dostępne materiały dodatkowe (33)
- Konwencje stosowane w książce (33)
- Gdzie szukać dodatkowych informacji (34)
- Kontakt z autorami (35)
CZĘŚĆ I. OGÓLNE INFORMACJE O PLATFORMIE ANDROID (37)
Rozdział 1. Prezentacja systemu Android (39)
- Android Open Source Project (AOSP) (39)
- Open Handset Alliance (40)
- Google staje się mobilny (40)
- Prezentacja Open Handset Alliance (40)
- Dołączanie do Open Handset Alliance (41)
- Producenci - projektowanie urządzeń dla Androida (41)
- Operatorzy - dostarczanie wrażeń (42)
- Aplikacje napędzają sprzedaż urządzeń: tworzenie aplikacji na Androida (43)
- Wykorzystanie wszystkich możliwości Androida (43)
- Android: stan obecny (43)
- Co wyróżnia platformę Android? (44)
- Android - nazwy kodowe (45)
- Darmowy i otwarty (45)
- Znane i niedrogie narzędzia programistyczne (46)
- Rozsądny stopień trudności nauki programowania (47)
- Umożliwianie tworzenia potężnych aplikacji (47)
- Bogate i bezpieczne możliwości integracji aplikacji (47)
- Brak kosztownych przeszkód utrudniających publikację (48)
- "Otwarty rynek" aplikacji (48)
- Rozwijająca się platforma (49)
- Platforma Android (50)
- Architektura Androida (50)
- Bezpieczeństwo i uprawnienia (52)
- Pisanie aplikacji na Androida (53)
- Android poza OHA i GMS (56)
- Fire OS firmy Amazon (57)
- Cyanogen OS i CyanogenMod (57)
- Maker Movement oraz Open-Source Hardware (57)
- Szersze spojrzenie (58)
- Podsumowanie (58)
- Pytania kwizowe (59)
- Ćwiczenia (59)
- Odwołania i inne źródła informacji (59)
Rozdział 2. Przygotowywanie środowiska programistycznego (61)
- Konfiguracja środowiska programistycznego (61)
- Konfiguracja własnego systemu do debugowania urządzenia (64)
- Konfiguracja urządzenia do debugowania (65)
- Aktualizacja Android Studio (66)
- Aktualizacja Android SDK (67)
- Problemy z Android Studio (67)
- Problemy z Android SDK (68)
- IntelliJ IDEA jako alternatywa dla Android Studio (68)
- Poznajemy Android SDK (69)
- Zrozumienie postanowień licencji (69)
- Korzystanie z dokumentacji Android SDK (70)
- Prezentacja szkieletu programowania aplikacji (70)
- Poznawanie narzędzi Android SDK (73)
- Poznawanie aplikacji przykładowych (76)
- Podsumowanie (79)
- Pytania kwizowe (79)
- Ćwiczenia (79)
- Odwołania i inne źródła informacji (80)
Rozdział 3. Pierwsza aplikacja na Androida (81)
- Testowanie środowiska programistycznego (81)
- Importowanie aplikacji przykładowej BorderlessButtons do Android Studio (82)
- Korzystanie z preinstalowanego AVD do uruchamiania aplikacji BorderlessButtons (84)
- Uruchamianie aplikacji BorderlessButtons w emulatorze Androida (86)
- Budowanie pierwszej aplikacji na Androida (88)
- Tworzenie i konfiguracja nowego projektu aplikacji (89)
- Wyjaśnienie symbolicznego widoku Android oraz klasycznego widoku Project (93)
- Podstawowe pliki i katalogi aplikacji na Androida (94)
- Uruchamianie aplikacji w emulatorze (95)
- Debugowanie aplikacji w emulatorze (96)
- Dodawanie mechanizmów rejestracji do aplikacji (100)
- Debugowanie aplikacji na fizycznym urządzeniu (101)
- Podsumowanie (104)
- Pytania kwizowe (105)
- Ćwiczenia (106)
- Odwołania i inne źródła informacji (106)
CZĘŚĆ II. KLUCZOWE INFORMACJE O KONSTRUKCJI APLIKACJI NA ANDROIDA (107)
Rozdział 4. Prezentacja komponentów aplikacji (109)
- Opanowanie najważniejszej terminologii (109)
- Kontekst aplikacji (110)
- Pobieranie kontekstu aplikacji (111)
- Stosowanie kontekstu aplikacji (111)
- Realizacja działań przy użyciu aktywności (112)
- Cykl życia aktywności (113)
- Organizowanie komponentów aplikacji przy użyciu fragmentów (118)
- Zarządzanie zmianami aktywności przy użyciu intencji (120)
- Przechodzenie pomiędzy aktywnościami przy użyciu intencji (120)
- Organizacja aktywności, fragmentów i intencji w menu nawigacyjnym aplikacji (122)
- Praca z usługami (123)
- Odbieranie oraz rozgłaszanie intencji (124)
- Podsumowanie (125)
- Pytania kwizowe (125)
- Ćwiczenia (126)
- Odwołania i inne źródła informacji (126)
Rozdział 5. Definiowanie manifestu (127)
- Konfiguracja aplikacji na Androida przy użyciu pliku manifestu (127)
- Edycja pliku manifestu (128)
- Zarządzanie tożsamością aplikacji (130)
- Określanie nazwy oraz ikony aplikacji (131)
- Określanie wymagań systemowych aplikacji (131)
- Ograniczenia związane z platformą (132)
- Ustawienia związane z konfiguracją innych aplikacji i filtrów (134)
- Rejestracja aktywności w pliku manifestu (134)
- Określanie aktywności będącej głównym punktem wejścia aplikacji przy użyciu filtra intencji (135)
- Konfiguracja innych filtrów intencji (135)
- Rejestracja innych komponentów aplikacji (136)
- Stosowanie uprawnień (136)
- Rejestracja uprawnień wymaganych przez aplikację (137)
- Rejestracja uprawnień wymaganych przez aplikację (139)
- Poznawanie innych ustawień podawanych w manifeście (140)
- Podsumowanie (141)
- Pytania kwizowe (141)
- Ćwiczenia (141)
- Odwołania i inne źródła informacji (142)
Rozdział 6. Zarządzanie zasobami aplikacji (143)
- Czym są zasoby? (143)
- Przechowywanie zasobów aplikacji (144)
- Typy wartości zasobów (144)
- Programowy dostęp do zasobów (148)
- Określanie wartości prostych zasobów w Android Studio (148)
- Praca z różnymi typami zasobów (152)
- Łańcuchy znaków (152)
- Stosowanie łańcuchów z zasobów do formatowania tekstów (153)
- Praca z łańcuchami wyrażającymi liczbę mnogą (154)
- Praca z tablicami łańcuchów znaków (155)
- Praca z wartościami logicznymi (156)
- Praca z liczbami całkowitymi (157)
- Praca z kolorami (157)
- Praca z wymiarami (158)
- Programowe stosowanie zasobów z wymiarami (159)
- Praca z zasobami graficznymi (159)
- Praca z obrazami (161)
- Praca z listami stanów kolorów (163)
- Praca z animacjami (164)
- Praca z menu (166)
- Praca z plikami XML (168)
- Praca z nieprzetworzonymi plikami (168)
- Odwołania do zasobów (169)
- Praca z układami (170)
- Projektowanie układów w Android Studio (172)
- Programowe korzystanie z zasobów definiujących układy (174)
- Odwołania do zasobów systemowych (175)
- Podsumowanie (176)
- Pytania kwizowe (176)
- Ćwiczenia (177)
- Odwołania i inne źródła informacji (177)
Rozdział 7. Prezentacja elementów interfejsu użytkownika (179)
- Prezentacja widoków i układów (179)
- Widoki (179)
- Kontrolki systemu Android (179)
- Prezentacja układów (180)
- Wyświetlanie tekstów przy użyciu TextView (181)
- Konfiguracja układu oraz określanie wymiarów (181)
- Umieszczanie w tekście kontekstowych odnośników (182)
- Pobieranie danych od użytkowników za pomocą pól tekstowych (184)
- Pobieranie danych przy użyciu kontrolek EditText (185)
- Ograniczanie możliwości wprowadzania danych z zastosowaniem filtrów (186)
- Wspomaganie wpisywania przy użyciu automatycznego uzupełniania (187)
- Kontrolka Spinner - zapewnianie możliwości wyboru (189)
- Stosowanie przycisków i przełączników (191)
- Stosowanie zwyczajnych przycisków (192)
- Stosowanie pól wyboru i przełączników (194)
- Stosowanie kontrolek RadioGroup oraz RadioButton (195)
- Pobieranie daty, godziny i liczb (197)
- Prezentacja postępów i aktywności przy użyciu wskaźników (199)
- Prezentacja postępów za pomocą paska postępu (199)
- Sygnalizowanie aktywności za pomocą pasków aktywności oraz kołowych znaczników aktywności (202)
- Modyfikacja postępu przy użyciu kontrolki SeekBar (202)
- Inne użyteczne kontrolki interfejsu użytkownika (203)
- Wyświetlanie oceny przy użyciu kontrolki RatingBar (203)
- Prezentacja upływu czasu za pomocą minutnika (204)
- Wyświetlanie czasu (205)
- Odtwarzanie wideo przy użyciu kontrolki VideoView (206)
- Podsumowanie (207)
- Pytania kwizowe (208)
- Ćwiczenia (208)
- Odwołania i inne źródła informacji (208)
Rozdział 8. Umiejscawianie elementów z użyciem układów (211)
- Tworzenie interfejsów użytkownika w systemie Android (211)
- Definiowanie układów w zasobach aplikacji (211)
- Programowe tworzenie układów (213)
- Organizacja interfejsu użytkownika aplikacji (215)
- Stosowanie klas potomnych ViewGroup do projektowania układów (216)
- Stosowanie klas potomnych ViewGroup jako pojemników (216)
- Stosowanie wbudowanych układów (217)
- Układ LinearLayout (218)
- Układ RelativeLayout (220)
- Układ FrameLayout (223)
- Układ TableLayout (226)
- Stosowanie układu GridLayout (228)
- Stosowanie wielu układów jednocześnie (231)
- Stosowanie wbudowanych klas pojemników (232)
- Pojemniki działające na podstawie danych (232)
- Dodawanie możliwości przewijania (237)
- Prezentacja innych rodzajów pojemników (237)
- Podsumowanie (239)
- Pytania kwizowe (239)
- Ćwiczenia (239)
- Odwołania i inne źródła informacji (240)
Rozdział 9. Dzielenie interfejsu aplikacji z użyciem fragmentów (243)
- Wyjaśnienie pojęcia fragmentu (243)
- Opis cyklu życia obiektów Fragment (245)
- Zarządzanie modyfikacjami fragmentów (246)
- Stosowanie specjalnych typów fragmentów (247)
- Projektowanie aplikacji korzystających z fragmentów (248)
- Stosowanie pakietu biblioteki wsparcia (256)
- Dodawanie wsparcia dla fragmentów do starych aplikacji (256)
- Stosowanie fragmentów w nowych aplikacjach przeznaczonych dla starszych wersji platformy (257)
- Dołączanie pakietu Support Library do aplikacji (257)
- Dodatkowe sposoby stosowania fragmentów (259)
- Fragmenty funkcjonalne pozbawione interfejsu użytkownika (259)
- Poznawanie zagnieżdżonych fragmentów (259)
- Podsumowanie (259)
- Pytania kwizowe (260)
- Ćwiczenia (260)
- Odwołania i inne źródła informacji (261)
CZĘŚĆ III. KLUCZOWE ZAGADNIENIA PROJEKTOWANIA APLIKACJI (263)
Rozdział 10. Określanie architektury z użyciem wzorców (265)
- Określanie architektury nawigacji (265)
- Scenariusze nawigacyjne aplikacji na Androida (266)
- Uruchamianie zadań i poruszanie się po stosie cofnięć (269)
- Nawigacja a fragmenty (269)
- Relacje pomiędzy ekranami (269)
- Wzorce projektowe nawigacji stosowane w Androidzie (270)
- Zachęcanie do wykonywania akcji (276)
- Menu (277)
- Paski akcji (278)
- Pływający przycisk akcji (282)
- Akcje zależne od zawartości aplikacji (282)
- Okna dialogowe (283)
- Podsumowanie (291)
- Pytania kwizowe (291)
- Ćwiczenia (292)
- Odwołania i inne źródła informacji (292)
Rozdział 11. Stosowanie stylów do poprawy wizualnej atrakcyjności aplikacji (295)
- Style ze wsparciem bibliotek (295)
- Motywy i style (296)
- Definiowanie domyślnego motywu aplikacji (296)
- Dziedziczenie motywów i stylów (297)
- Kolory (298)
- Układ (300)
- Elementy i (300)
- Widżet TextInputLayout (301)
- Przycisk FloatingActionButton (301)
- Widżet Toolbar jako dolny pasek aplikacji (302)
- Określanie markowego wyglądu aplikacji (303)
- Separatory i odstępy (304)
- Menu (305)
- Uzyskane wyniki (305)
- Typografia (305)
- Podsumowanie (306)
- Pytania kwizowe (307)
- Ćwiczenia (307)
- Odwołania i inne źródła informacji (308)
Rozdział 12. Stosowanie Material Design (311)
- Zrozumienie Material Design (311)
- Domyślny motyw Material (312)
- Aplikacja SampleMaterial (312)
- Implementacja aplikacji SampleMaterial (312)
- Zależności (313)
- Style wspomagające Material Design (313)
- Wyświetlanie zbioru danych na liście (314)
- Podsumowanie (336)
- Pytania kwizowe (336)
- Ćwiczenia (336)
- Odwołania i inne źródła informacji (337)
Rozdział 13. Projektowanie zgodnych aplikacji (339)
- Maksymalizacja zgodności aplikacji (339)
- Projektowanie interfejsów użytkownika pod kątem zgodności (342)
- Stosowanie fragmentów (343)
- Stosowanie API dostępnych w bibliotekach wsparcia (344)
- Wsparcie dla konkretnych typów ekranów (344)
- Stosowanie elastycznej grafiki typu Nine-Patch (345)
- Wykorzystywanie zasobów alternatywnych (345)
- Przedstawienie sposobu wyznaczania zasobów alternatywnych (346)
- Organizowanie zasobów alternatywnych z użyciem kwalifikatorów (347)
- Stosowanie zasobów dla różnych orientacji (353)
- Programowe stosowanie zasobów alternatywnych (354)
- Efektywna organizacja zasobów aplikacji (354)
- Przygotowywanie aplikacji dla tabletów i telewizorów (357)
- Aplikacje na tablety (357)
- Aplikacje na telewizory (359)
- Rozszerzanie zasięgu aplikacji na zegarki i samochody (360)
- Zapewnianie zgodności z SafetyNet (361)
- Podsumowanie (362)
- Pytania kwizowe (363)
- Ćwiczenia (363)
- Odwołania i inne źródła informacji (363)
CZĘŚĆ IV. KLUCZOWE ZAGADNIENIA PROGRAMOWANIA APLIKACJI NA ANDROIDA (365)
Rozdział 14. Stosowanie preferencji (367)
- Korzystanie z preferencji aplikacji (367)
- Określanie, kiedy stosowanie preferencji jest właściwe (367)
- Zapisywanie w preferencjach wartości różnych typów (368)
- Tworzenie prywatnych preferencji (368)
- Tworzenie wspólnych preferencji używanych przez większą liczbę aktywności (368)
- Przeszukiwanie i odczyt preferencji (369)
- Dodawanie, aktualizacja oraz usuwanie preferencji (369)
- Reagowanie na zmiany w preferencjach (371)
- Odnajdywanie danych preferencji w systemie plików Androida (371)
- Tworzenie łatwych do zarządzania preferencji użytkownika (372)
- Tworzenie pliku zasobów preferencji (372)
- Stosowanie klasy PreferenceActivity (374)
- Organizowanie preferencji dzięki wykorzystaniu nagłówków (376)
- Automatyczna kopia zapasowa aplikacji na Androida (380)
- Podsumowanie (381)
- Pytania kwizowe (381)
- Ćwiczenia (381)
- Odwołania i inne źródła informacji (382)
Rozdział 15. Dostęp do plików i katalogów (383)
- Korzystanie z danych aplikacji na urządzeniu (383)
- Dobre praktyki związane z zarządzaniem plikami (384)
- Wyjaśnienie kwestii uprawnień do plików w Androidzie (385)
- Praca z plikami i katalogami (386)
- Badanie katalogów aplikacji (386)
- Praca z innymi katalogami i plikami w systemie plików Androida (391)
- Podsumowanie (394)
- Pytania kwizowe (394)
- Ćwiczenia (394)
- Odwołania i inne źródła informacji (395)
Rozdział 16. Zapisywanie informacji w bazach danych SQLite (397)
- Dodawanie bazy SQLite do aplikacji SampleMaterial (397)
- Praca z bazami danych (398)
- Zapewnianie dostępu do danych (399)
- Aktualizacja klasy SampleMaterialActivity (400)
- Aktualizacja konstruktora klasy SampleMaterialAdapter (401)
- Usuwanie operacji na bazie z głównego wątku interfejsu użytkownika (401)
- Tworzenie kart w bazie danych (402)
- Pobieranie wszystkich kart (403)
- Dodawanie nowej karty (404)
- Aktualizacja kart (405)
- Usuwanie karty (406)
- Podsumowanie (407)
- Pytania kwizowe (408)
- Ćwiczenia (408)
- Odwołania i inne źródła informacji (408)
Rozdział 17. Stosowanie dostawców treści (411)
- Prezentacja dostawców treści (411)
- Stosowanie dostawcy treści MediaStore (412)
- Stosowanie dostawcy danych CallLog (414)
- Korzystanie z dostawcy treści CalendarContract (416)
- Stosowanie dostawcy treści UserDictionary (417)
- Korzystanie z dostawcy treści VoicemailContract (417)
- Stosowanie dostawcy treści Settings (417)
- Prezentacja dostawcy treści ContactsContract (417)
- Modyfikacja danych dostawców treści (419)
- Dodawanie rekordów (419)
- Aktualizacja rekordów (421)
- Usuwanie rekordów (421)
- Korzystanie z dostawców treści innych firm (422)
- Podsumowanie (423)
- Pytania kwizowe (423)
- Ćwiczenia (423)
- Odwołania i inne źródła informacji (424)
CZĘŚĆ V. KLUCZOWE ZAGADNIENIA ROZPOWSZECHNIANIA APLIKACJI (425)
Rozdział 18. Proces tworzenia oprogramowania mobilnego (427)
- Prezentacja procesu tworzenia oprogramowania mobilnego (427)
- Wybór metodologii tworzenia oprogramowania (428)
- Zrozumienie niebezpieczeństw metody kaskadowej (428)
- Zrozumienie znaczenia powtarzania (429)
- Gromadzenie wymagań aplikacji (429)
- Określanie wymagań projektowych (429)
- Tworzenie przypadków użycia aplikacji na Androida (432)
- Dołączanie wymagań i zaleceń innych podmiotów (433)
- Zarządzanie bazą danych urządzeń (433)
- Szacowanie ryzyka związanego z projektem (437)
- Określanie urządzeń docelowych (437)
- Pozyskiwanie urządzeń docelowych (439)
- Określanie możliwości zaspokojenia wymagań aplikacji (440)
- Rozumienie ryzyka związanego z zapewnianiem jakości (440)
- Pisanie ważnej dokumentacji projektowej (442)
- Tworzenie planów testowania na potrzeby kontroli jakości (442)
- Dostarczanie dokumentacji wymaganej przez inne podmioty (443)
- Dokumentacja na potrzeby utrzymania i przenoszenia (443)
- Korzystanie z systemów zarządzania konfiguracjami (443)
- Wybór systemu zarządzania kodem źródłowym (443)
- Implementacja działającego systemu numeracji wersji aplikacji (444)
- Projektowanie aplikacji na Androida (445)
- Znajomość ograniczeń urządzeń z Androidem (445)
- Poznawanie wspólnych architektur aplikacji na Androida (445)
- Projektowanie aplikacji pod kątem jej rozszerzania i pielęgnacji (446)
- Projektowanie pod kątem możliwości współdziałania aplikacji (447)
- Tworzenie aplikacji na Androida (448)
- Testowanie aplikacji na Androida (448)
- Kontrola wersji testowych aplikacji (449)
- Wdrażanie aplikacji na Androida (450)
- Określanie rynków docelowych (450)
- Wsparcie i pielęgnacja aplikacji na Androida (450)
- Śledzenie i weryfikacja informacji o awariach (451)
- Testowanie aktualizacji oprogramowania układowego (451)
- Prowadzenie odpowiedniej dokumentacji aplikacji (451)
- Wprowadzanie zmian na działającym serwerze (452)
- Określanie możliwości przenoszenia aplikacji obciążonego niewielkim ryzykiem (452)
- Selekcja możliwości aplikacji (452)
- Podsumowanie (452)
- Pytania kwizowe (453)
- Ćwiczenia (453)
- Odwołania i inne źródła informacji (453)
Rozdział 19. Planowanie doświadczeń użytkowników (455)
- Myślenie o celach (455)
- Cele użytkowników (456)
- Cele twórców aplikacji (456)
- Cele innych zainteresowanych stron (457)
- Techniki konkretyzowania wysiłków wkładanych w rozwój projektu (457)
- Persony (457)
- Mapowanie historii użytkowników (458)
- Wykrywanie i organizacja encji (458)
- Planowanie interakcji użytkowników (459)
- Wyrażanie tożsamości aplikacji (460)
- Projektowanie układów ekranów (462)
- Szkice (462)
- Szkielety (462)
- Kompozycje projektowe (462)
- Właściwe reagowanie z wykorzystaniem wizualnych informacji zwrotnych (463)
- Obserwowanie docelowej grupy odbiorców w celu poprawy użyteczności aplikacji (463)
- Tworzenie atrapy aplikacji (464)
- Testowanie wersji finalnej aplikacji (465)
- Podsumowanie (465)
- Pytania kwizowe (465)
- Ćwiczenia (466)
- Odwołania i inne źródła informacji (466)
Rozdział 20. Projektowanie i tworzenie niezawodnych aplikacji na Androida (467)
- Najlepsze praktyki projektowania niezawodnych aplikacji na Androida (467)
- Zaspokajanie wymagań użytkowników urządzeń z Androidem (468)
- Projektowanie interfejsu użytkownika aplikacji na Androida (468)
- Projektowanie stabilnych i szybko reagujących aplikacji mobilnych (470)
- Projektowanie bezpiecznych aplikacji na Androida (472)
- Projektowanie aplikacji na Androida w celu maksymalizacji zysków (473)
- Korzystanie z wytycznych dotyczących zachowania jakości podczas projektowania aplikacji na Androida (474)
- Stosowanie standardów jakości firm trzecich (475)
- Projektowanie aplikacji pod kątem prostoty ich utrzymania i aktualizacji (476)
- Projektowanie aplikacji przy wykorzystaniu narzędzi Androida (478)
- Unikanie głupich błędów podczas projektowania aplikacji na Androida (478)
- Najlepsze praktyki stosowane przy tworzeniu wysokiej jakości aplikacji na Androida (479)
- Określanie procesu produkcyjnego dostosowanego do tworzenia oprogramowania mobilnego (479)
- Wczesne i częste testowanie możliwości wykonania projektu (480)
- Stosowanie standardów kodowania, weryfikacji i testów jednostkowych w celu poprawienia jakości kodu (480)
- Obsługa usterek występujących na jednym urządzeniu (483)
- Korzystanie z narzędzi Androida przy pisaniu aplikacji (484)
- Unikanie głupich błędów podczas tworzenia aplikacji na Androida (484)
- Podsumowanie (485)
- Pytania kwizowe (485)
- Ćwiczenia (485)
- Odwołania i inne źródła informacji (486)
Rozdział 21. Testowanie aplikacji na Androida (487)
- Najlepsze praktyki testowania oprogramowania mobilnego (487)
- Projektowanie systemu rejestracji defektów na potrzeby tworzenia oprogramowania mobilnego (487)
- Zarządzanie środowiskiem testowym (489)
- Maksymalizacja pokrycia testów (492)
- Stosowanie narzędzi Android SDK do testowania aplikacji na Androida (500)
- Unikanie głupich błędów podczas testowania aplikacji na Androida (502)
- Podstawowe informacje o testowaniu aplikacji na Androida (502)
- Testy jednostkowe z użyciem JUnit (503)
- Prezentacja aplikacji PasswordMatcher (504)
- Określanie, czego powinny dowieść testy jednostkowe (507)
- Tworzenie konfiguracji uruchomieniowej na potrzeby kodu testowego (507)
- Pisanie testów (511)
- Wykonywanie pierwszego testu z wykorzystaniem narzędzi Android Studio (513)
- Analiza wyników testów (513)
- Dodawanie kolejnych testów (514)
- Inne programy i API do automatyzacji testów aplikacji na Androida (517)
- Podsumowanie (518)
- Pytania kwizowe (519)
- Ćwiczenia (519)
- Odwołania i inne źródła informacji (519)
Rozdział 22. Rozpowszechnianie aplikacji na Androida (521)
- Wybór odpowiedniego modelu dystrybucji (521)
- Ochrona swojej własności intelektualnej (522)
- Zachowanie zgodności z regulaminem Google Play (523)
- Pobieranie opłat od użytkowników (523)
- Przygotowywanie aplikacji do publikacji (525)
- Przygotowanie kodu do utworzenia pakietu instalacyjnego (525)
- Tworzenie pakietu aplikacji i jego podpisywanie (527)
- Testowanie publikowanej wersji pakietu aplikacji (531)
- Dołączanie wszystkich niezbędnych zasobów (531)
- Przygotowanie serwerów i usług (531)
- Dystrybucja aplikacji (531)
- Publikowanie aplikacji w Google Play (532)
- Rejestracja w Google Play w celu publikowania aplikacji (532)
- Przesyłanie aplikacji do Google Play (535)
- Przesyłanie materiałów marketingowych aplikacji (537)
- Konfiguracja szczegółowych informacji dotyczących opłat oraz dystrybucji aplikacji (537)
- Konfigurowanie innych opcji aplikacji (539)
- Zarządzanie pozostałymi opcjami Developer Console (539)
- Publikowanie aplikacji w Google Play (539)
- Zarządzanie aplikacją w sklepie Google Play (540)
- Mechanizm wdrażania etapami (541)
- Publikowanie aplikacji w prywatnym kanale Google Play (542)
- Tłumaczenie aplikacji (542)
- Publikowanie aplikacji w alternatywnych kanałach dystrybucji (543)
- Samodzielne publikowanie aplikacji (544)
- Podsumowanie (545)
- Pytania kwizowe (546)
- Ćwiczenia (546)
- Odwołania i inne źródła informacji (546)
DODATKI (549)
Dodatek A. Wskazówki i sztuczki: Android Studio (551)
- Organizacja przestrzeni roboczej w Android Studio (551)
- Integracja z usługami kontroli kodów źródłowych (551)
- Zmiana położenia okien w Android Studio (552)
- Zmiana wielkości okna edytora (552)
- Zmiana wielkości okna Tools (553)
- Wyświetlanie okien edytora jedno przy drugim (553)
- Wyświetlanie dwóch fragmentów tego samego pliku (553)
- Zamykanie niepotrzebnych kart (554)
- Zachowywanie kontroli nad oknami edytora (555)
- Tworzenie niestandardowych filtrów dzienników (556)
- Przeszukiwanie projektu (557)
- Organizowanie zadań Android Studio (558)
- Pisanie kodu w Javie (558)
- Stosowanie automatycznego uzupełniania (558)
- Tworzenie nowych klas i metod (559)
- Organizowanie instrukcji importu (559)
- Formatowanie kodu (559)
- Możliwość modyfikowania niemal wszystkich nazw (560)
- Refaktoryzacja kodu (560)
- Reorganizacja kodu (562)
- Narzędzie Intention Actions (562)
- Przygotowywanie dokumentacji Javadoc (563)
- Rozwiązywanie tajemniczych błędów budowy (563)
- Podsumowanie (563)
- Pytania kwizowe (563)
- Ćwiczenia (564)
- Odwołania i inne źródła informacji (564)
Dodatek B. Krótki przewodnik po emulatorze Androida (565)
- Symulacja rzeczywistości - przeznaczenie emulatora (565)
- Korzystanie z różnych urządzeń wirtualnych (AVD) (567)
- Stosowanie programu Android Virtual Device Manager (568)
- Tworzenie AVD (570)
- Tworzenie AVD z niestandardowymi ustawieniami komponentów sprzętowych (574)
- Uruchamianie emulatora z użyciem konkretnego AVD (575)
- Zapewnianie wydajności pracy emulatora (576)
- Uruchamianie emulatora w celu wykonania aplikacji (577)
- Uruchamianie emulatora z poziomu programu Android Virtual Device Manager (580)
- Konfiguracja położenia GPS w emulatorze (581)
- Symulowanie przychodzących połączeń telefonicznych na emulatorze Androida (583)
- Przesyłanie SMS-ów do emulatora Androida (584)
- Interakcja z emulatorem z poziomu konsoli (585)
- Wykorzystanie konsoli do symulowania odbieranych połączeń (586)
- Stosowanie konsoli do symulowania wiadomości SMS (587)
- Stosowanie konsoli do przesyłania współrzędnych GPS (589)
- Stosowanie konsoli do monitorowania transmisji sieciowych (590)
- Stosowanie konsoli do modyfikowania ustawień zasilania (590)
- Inne polecenia konsoli emulatora (591)
- Personalizacja emulatora (591)
- Ograniczenia emulatora (592)
- Podsumowanie (593)
- Pytania kwizowe (593)
- Ćwiczenia (594)
- Odwołania i inne źródła informacji (594)
Dodatek C. Krótki przewodnik po programie Device Monitor (595)
- Korzystanie z programu Device Monitor w Android Studio oraz jako niezależnej aplikacji (595)
- Szybka prezentacja kluczowych możliwości Device Monitora (597)
- Obsługa procesów, wątków i sterty (597)
- Dołączanie debugera do aplikacji (598)
- Zatrzymywanie procesu (598)
- Monitorowanie aktywności wątku aplikacji (598)
- Monitorowanie operacji wykonywanych na stercie (599)
- Wymuszenie oczyszczania pamięci (600)
- Tworzenie i stosowanie plików HPROF (601)
- Stosowanie karty Allocation Tracker (602)
- Przeglądanie statystyk wykorzystania sieci (603)
- Zarządzanie plikami (604)
- Przeglądanie systemu plików w emulatorze lub na urządzeniu (605)
- Kopiowanie plików z emulatora lub urządzenia (606)
- Kopiowanie plików do emulatora lub urządzenia (606)
- Usuwanie plików na emulatorze lub urządzeniu (607)
- Stosowanie zakładki Emulator Control (607)
- Zmiana stanu telefonii (607)
- Symulowanie przychodzących połączeń telefonicznych (608)
- Symulowanie nadsyłanych wiadomości SMS (609)
- Przesyłanie współrzędnych geograficznych (609)
- Korzystanie z karty System Information (609)
- Robienie zrzutów ekranu z emulatora i rzeczywistych urządzeń (610)
- Korzystanie z mechanizmów rejestracji komunikatów (611)
- Podsumowanie (612)
- Pytania kwizowe (612)
- Ćwiczenia (613)
- Odwołania i inne źródła informacji (613)
Dodatek D. Kurs mistrzowski: narzędzia Android SDK (615)
- Stosowanie dokumentacji Androida (615)
- Korzystanie z emulatora Androida (619)
- Przeglądanie dzienników aplikacji z użyciem narzędzia logcat (620)
- Debugowanie aplikacji z użyciem monitora urządzenia (620)
- Stosowanie ADB (621)
- Stosowanie edytora układów (622)
- Stosowanie podglądu hierarchii (622)
- Uruchamianie narzędzia Hierarchy Viewer (624)
- Stosowanie trybu Layout View (624)
- Optymalizacja interfejsu użytkownika (625)
- Stosowanie trybu Pixel Perfect (626)
- Stosowanie formatu graficznego Nine-Patch Stretchable Graphics (626)
- Korzystanie z innych narzędzi Android SDK (628)
- Podsumowanie (631)
- Pytania kwizowe (632)
- Ćwiczenia (632)
- Odwołania i inne źródła informacji (632)
Dodatek E. Krótki przewodnik po systemie budowy Gradle (635)
- Pliki budowy Gradle (635)
- Ustawienia projektu (637)
- Ustawienia modułów (637)
- Stosowanie Android Studio do konfigurowania procesu budowy aplikacji (641)
- Synchronizacja projektu (641)
- Konfiguracja właściwości Androida (642)
- Określanie opcji podpisywania (643)
- Konfiguracja budowy różnych wersji aplikacji (644)
- Konfigurowanie różnych typów budowy (645)
- Konfiguracja zależności aplikacji (647)
- Dodawanie zależności od bibliotek (647)
- Budowanie różnych wersji plików APK (648)
- Wykonywanie różnych zadań budowy Gradle (650)
- Podsumowanie (652)
- Pytania kwizowe (652)
- Ćwiczenia (652)
- Odwołania i inne źródła informacji (653)
Dodatek F. Odpowiedzi na pytania kwizowe (655)
- Rozdział 1. "Prezentacja systemu Android" (655)
- Rozdział 2. "Przygotowywanie środowiska programistycznego" (655)
- Rozdział 3. "Pierwsza aplikacja na Androida" (656)
- Rozdział 4. "Prezentacja komponentów aplikacji" (656)
- Rozdział 5. "Definiowanie manifestu" (656)
- Rozdział 6. "Zarządzanie zasobami aplikacji" (656)
- Rozdział 7. "Prezentacja elementów interfejsu użytkownika" (657)
- Rozdział 8. "Umiejscawianie elementów z użyciem układów" (657)
- Rozdział 9. "Dzielenie interfejsu aplikacji z użyciem fragmentów" (657)
- Rozdział 10. "Określanie architektury z użyciem wzorców" (658)
- Rozdział 11. "Stosowanie stylów do poprawy wizualnej atrakcyjności aplikacji" (658)
- Rozdział 12. "Stosowanie Material Design" (658)
- Rozdział 13. "Projektowanie zgodnych aplikacji" (659)
- Rozdział 14. "Stosowanie preferencji" (659)
- Rozdział 15. "Dostęp do plików i katalogów" (659)
- Rozdział 16. "Zapisywanie informacji w bazach danych SQLite" (659)
- Rozdział 17. "Stosowanie dostawców treści" (660)
- Rozdział 18. "Proces tworzenia oprogramowania mobilnego" (660)
- Rozdział 19. "Planowanie doświadczeń użytkowników" (660)
- Rozdział 20. "Projektowanie i tworzenie niezawodnych aplikacji na Androida" (661)
- Rozdział 21. "Testowanie aplikacji na Androida" (661)
- Rozdział 22. "Rozpowszechnianie aplikacji na Androida" (662)
- Dodatek A. "Wskazówki i sztuczki: Android Studio" (662)
- Dodatek B. "Krótki przewodnik po emulatorze Androida" (662)
- Dodatek C. "Krótki przewodnik po programie Device Monitor" (663)
- Dodatek D. "Kurs mistrzowski: narzędzia Android SDK" (663)
Skorowidz (665)