Android jest otwartą, kompletną i darmową platformą mobilną. Pod jego kontrolą pracują setki milionów urządzeń, przy czym nie są to jedynie tablety i smartfony. Mogą to być właściwie wszystkie urządzenia, do których da się włożyć procesor. Rynek aplikacji mobilnych dla Androida to raj dla programistów, jednak sukces zależy od pomysłu, talentu i wysokiej jakości tworzonych aplikacji.
Niniejsza książka to bezcenne kompendium dla każdego programisty piszącego aplikacje na Androida. Będzie niezastąpiona dla początkujących, którzy dzięki niej zyskają solidne podstawy, ale docenią ją również poważni projektanci profesjonalnych aplikacji. Kompleksowo prezentuje środowisko
Android Studio oraz
Android SDK , opisuje nowy system uprawnień w
Android 6.0 , przedstawia sposób wykorzystania bazy
SQLite , pokazuje sporo sztuczek i porad związanych z programowaniem na Androida — a to wszystko, by możliwie najpełniej i najstaranniej wyeksponować aktualne i najbardziej interesujące możliwości tej platformy.
Najważniejsze zagadnienia ujęte w książce:
podstawy platformy Android, jej architektura i zasady funkcjonowania,
architektura aplikacji mobilnej i jej cechy szczególne,
planowanie procesu wytwarzania aplikacji mobilnych i prowadzenie kontroli jakości,
Material Design i jego znaczenie,
pisanie aplikacji, jej testowanie i debugowanie oraz publikacja,
strategie tworzenia oprogramowania dla Androida.
Android — ogranicza go tylko Twoja wyobraźnia!
Joseph Annuzzi Jr jest programistą, grafikiem, przedsiębiorcą i autorem książek. Biegle posługuje się różnymi językami programowania, interesuje się kryptografią, algorytmami biometrycznymi i tworzeniem grafik 3D. Mieszka w Dolinie Krzemowej.
Lauren Darcey jest profesjonalną programistką i uznanym autorytetem w dziedzinie architektury aplikacji oraz aplikacji mobilnych.
Shane Conder od ponad dziesięciu lat pisze aplikacje dla środowisk mobilnych i osadzonych. Zaprojektował i napisał wiele komercyjnych aplikacji na Androida, iPhone’a, BREW, BlackBerry, Palm oraz dla środowisk J2ME i Windows Mobile.
Znajdź podobne książki
Ostatnio czytane w tej kategorii
Darmowy fragment publikacji:
Tytuł oryginału: Introduction to Android Application Development: Android Essentials, Fifth Edition
Tłumaczenie: Piotr Rajca
ISBN: 978-83-283-2612-5
Authorized translation from the English language edition, entitled: Introduction TO ANDROID APPLICATION
DEVELOPMENT: ANDROID ESSENTIALS, Fifth Edition; ISBN 013438945X; by Joseph Annuzzi; and by
Lauren Darcey; and by Shane Conder; published by Pearson Education, Inc, publishing as Addison-Wesley
Professional.
Copyright © 2016 Joseph Annuzzi, Jr., Lauren Darcey, and Shane Conder
All rights reserved. No part of this book may by 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 Pearson Education, Inc.
Polish language edition published by HELION SA. Copyright © 2016.
The following are registered trademarks of Google:
Android™, Chrome™, Google Play™, Nexus™, Dalvik™, Google Maps™, Google+™, Google TV™, Google
and the Google logo are registered trademarks of Google Inc.
ARM is a registered trademark of ARM Limited (or its subsidiaries) in the EU and/or elsewhere. All rights
reserved.
Altium® and Altium Designer® are trademarks or registered trademarks of Altium Limited or its subsidiaries.
Qualcomm and Snapdragon are trademarks of Qualcomm Incorporated, registered in the United States and other
countries.
Cyanogen is a trademark of Cyanogen Inc., registered in certain countries.
CyanogenMod is a trademark of CyanogenMod, LLC, registered in the United States.
JetBrains® and IntelliJ®, are registered trademarks owned by JetBrains s.r.o.
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/anwpp5
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ści
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
Poleć książkęKup książkę
8
Android. Wprowadzenie do programowania aplikacji
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
Poleć książkęKup książkę
Spis treści
9
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
Poleć książkęKup książkę 10
Android. Wprowadzenie do programowania aplikacji
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ń definiowanych 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
Poleć książkęKup książkę
Spis treści
11
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
Poleć książkęKup książkę 12
Android. Wprowadzenie do programowania aplikacji
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
Poleć książkęKup książkę
Spis treści
13
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 merge i include ...............................................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
Poleć książkęKup książkę 14
Android. Wprowadzenie do programowania aplikacji
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
Poleć książkęKup książkę
Spis treści
15
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
Poleć książkęKup książkę 16
Android. Wprowadzenie do programowania aplikacji
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
Poleć książkęKup książkę
Spis treści
17
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
Poleć książkęKup książkę 18
Android. Wprowadzenie do programowania aplikacji
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
Poleć książkęKup książkę
Spis treści
19
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
Poleć książkęKup książkę 20
Android. Wprowadzenie do programowania aplikacji
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
Poleć książkęKup książkę
Spis treści
21
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
Poleć książkęKup książkę 22
Android. Wprowadzenie do programowania aplikacji
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
Poleć książkęKup książkę
Spis treści
23
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
Poleć książkęKup książkę 24
Android. Wprowadzenie do programowania aplikacji
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
Dodatek E. „Krótki przewodnik po systemie budowy Gradle” ...........663
Skorowidz ........................................................................665
Poleć książkęKup książkę9
Dzielenie interfejsu aplikacji
z użyciem fragmentów
T
radycyjnie każdy ekran w aplikacji przeznaczonej na Androida był skojarzony z jedną, konkretną
aktywnością. Niemniej jednak w systemie Android 3.0 (Honeycomb) wprowadzono pojęcie
fragmentu (reprezentowanego przez klasę Fragment). Następnie obsługę fragmentów dodano do
biblioteki wsparcia systemu Android, tak by można ich było używać w Androidzie, zaczynając od
wersji 1.6 (API poziomu 4). Fragmenty zapewniają separację komponentów interfejsu użytkownika
lub zachowań (zarówno tych dysponujących interfejsem użytkownika, jak i tych, które są go
pozbawione) od cyklu życia konkretnej aktywności. Z kolei klasy aktywności mogą dowolnie łączyć
i stosować komponenty interfejsu użytkownika bądź zachowania, tworząc z ich pomocą znacznie
bardziej elastyczny interfejs użytkownika. W tym rozdziale zostanie wyjaśnione, czym są fragmenty
oraz jak można je tworzyć i stosować. Przedstawione zostanie także zagadnienie fragmentów
zagnieżdżonych.
Wyjaśnienie pojęcia fragmentu
Fragmenty zostały dodane do Android SDK w kluczowym momencie, kiedy na rynku ogromnie
wzrosły popularność i liczba dostępnych urządzeń z systemem Android. Obecnie stosowane są nie
tylko smartfony, lecz także urządzenia z większymi ekranami, takie jak tablety i telewizory, także
działające pod kontrolą Androida. Urządzenia te dysponują znacznie większą powierzchnią ekranu,
którą mogą wykorzystać programiści. Na przykład typowy, dopracowany i elegancki interfejs
użytkownika aplikacji, przygotowany z myślą o smartfonach, będzie na tabletach zazwyczaj wyglądał
na zbytnio uproszczony. Jednak wprowadzając do projektu interfejsu użytkownika komponenty
fragmentów, można napisać jedną aplikację, która będzie dostosowana do wszystkich tych cech
charakterystycznych i orientacji ekranu, a nie do wielu wersji aplikacji przystosowanych do konkretnych
typów urządzeń. Takie rozwiązanie znacznie zwiększa możliwości wielokrotnego stosowania kodu,
upraszcza proces testowania aplikacji oraz ułatwia publikowanie pakietu aplikacji oraz zarządzanie nim.
Zgodnie z tym, co podano we wstępie do tego rozdziału, jedną z podstawowych reguł, których
trzymali się programiści aplikacji przeznaczonych na Androida, było tworzenie jednej aktywności
obsługującej jeden, konkretny ekran aplikacji. Rozwiązanie to w bardzo ścisły i bezpośredni sposób
Poleć książkęKup książkę244
Rozdział 9. Dzielenie interfejsu aplikacji z użyciem fragmentów
kojarzy zadania realizowane przez klasę aktywności z interfejsem użytkownika. Jednak okazało się,
że w momencie, gdy na rynku pojawiły się urządzenia z większymi ekranami, takie rozwiązanie
zaczęło przysparzać problemów. Kiedy na jednym ekranie pojawiło się więcej miejsca, umożliwiającego
wykonywanie większej liczby czynności, konieczne stało się implementowanie odrębnych klas
aktywności, przeznaczonych do obsługi tych rozbudowanych ekranów. Niemniej jednak funkcje
owych prostszych oraz rozbudowanych aktywności w przeważającej mierze były identyczne.
Problem ten można rozwiązać dzięki zastosowaniu fragmentów, gdyż pozwalają one hermetyzować
funkcje udostępniane w obszarach ekranu w formie komponentów, których można wielokrotnie
używać i, w ramach tej samej aktywności, łączyć z innymi fragmentami.
Poniżej przeanalizowano teoretyczny przykład aplikacji. Jest to tradycyjna aplikacja na smartfony
składająca się z dwóch ekranów, przeznaczona na przykład do prezentowania najnowszych informacji
z witryny internetowej. Jej pierwszy ekran tworzy aktywność typu ListActivity zawierająca kontrolkę
ListView. Każdy element tej listy ListView reprezentuje artykuł z witryny, który użytkownik może
przeczytać. Ponieważ jest to aplikacja internetowa, zatem kliknięcie konkretnego artykułu powoduje
przejście na drugi ekran, na którym treść wybranego artykułu jest prezentowana w kontrolce
WebView. Ta tradycyjna architektura aplikacji internetowej została przedstawiona na rysunku 9.1.
Rysunek 9.1. Tradycyjne powiązania pomiędzy ekran
Pobierz darmowy fragment (pdf)
Gdzie kupić całą publikację:
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ą :