Programowanie aplikacji dla Androida. The Big Nerd Ranch Guide. Wydanie III
- Autorzy:
- Bill Phillips, Chris Stewart, Kristin Marsicano
- Wydawnictwo:
- Helion
- Ocena:
- 4.0/6 Opinie: 3
- Stron:
- 744
- Druk:
- oprawa miękka
- Dostępne formaty:
-
PDFePubMobi
Opis ebooka: Programowanie aplikacji dla Androida. The Big Nerd Ranch Guide. Wydanie III
Android jest systemem stworzonym dla urządzeń mobilnych. Pod jego kontrolą pracują smartfony, tablety, lodówki, telewizory i wszystko wskazuje na to, że internet rzeczy będzie również w dużej części androidowy. Wielu programistów widzi w tym niespotykane dotąd możliwości, jednak pisanie aplikacji dla Androida wcale nie jest łatwym zadaniem. Wielu programistów przekonało się, że sama umiejętność kodowania nie jest wystarczająca. Biegłe poruszanie się po tym środowisku wymaga opanowania licznych nowych koncepcji i technik. Innymi słowy, rozpoczynając naukę programowania dla Androida, trzeba nastawić się na intensywną naukę wielu nowych rzeczy w krótkim czasie!
Jeśli umiesz pisać zorientowany obiektowo kod w Javie i postanowiłeś zacząć tworzyć aplikacje dla Androida, wziąłeś do ręki odpowiednią książkę. Jest to praktyczny, przystępnie napisany przewodnik, który bezboleśnie przeprowadzi Cię przez trudności, jakie napotyka właściwie każdy początkujący programista aplikacji dla Androida. Opisano tu podstawowe zagadnienia związane z tworzeniem projektu i używaniem aktywności, układów oraz intencji jawnych i niejawnych. Pokazano, jak korzystać z fragmentów, tworzyć menu i jak pracować na plikach multimedialnych. Przede wszystkim zaś przedstawiono wszystkie ważne szczegóły projektowania i rozwijania aplikacji mobilnej.
W książce poruszono wiele zagadnień, między innymi:
- środowisko pracy i zasady projektowania aplikacji,
- obsługa wbudowanego aparatu fotograficznego i dotykowości,
- architektura MVVM i mechanizmy wiązania danych,
- testowanie aplikacji,
- animacje w Androidzie,
- usługa lokalizacji i korzystanie z map.
Autorzy są ekspertami i instruktorami z firmy Big Nerd Ranch, która specjalizuje się w rozwijaniu innowacyjnych aplikacji mobilnych.
Android — zaprogramuj przyszłość!
Bill Phillips jest współtwórcą i instruktorem serii szkoleń Big Nerd Ranch Android Bootcamp. Jest również wykładowcą, prowadzi bloga, lubi dobrą literaturę, komponuje muzykę i pisze książki.
Chris Stewart jest kierownikiem zespołu do spraw Androida. Zawsze dąży do perfekcji w tym, co robi. W wolnym czasie chodzi po górach i podróżuje.
Kristin Marsicano jest deweloperem aplikacji dla systemu Android. Jest pasjonatem nauki i rozwoju oprogramowania. W wolnych chwilach gotuje, zajmuje się jogą lub po prostu uczy się czegoś nowego.
Programowanie aplikacji dla Androida. The Big Nerd Ranch Guide to książka wprowadzająca do tworzenia aplikacji dla systemu Android, przeznaczona dla programistów mających pewne doświadczenie w programowaniu w języku Java.
Ta oparta na serii popularnych szkoleń prowadzonych przez firmę Big Nerd Ranch książka prowadzi Czytelnika przez świat deweloperów aplikacji dla systemu Android z wykorzystaniem dużej liczby praktycznych przykładów połączonych z jasnym, klarownym omówieniem kluczowych zagadnień oraz interfejsów API.
Książka koncentruje się na praktycznych technikach tworzenia aplikacji kompatybilnych z systemem Android w wersji od 4.4 (Kitkat) do wersji 7.0 (Nougat) i nowszych.W każdym z kolejnych rozdziałów książki będziesz pisać i testować różne fragmenty kodu, używając środowiska Android Studio do tworzenia aplikacji, które integrują się z innymi aplikacjami, pobierają z serwisów sieciowych i wyświetlają na ekranie zdjęcia, odtwarzają dźwięki i wykonując wiele innych operacji. Każdy rozdział i każda aplikacja zostały utworzone z myślą o dostarczeniu nowej porcji praktycznej wiedzy i przekazaniu doświadczeń, które z pewnością zaowocują później podczas tworzenia własnych aplikacji dla systemu Android.
Firma Big Nerd Ranch specjalizuje się w projektowaniu i tworzeniu innowacyjnych aplikacji mobilnych dla klientów z niemal całego świata. Nasi eksperci przekazują swoją wiedzę innym za pośrednictwem książek, wykładów i szkoleń. Niezależnie od tego, czy używasz systemu Android, iOS, sieci WWW czy innych systemów, znajdziemy dla Ciebie najlepsze rozwiązania.
Bill Phillips jest jednym z ekspertów oraz instruktorów w firmie Big Nerd Ranch. Jest współtwórcą oraz instruktorem w serii szkoleń Big Nerd Ranch Android Bootcamp oraz współautorem wcześniejszych edycji tej książki. Obecnie jest wykładowcą, prowadzi bloga, jest miłośnikiem literatury, zajmuje się komponowaniem muzyki oraz pisaniem książek.
Chris Stewart jest kierownikiem zespołu zajmującego się systemem Android w firmie Big Nerd Ranch oraz instruktorem prowadzonych przez nią szkoleń. Stara się ciągle doskonalić swoją wiedzę i umiejętności i dokłada wszelkich starań, aby dążyć do perfekcji w tym co robi. Kiedy nie siedzi przed komputerem, zajmuje się chodzeniem po górach i podróżowaniem.
Kristin Marsicano jest deweloperem aplikacji dla systemu Android oraz instruktorem w firmie Big Nerd Ranch. Zawsze chętna do przekazywania swojej wiedzy innymi, jest pasjonatem nauki i rozwoju oprogramowania. Kiedy nie wykłada i nie jest zajęta projektowaniem i tworzeniem aplikacji, uwielbia gotować dla swojej rodziny, uprawiać jogę lub po prostu uczyć się czegoś nowego.
Wybrane bestsellery
-
Android UI development with Jetpack Compose will help you understand the core concepts of Android’s declarative UI toolkit in a practical manner. The chapters are designed in a way to familiarize you with the latest ways of building modern Android applications with ease.
Android UI Development with Jetpack Compose. Bring declarative and native UI to life quickly and easily on Android using Jetpack Compose and Kotlin - Second Edition Android UI Development with Jetpack Compose. Bring declarative and native UI to life quickly and easily on Android using Jetpack Compose and Kotlin - Second Edition
-
Jesteś początkującym programistą, poszukujesz swojej ścieżki i zastanawiasz się właśnie nad tym, czy nie skierować uwagi w stronę aplikacji mobilnych? To książka dla Ciebie. Zawarty w niej materiał jest odpowiedni dla osoby dysponującej podstawami któregoś z języków programowania i bazowym doświa...(41.40 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł(-35%) -
W tej książce znajdziesz fascynującą historię Androida, opowiedzianą przez jej bohaterów. Dowiesz się, skąd się wziął pomysł na system operacyjny dla urządzeń mobilnych, kim byli ludzie, którzy zaczęli nad nim pracę, jak powstawał zespół i jakie trudności trzeba było pokonać, aby móc rzucić wyzwa...
Androidy. Zespół, który stworzył system operacyjny Android Androidy. Zespół, który stworzył system operacyjny Android
(35.94 zł najniższa cena z 30 dni)38.94 zł
59.90 zł(-35%) -
Stwórz Grę Mobilną JavaScript React Native ES6+ React – aktualizacja 2023 Witaj w poradniku wydawnictwa poswojsku.pl, dzięki któremu wspólnie zaprogramujemy grę mobilną Falling Jumping Shapes. Stworzymy projekt od pomysłu przez grafikę, aż do kompleksowego zaprogramo...
-
Learn the essentials of working with Flutter and Dart to build full stack applications that meet the needs of a cloud-driven world. Together, the Flutter open source UI software development kit and the Dart programming language for client development provide a unified solution to building applica...(203.15 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%) -
Atomowy Kotlin to książka dla wszystkich, którzy chcą nauczyć się Kotlina stosunkowo młodego, ale bardzo popularnego i pożądanego na rynku pracy języka programowania. Nieważne, czy jesteś początkującym, czy doświadczonym programistą, dzięki tej publikacji Kotlin nie będzie miał dla Ciebie żadny...(93.12 zł najniższa cena z 30 dni)
111.20 zł
139.00 zł(-20%) -
Witaj w poradniku wydawnictwa poswojsku.pl, dzięki któremu wspólnie zaprogramujemy grę mobilną Falling Jumping Shapes. Stworzymy projekt od pomysłu przez grafikę, aż do kompleksowego zaprogramowania w najwspanialszym języku programowania: JavaScript. Aby jednak to osiągnąć, najpierw...
Stwórz Grę Aplikacje Mobilne ES6+ JavaScript React Native - Hooks Stwórz Grę Aplikacje Mobilne ES6+ JavaScript React Native - Hooks
-
This book demonstrates a roadmap to making important decisions in Android app development. Clean Android Architecture shows you how to structure your app in different layers to make it clean and introduces the available technologies used for integration. This practical guide will help you underst...
Clean Android Architecture. Take a layered approach to writing clean, testable, and decoupled Android applications Clean Android Architecture. Take a layered approach to writing clean, testable, and decoupled Android applications
-
With Jetpack's libraries, tools, and guidance, developers can easily write high-quality apps. This book covers detailed explanations of essential concepts to help you get started with building, designing, and testing robust Android apps for various use cases using the most popular Jetpack librari...
Kickstart Modern Android Development with Jetpack and Kotlin. Enhance your applications by integrating Jetpack and applying modern app architectural concepts Kickstart Modern Android Development with Jetpack and Kotlin. Enhance your applications by integrating Jetpack and applying modern app architectural concepts
-
Dziś nawet małe dziecko wie, że w umiejętności programowania tkwi moc. Moc kreowania wirtualnego świata, moc wpływania na własną przyszłość, moc współpracy z maszynami, które coraz silniej wkraczają w nasze życie. W przyszłości umiejętności programistyczne zapewnią dzisiejszym dzieciom - tym mały...
App Inventor. Kurs video. Stwórz grę mobilną bez kodowania App Inventor. Kurs video. Stwórz grę mobilną bez kodowania
(39.90 zł najniższa cena z 30 dni)54.50 zł
109.00 zł(-50%)
Ebooka "Programowanie aplikacji dla Androida. The Big Nerd Ranch Guide. Wydanie III" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Programowanie aplikacji dla Androida. The Big Nerd Ranch Guide. Wydanie III" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Programowanie aplikacji dla Androida. The Big Nerd Ranch Guide. Wydanie III" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- Tytuł oryginału:
- Android Programming: The Big Nerd Ranch Guide (3rd Edition) (Big Nerd Ranch Guides)
- Tłumaczenie:
- Grzegorz Kowalczyk
- ISBN Książki drukowanej:
- 978-83-283-3636-0, 9788328336360
- Data wydania książki drukowanej:
- 2017-11-17
- ISBN Ebooka:
- 978-83-283-3637-7, 9788328336377
- Data wydania ebooka:
- 2017-11-17 Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Format:
- 170x230
- Numer z katalogu:
- 65028
- Rozmiar pliku Pdf:
- 29.7MB
- Rozmiar pliku ePub:
- 27.7MB
- Rozmiar pliku Mobi:
- 52.6MB
- Przykłady na ftp
Ebook zawiera materiały dodatkowe, które możesz pobrać z serwera FTP - link znajdziesz na stronie redakcyjnej.
Spis treści ebooka
- Wymagania wstępne (20)
- Co nowego w trzecim wydaniu? (20)
- Jak korzystać z tej książki? (20)
- Jak zorganizowana jest ta książka (21)
- Wyzwania (22)
- Czy jesteś dociekliwy? (22)
- Styl kodowania (22)
- Konwencje typograficzne (23)
- Wersje systemu Android (23)
- Pobieranie i instalowanie Android Studio (25)
- Pobieranie starszych wersji środowiska SDK (25)
- Urządzenie sprzętowe (26)
- Podstawowe elementy aplikacji (28)
- Tworzenie projektu aplikacji dla systemu Android (29)
- Poruszanie się w Android Studio (33)
- Tworzenie układu interfejsu użytkownika (34)
- Hierarchia widoków (38)
- Atrybuty widgetów (39)
- Tworzenie zasobów tekstowych (40)
- Podgląd układu (41)
- Od pliku układu XML do obiektów klasy View (42)
- Zasoby i identyfikatory zasobów (43)
- Podłączanie widgetów (45)
- Pobieranie odwołań do widgetów (46)
- Tworzenie obiektów nasłuchujących (47)
- Tworzenie komunikatów toast (49)
- Zastosowanie mechanizmu dopełniania kodu (50)
- Uruchamianie aplikacji w emulatorze (51)
- Dla dociekliwych: proces budowania aplikacji (55)
- Narzędzia wspomagające budowanie aplikacji (56)
- Wyzwania (56)
- Wyzwanie: dostosowywanie komunikatów toast do własnych potrzeb (57)
- Tworzenie nowej klasy (60)
- Generowanie getterów i setterów (61)
- Wzorzec MVC a system Android (63)
- Zalety stosowania wzorca MVC (64)
- Aktualizacje warstwy widoku (65)
- Aktualizacja warstwy kontrolera (67)
- Uruchamianie aplikacji na urządzeniu fizycznym (71)
- Podłączanie urządzenia fizycznego (71)
- Konfigurowanie urządzenia do pracy ze środowiskiem deweloperskim (72)
- Dodawanie ikon (74)
- Dodawanie nowych zasobów do projektu aplikacji (75)
- Odwołania do zasobów w kodzie XML (77)
- Wyzwanie: dodaj listener do widoku TextView (78)
- Wyzwanie: dodaj przycisk Poprzednie (78)
- Wyzwanie: od przycisku Button do przycisku ImageButton (79)
- Logowanie cyklu życia aktywności (83)
- Tworzenie dziennika komunikatów (83)
- Zastosowanie panelu Logcat (85)
- Badanie cyklu życia aktywności w praktyce (87)
- Zmiana orientacji urządzenia a cykl życia aktywności (90)
- Konfiguracje urządzeń i zasoby alternatywne (90)
- Zapisywanie danych przy zmianie orientacji urządzenia (95)
- Nadpisywanie metody onSaveInstanceState(Bundle) (95)
- Jeszcze kilka słów o cyklu życia aktywności (97)
- Dla dociekliwych: bieżący proces czyszczenia aktywności (99)
- Dla dociekliwych: poziomy logowania i odpowiadające im metody (100)
- Wyzwanie: zapobieganie wielokrotnym odpowiedziom na to samo pytanie (101)
- Wyzwanie: ocena poziomu poprawności odpowiedzi (101)
- Wyjątki i ślad stosu (104)
- Diagnozowanie problemów (106)
- Logowanie śladów stosu (106)
- Ustawianie punktów przerwania w kodzie (108)
- Zastosowanie pułapek z wyjątkami (111)
- Mechanizmy debugowania specyficzne dla systemu Android (112)
- Korzystanie z programu Android Lint (112)
- Problemy z klasą R (114)
- Wyzwanie: zastosowanie narzędzia Layout Inspector (115)
- Wyzwanie: śledzenie alokacji zasobów pamięci (116)
- Konfigurowanie drugiej aktywności (120)
- Tworzenie nowej aktywności (121)
- Podklasa nowej aktywności (124)
- Deklarowanie aktywności w manifeście aplikacji (124)
- Dodawanie przycisku podpowiedzi do aktywności QuizActivity (125)
- Uruchamianie aktywności (127)
- Komunikowanie się z intencjami (128)
- Przekazywanie danych między intencjami (129)
- Używanie danych typu extras w intencjach (130)
- Pobieranie wyników z aktywności podrzędnej (134)
- Jak system Android widzi Twoje aktywności (138)
- Wyzwanie: zamykanie luk dla oszustów (141)
- Wersje środowiska Android SDK (143)
- Kompatybilność aplikacji z różnymi wersjami systemu Android (144)
- Rozsądne minimum (145)
- Minimalna wersja SDK (147)
- Docelowa wersja SDK (147)
- Wersja kompilacji SDK (147)
- Bezpieczne dodawanie kodu z nowszych wersji API (148)
- Korzystanie z dokumentacji dla deweloperów aplikacji systemu Android (151)
- Wyzwanie: raportowanie wersji SDK (153)
- Wyzwanie: ograniczenie podpowiadania (154)
- Potrzeba elastyczności interfejsu użytkownika (155)
- Wprowadzenie do zastosowania fragmentów (157)
- Uruchamianie aplikacji CriminalIntent (158)
- Tworzenie nowego projektu (160)
- Dwa typy fragmentów (162)
- Dodawanie zależności w Android Studio (162)
- Tworzenie klasy Crime (165)
- Hostowanie fragmentów interfejsu użytkownika (166)
- Cykl życia fragmentu (167)
- Dwa podejścia do hostowania fragmentów (168)
- Definiowanie widoku kontenera (168)
- Tworzenie fragmentu interfejsu użytkownika (170)
- Definiowanie układu fragmentu CrimeFragment (170)
- Tworzenie klasy CrimeFragment (172)
- Dodawanie fragmentów interfejsu użytkownika do instancji klasy FragmentManager (177)
- Transakcje fragmentów (179)
- FragmentManager i cykl życia fragmentów (180)
- Architektura aplikacji wykorzystującej fragmenty (182)
- Powód, dla którego wszystkie nasze aktywności używają fragmentów (182)
- Dla dociekliwych: fragmenty i biblioteka wsparcia (184)
- Dla dociekliwych: dlaczego fragmenty z biblioteki wsparcia są bardziej użyteczne? (185)
- Aktualizacja warstwy modelu aplikacji CriminalIntent (188)
- Wzorzec Singleton i scentralizowane przechowywanie danych (189)
- Abstrakcyjna aktywność do przechowywania fragmentów (191)
- Ogólny układ przechowujący fragmenty (191)
- Abstrakcyjna klasa Activity (192)
- Klasy RecyclerView, Adapter oraz ViewHolder (197)
- Klasy ViewHolder i Adapter (198)
- Adaptery (199)
- Zastosowanie kontenera RecyclerView (201)
- Widok do wyświetlenia (202)
- Implementowanie klas ViewHolder i Adapter (203)
- Dowiązywanie elementów listy (206)
- Reagowanie na naciśnięcie (208)
- Dla dociekliwych: kontenery ListView i GridView (209)
- Dla dociekliwych: singletony (210)
- Wyzwanie: typy widoków kontenera RecyclerView (211)
- Korzystanie z graficznego narzędzia tworzenia układów (214)
- Wprowadzenie do dynamicznych układów interfejsu - ConstraintLayout (215)
- Korzystanie z układu ConstraintLayout (216)
- Edytor graficzny (217)
- Tworzenie miejsca dla widoków (218)
- Dodawanie widgetów (221)
- Wewnętrzne ustawienia układu ConstraintLayout (224)
- Edytowanie właściwości (225)
- Tworzenie dynamicznych elementów listy (228)
- Jeszcze kilka słów o atrybutach układu (229)
- Gęstość pikseli ekranu i jednostki dp oraz sp (229)
- Marginesy i odstępy (231)
- Style, motywy i atrybuty motywów (232)
- Wytyczne dla deweloperów aplikacji dla systemu Android (233)
- Graficzne narzędzia do tworzenia układów (233)
- Wyzwanie: formatowanie daty (233)
- Uruchamianie aktywności przez fragment (235)
- Dodawanie danych extras (237)
- Pobieranie danych extras (237)
- Wypełnianie widoku fragmentu CrimeFragment danymi z obiektu Crime (238)
- Wady bezpośredniego pobierania danych (239)
- Argumenty fragmentu (240)
- Przypisywanie argumentów do fragmentu (240)
- Pobieranie argumentów (241)
- Przeładowywanie listy (242)
- Pobieranie wyników działania fragmentów (244)
- Dla dociekliwych: dlaczego używamy argumentów fragmentów? (245)
- Wyzwanie: efektywne przeładowywanie zawartości kontenera RecyclerView (246)
- Wyzwanie: ulepszanie wydajności działania obiektu CrimeLab (246)
- Tworzenie klasy CrimePagerActivity (248)
- Obiekty ViewPager i PagerAdapter (249)
- Integrowanie aktywności CrimePagerActivity (251)
- FragmentStatePagerAdapter kontra FragmentPagerAdapter (253)
- Dla dociekliwych: jak naprawdę działa ViewPager (255)
- Dla dociekliwych: rozmieszczanie widoków z poziomu kodu (256)
- Wyzwanie: odtwarzanie marginesów fragmentu CrimeFragment (257)
- Wyzwanie: dodawanie przycisków Pierwsza i Ostatnia (257)
- Tworzenie instancji klasy DialogFragment (261)
- Wyświetlanie fragmentu DialogFragment (263)
- Dodawanie zawartości okna dialogowego (265)
- Przekazywanie danych między fragmentami (267)
- Przekazywanie danych do fragmentu DatePickerFragment (268)
- Zwracanie danych do fragmentu CrimeFragment (270)
- Wyzwanie: więcej okien dialogowych (278)
- Wyzwanie: bardziej responsywny DialogFragment (278)
- Biblioteka AppCompat (280)
- Używanie biblioteki AppCompat (280)
- Menu (282)
- Definiowanie menu w kodzie XML (282)
- Tworzenie menu (288)
- Reagowanie na wybranie elementu menu (291)
- Włączanie nawigacji hierarchicznej (292)
- Jak działa nawigacja hierarchiczna (293)
- Alternatywny przycisk akcji (294)
- Przełączanie tytułu przycisku akcji (295)
- "Jeszcze tylko jedna sprawa..." (297)
- Dla dociekliwych: pasek akcji a pasek narzędzi (299)
- Wyzwanie: usuwanie przestępstw z listy (300)
- Wyzwanie: zasoby tekstowe typu plural (300)
- Wyzwanie: pusty widok dla kontenera RecyclerView (300)
- Definiowanie schematu (302)
- Tworzenie szkieletu bazy danych (303)
- Eksploracja plików przy użyciu Android Device Monitor (306)
- Debugowanie problemów z bazą danych (307)
- Patroszymy CrimeLab (308)
- Zapisywanie danych w bazie (310)
- Zastosowanie klasy ContentValues (310)
- Wstawianie i aktualizowanie wierszy tabeli (311)
- Odczytywanie danych z bazy (313)
- Zastosowanie klasy CursorWrapper (314)
- Zamiana na obiekty modelu (316)
- Dla dociekliwych: więcej baz danych (319)
- Dla dociekliwych: kontekst aplikacji (320)
- Wyzwanie: usuwanie przestępstw z listy (320)
- Dodawanie przycisków (322)
- Dodawanie podejrzanego do warstwy modelu (323)
- Zastosowanie ciągów formatujących (325)
- Zastosowanie niejawnych intencji (326)
- Elementy składowe niejawnej intencji (327)
- Wysyłanie raportu o przestępstwie (328)
- Korzystanie z listy kontaktów (330)
- Wyszukiwanie aktywności zdolnych do wykonania danego zadania (334)
- Wyzwanie: klasa ShareCompat (337)
- Wyzwanie: kolejna intencja niejawna (337)
- Miejsce do przechowywania zdjęć (339)
- Miejsce na przechowywanie plików (342)
- Zastosowanie klasy FileProvider (343)
- Określanie lokalizacji zdjęć (344)
- Zastosowanie intencji do uruchomienia aparatu fotograficznego (345)
- Uruchamianie intencji (346)
- Skalowanie i wyświetlanie bitmap (348)
- Deklarowanie wymagań aplikacji (351)
- Wyzwanie: wyświetlanie zdjęcia w pełnym rozmiarze (351)
- Wyzwanie: efektywne ładowanie miniaturek zdjęć (351)
- Dodawanie elastyczności do układu (354)
- Modyfikowanie klasy SingleFragmentActivity (355)
- Tworzenie układu z dwoma kontenerami dla fragmentów (356)
- Używanie aliasów zasobów (358)
- Tworzenie alternatywy dla tabletów (359)
- Aktywność: nadzorca fragmentów (360)
- Interfejsy zwrotne układów (361)
- Dla dociekliwych: jeszcze kilka słów o sprawdzaniu rozmiarów ekranu urządzenia (369)
- Wyzwanie: dodawanie funkcji "przeciągnij, aby usunąć" (370)
- Lokalizacja zasobów (372)
- Zasoby domyślne (375)
- Sprawdzanie pokrycia zasobów przy użyciu edytora tłumaczeń Translations Editor (378)
- Dostosowywanie ustawień regionalnych (379)
- Kwalifikatory konfiguracji (382)
- Priorytetyzacja zasobów alternatywnych (383)
- Wiele kwalifikatorów (385)
- Odszukiwanie zasobów najlepiej dopasowanych do bieżącej konfiguracji (386)
- Testowanie zasobów alternatywnych (387)
- Wyzwanie: lokalizacja dat (388)
- Usługa TalkBack (389)
- Eksploracja przez dotyk (392)
- Nawigacja liniowa poprzez przeciąganie palcem po ekranie (393)
- Jak spowodować, aby TalkBack odczytywał elementy nietekstowe? (395)
- Dodawanie opisów zawartości (395)
- Włączanie możliwości ustawienia fokusu dla wybranego widoku (397)
- Jak zapewnić zbliżoną funkcjonalność aplikacji z ułatwieniami dostępu (398)
- Zastosowanie etykiet do udostępniania kontekstu (400)
- Dla dociekliwych: korzystanie z aplikacji Accessibility Scanner (403)
- Wyzwanie: poprawianie listy (406)
- Wyzwanie: dostarczanie kontekstu dla elementu danych (406)
- Wyzwanie: powiadomienia o zdarzeniach (406)
- Różne architektury - dlaczego warto sobie tym zaprzątać głowę (409)
- Tworzenie aplikacji BeatBox (411)
- Proste wiązanie danych (412)
- Importowanie zasobów typu assets (416)
- Pobieranie zasobów assets (418)
- Podłączanie zasobów typu asset (420)
- Wiązanie do danych (423)
- Tworzenie modelu widoku (424)
- Wiązanie do modelu widoku (425)
- Observable data (428)
- Korzystanie z zasobów typu asset (430)
- Dla dociekliwych: jeszcze kilka słów o wiązaniu danych (431)
- Wyrażenia lambda (431)
- Jeszcze więcej cukru syntaktycznego (431)
- BindingAdapter (432)
- Dla dociekliwych: dlaczego zasoby typu asset, a nie zwykłe zasoby aplikacji? (432)
- Dla dociekliwych: zasoby typu non-asset? (433)
- Tworzenie klasy SoundPool (435)
- Ładowanie plików dźwiękowych (436)
- Odtwarzanie plików dźwiękowych (438)
- Zależności testów (439)
- Tworzenie klasy testowej (440)
- Konfigurowanie testu (442)
- Zastosowanie zależności pozornych (443)
- Pisanie testów (444)
- Testowanie interakcji obiektów (445)
- Wywołania zwrotne wiązania danych (448)
- Usuwanie plików dźwięków z pamięci (449)
- Zmiana orientacji urządzenia a ciągłość istnienia obiektów (450)
- Zachowywanie fragmentów (451)
- Obracanie urządzenia a zachowywanie fragmentów (452)
- Dla dociekliwych: czy zachowywać fragmenty? (453)
- Dla dociekliwych: Espresso i testy integracyjne (455)
- Dla dociekliwych: obiekty pozorne i testowanie (456)
- Wyzwanie: sterowanie szybkością odtwarzania (457)
- Zasoby kolorów (460)
- Style (460)
- Dziedziczenie stylów (462)
- Motywy aplikacji (463)
- Modyfikowanie motywu (464)
- Dodawanie kolorów motywu (466)
- Nadpisywanie atrybutów motywu (467)
- Eksplorowanie motywu (468)
- Modyfikowanie atrybutów przycisków (471)
- Dla dociekliwych: jeszcze kilka słów o dziedziczeniu stylów (474)
- Dla dociekliwych: dostęp do atrybutów motywu (475)
- Tworzenie przycisków o jednolitym wyglądzie (478)
- Elementy typu shape drawable (479)
- Lista stanów (481)
- Lista warstw (482)
- Dla bardziej dociekliwych: po co zawracać sobie głowę elementami XML drawable? (483)
- Dla bardziej dociekliwych: obrazy Mipmap (484)
- Dla dociekliwych: obrazy 9-patch (485)
- Wyzwanie: motywy przycisków (492)
- Tworzenie aplikacji NerdLauncher (494)
- Rozwiązywanie intencji niejawnych (496)
- Tworzenie jawnych intencji w czasie działania programu (500)
- Zadania i stos aktywności (502)
- Przełączanie między zadaniami (503)
- Uruchamianie nowego zadania (504)
- Użycie launchera NerdLauncher jako ekranu głównego (507)
- Wyzwanie: ikony (507)
- Dla dociekliwych: procesy kontra zadania (508)
- Dla dociekliwych: dokumenty równoległe (511)
- Tworzymy aplikację PhotoGallery (517)
- Podstawowe zagadnienia sieciowe (519)
- Uzyskiwanie uprawnień do korzystania z połączeń sieciowych (521)
- Uruchamianie zadań asynchronicznych AsyncTask w wątku tła (521)
- Ty i Twój wątek główny (523)
- Poza głównym wątkiem (524)
- Pobieranie danych w formacie JSON z serwisu Flickr (525)
- Parsowanie danych zapisanych w formacie JSON (529)
- Od zadania AsyncTask z powrotem do wątku głównego (532)
- Porządkowanie zadań asynchronicznych AsyncTask (535)
- Dla dociekliwych: jeszcze kilka słów o zadaniach AsyncTask (536)
- Dla dociekliwych: alternatywy dla zadań AsyncTask (537)
- Wyzwanie: Gson (538)
- Wyzwanie: podział na strony (538)
- Wyzwanie: dynamiczne modyfikowanie liczby wyświetlanych kolumn (539)
- Przygotowanie kontenera RecyclerView do wyświetlania obrazów (541)
- Pobieranie wielu małych rzeczy (544)
- Komunikacja z wątkiem głównym (544)
- Tworzenie wątku tła (546)
- Komunikaty i handlery komunikatów (548)
- Anatomia komunikatu (548)
- Anatomia handlera (549)
- Używanie handlerów (549)
- Przekazywanie handlerów (554)
- Dla dociekliwych: zadania AsyncTask kontra wątki (559)
- Dla dociekliwych: rozwiązywanie problemu z pobieraniem zdjęć (560)
- Dla dociekliwych: tryb StrictMode (561)
- Wyzwanie: ładowanie wstępne i buforowanie danych (562)
- Wyszukiwanie zdjęć w serwisie Flickr (564)
- Zastosowanie widoku SearchView (568)
- Reagowanie na interakcję widoku SearchView z użytkownikiem (571)
- Proste zachowywanie danych w plikach preferencji (573)
- Wygładzanie aplikacji (577)
- Wyzwanie: jeszcze bardziej ulepszamy aplikację (578)
- Tworzenie usługi IntentService (579)
- Do czego służą usługi (582)
- Operacje sieciowe bezpiecznie działające w tle (582)
- Sprawdzanie, czy pojawiły się nowe wyniki wyszukiwania (584)
- Opóźnione wykonywanie z wykorzystaniem usługi AlarmManager (585)
- Jak używać alarmów we właściwy sposób (588)
- Obiekty PendingIntent (589)
- Zarządzanie alarmami przy użyciu PendingIntent (590)
- Sterowanie alarmami (590)
- Powiadomienia (593)
- Wyzwanie: powiadomienia na urządzeniach typu Android Wear (595)
- Dla dociekliwych: szczegóły usługi (596)
- Czym zajmują się usługi (a czego nie powinny robić) (596)
- Cykl życia usługi (596)
- Usługi typu non-sticky (597)
- Usługi typu sticky (597)
- Wiązanie usług (598)
- Dla dociekliwych: klasy JobScheduler oraz JobServices (599)
- JobScheduler i przyszłość zadań drugoplanowych (602)
- Wyzwanie: zastosowanie klasy JobService w systemie Lollipop (603)
- Dla bardziej dociekliwych: adaptery synchronizacji (603)
- Intencje a intencje rozgłoszeń (605)
- Odbieranie rozgłoszeń systemowych - aktywowanie podczas uruchamiania systemu (606)
- Tworzenie i rejestrowanie samodzielnego odbiornika rozgłoszeń (606)
- Używanie odbiorników rozgłoszeń (609)
- Filtrowanie powiadomień pierwszoplanowych (611)
- Wysyłanie intencji rozgłoszenia (611)
- Tworzenie i rejestrowanie odbiornika dynamicznego (612)
- Ograniczanie zasięgu rozgłoszeń tylko do naszej aplikacji przy użyciu prywatnych uprawnień (614)
- Przekazywanie i odbieranie danych przy użyciu rozgłoszeń uporządkowanych (617)
- Odbiorniki i zadania działające przez długi czas (622)
- Dla dociekliwych: zdarzenia lokalne (622)
- Używanie biblioteki EventBus (623)
- Używanie biblioteki RxJava (624)
- Dla dociekliwych: sprawdzanie, czy fragment jest widzialny (624)
- Ostatni kawałek danych z serwisu Flickr (628)
- Prosty sposób - intencje niejawne (630)
- Trudniejszy sposób - widok WebView (631)
- Zastosowanie interfejsu WebChromeClient do ulepszenia wyświetlania stron internetowych (635)
- Zmiana orientacji urządzenia a widok WebView (638)
- Niebezpieczeństwa związane z obsługą zmian konfiguracji (639)
- Dla dociekliwych: wstrzykiwanie obiektów JavaScript (639)
- Dla dociekliwych: aktualizacje widoku WebView (640)
- Wyzwanie: używanie przycisku Wstecz do obsługi historii przeglądania (641)
- Wyzwanie: obsługa łączy innych niż HTTP (641)
- Konfigurowanie projektu aplikacji DragAndDraw (644)
- Tworzenie własnego, niestandardowego widoku (645)
- Tworzenie widoku BoxDrawingView (646)
- Obsługa zdarzeń związanych z dotykiem (648)
- Śledzenie zdarzeń związanych z ruchem palca po ekranie (649)
- Renderowanie z użyciem metody onDraw(Canvas) (652)
- Wyzwanie: zapisywanie stanu (653)
- Wyzwanie: obracanie prostokątów (654)
- Budowanie sceny (657)
- Proste animacje (659)
- Właściwości transformacji widoków (663)
- Używanie różnych interpolatorów (665)
- Modyfikowanie kolorów (665)
- Uruchamianie kilku animatorów jednocześnie (668)
- Dla dociekliwych: inne API animacji (669)
- Starsze narzędzia animacyjne (669)
- Transformacje (669)
- Wyzwania (670)
- Lokalizacja i biblioteki (672)
- Usługi Google Play (672)
- Tworzenie aplikacji Locatr (673)
- Google Play Services a testowanie usług lokalizacji w emulatorze (673)
- Symulowane dane lokalizacji (675)
- Budowanie aplikacji (677)
- Konfigurowanie Google Play Services (680)
- Uprawnienia do wyznaczania lokalizacji (681)
- Używanie Google Play Services (682)
- Wyszukiwanie zdjęć w serwisie Flickr z użyciem geolokalizacji (684)
- Pobieranie informacji o bieżącej lokalizacji (685)
- Żądanie udzielenia uprawnień po uruchomieniu aplikacji (688)
- Sprawdzanie uprawnień (688)
- Wyszukiwanie i wyświetlanie zdjęć z użyciem geolokalizacji (693)
- Wyzwanie: uzasadnianie prośby o udzielenie uprawnień (695)
- Wyzwanie: wskaźnik postępu wyszukiwania (696)
- Importowanie biblioteki Play Services Maps (697)
- Korzystanie z map w systemie Android (697)
- Pobieranie klucza Maps API dla map Google (698)
- Konfigurowanie map (700)
- Pobieranie dodatkowych danych o lokalizacji (701)
- Praca z mapą (704)
- Rysowanie na mapie (707)
- Dla dociekliwych: zespoły programistów i klucze API (708)
- Warstwy materiałów (712)
- Elewacja i wartości osi Z (713)
- Animatory listy stanów (715)
- Narzędzia animacji (717)
- Animacje typu circular reveal (717)
- Transformacje współdzielonego elementu (719)
- Komponenty widoków (722)
- Karty (722)
- Przyciski FAB (724)
- Powiadomienia Snackbar (725)
- Jeszcze kilka słów o interfejsie Material Design (727)
- Wyzwanie finałowe (729)
- Trochę bezwstydnej prywaty (730)
- Dziękujemy! (730)
Poznawanie systemu Android (19)
Niezbędne narzędzia (25)
1. Twoja pierwsza aplikacja dla systemu Android (27)
2. System Android i wzorzec MVC (59)
3. Cykl życia aktywności (81)
4. Debugowanie aplikacji dla systemu Android (103)
5. Twoja druga aktywność (119)
6. Wersje Android SDK i kompatybilność aplikacji (143)
7. Fragmenty w interfejsie użytkownika i menedżer fragmentów (155)
8. Wyświetlanie list w widoku RecyclerView (187)
9. Tworzenie interfejsów użytkownika z układami i widgetami (213)
10. Zastosowanie argumentów fragmentów (235)
11. Zastosowanie klasy ViewPager (247)
12. Okna dialogowe (259)
13. Pasek narzędzi (279)
14. Bazy danych SQLite (301)
15. Intencje niejawne (321)
16. Wykonywanie zdjęć przy użyciu intencji (339)
17. Dwupanelowy interfejs typu lista-szczegóły (353)
18. Lokalizacja (371)
19. Ułatwienia dostępu (389)
20. Wiązanie danych i model MVVM (409)
21. Testy jednostkowe i odtwarzanie plików audio (435)
22. Style i motywy (459)
23. Elementy XML drawable (477)
24. Więcej o intencjach i zadaniach (493)
25. HTTP i zadania drugoplanowe (515)
26. Obiekty Looper, Handler i HandlerThread (541)
27. Wyszukiwanie (563)
28. Usługi działające w tle (579)
29. Intencje rozgłoszeń (605)
30. Przeglądanie sieci WWW i widoki WebView (627)
31. Widoki niestandardowe i zdarzenia związane z dotykiem (643)
32. Animacja właściwości (657)
33. Lokalizacja i usługi Play (671)
34. Mapy (697)
35. Interfejs Material Design (711)
36. Posłowie (729)
Skorowidz (731)
Oceny i opinie klientów: Programowanie aplikacji dla Androida. The Big Nerd Ranch Guide. Wydanie III Bill Phillips, Chris Stewart, Kristin Marsicano (3) Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.
(0)
(2)
(0)
(0)
(1)
(0)
więcej opinii