Android 6 dla programistów. Techniki tworzenia aplikacji. Wydanie III Paul Deitel, Harvey Deitel, Alexander Wald
- Autorzy:
- Paul Deitel, Harvey Deitel, Alexander Wald
- Wydawnictwo:
- Helion
- Wydawnictwo:
- Helion
- Ocena:
- 4.3/6 Opinie: 3
- Stron:
- 448
- Druk:
- oprawa miękka
- Dostępne formaty:
-
PDFePubMobi
Opis
książki
:
Android 6 dla programistów. Techniki tworzenia aplikacji. Wydanie III
W 2015 roku pod kontrolą Androida pracowało ok. 80% smartfonów. Serwis Google Play odnotowuje miliardy pobrań najróżniejszych aplikacji dla tego systemu. Coraz więcej różnych urządzeń wyposaża się w Androida i są to również roboty, silniki odrzutowe, satelity NASA, lodówki, telewizory, kamery, urządzenia medyczne, systemy samochodowe i wiele innych. Wygląda na to, że Android opanuje internet rzeczy, a przed programistami androidowych aplikacji otworzą się niespotykane dotąd możliwości.
Niniejsza książka stanowi solidne kompendium wiedzy dla osób profesjonalnie tworzących aplikacje dla Androida w jego najnowszej, 6. wersji. Autorzy przyjęli analizę aplikacji jako metodę nauki — wszystkie rozwiązania i technologie są opisywane w kontekście kompletnych, działających aplikacji, których dobór umożliwił przedstawienie najważniejszych funkcji i interfejsów programistycznych systemu Android. Dzięki tej książce błyskawicznie nauczysz się wszystkiego, co jest niezbędne do rozpoczęcia w pełni samodzielnej pracy w Android Studio i Android 6 SDK.
Najważniejsze zagadnienia:
- analiza aplikacji dla Androida, jej działanie i budowa;
- zasady projektowania aplikacji w specyfikacji material design wprowadzonej przez Google;
- obsługa bibliotek i zapewnienie zgodności nowych aplikacji ze starszymi wersjami Androida;
- testowanie aplikacji w urządzeniach, emulatorach i za pomocą Cloud Test Lab;
- technologie przydatne dla obsługi systemów Android Wear i Android TV;
- umieszczanie aplikacji w serwisie Google Play, jej promocja i rozpowszechnianie.
Sprawdź, jak niesamowite możliwości daje Ci Android!
Pierwsza generacja telefonów wyposażonych w system Android trafiła na rynek w październiku 2008 r. W czerwcu 2015 r. smartfony z systemem Android stanowiły 82,8% światowego rynku smartfonów. Apple zdobyło zaledwie 13,9%, a Microsoft 2,6%,(www.idc.com/prodserv/smartphone-os-market-share.jsp). Z serwisu Google Play pobrano miliardy aplikacji, a w 2014 r. na całym świecie wyprodukowano ponad milard urządzeń wyposażonych w system Android. Duża konkurencja pomiędzy popularnymi platformami powoduje szybki rozwój technologii mobilnych, a także spadek cen. Ponadto duża konkurencja pomiędzy setkami firm zajmujących się produkcją oprogramowania przeznaczonego dla systemu Android napędza rozwój sprzętu i oprogramowania przeznaczonego dla systemu Android (https://www.cnet.com/news/android-shipments-exceed-1-billion-for-first-time-in-2014/). Programiści aplikacji systemu Android mają przed sobą ogromne możliwości.
Książka, którą właśnie trzymasz w ręku opisuje najważniejsze rozwiązania przydatne podczas tworzenia profesjonalnego oprogramowania. Książka opiera się na koncepcji nauki poprzez analizę aplikacji — wszystkie rozwiązania i technologie są opisywane w kontekście kompletnych, działających aplikacji systemu android, a nie na przykładzie krótkich, wyjętych z kontekstu fragmentów kodu. Na początku każdego rozdziału będziesz miał okazję sprawdzić działanie opisywanej w nim aplikacji.
Zaprezentowane aplikacji zostały dobrane tak, aby przedstawić najważniejsze funkcje i interfejsy programistyczne systemu Android. Dzięki tej książce błyskawicznie nauczysz się wszystkiego, co jest niezbędne do rozpoczęcia pracy nad własnymi aplikacjami systemu Android — w rozdziale 1. przetestujesz aplikację będącą kalkulatorem napiwków, a następnie podczas lektury każdego z rozdziałów 2 – 9 będziesz tworzył jedną aplikację. Gdy dojdziesz do rozdziału 10. będziesz w stanie tworzyć własne aplikacje, które będziesz mógł umieścić w serwisie Google Play lub w innym serwisie pośredniczącym w sprzedaży aplikacji systemu Android. Opanujesz obsługę serwisu Google Play — nauczysz się ładować do niego własne aplikacje. Zdecydujesz się na sprzedaż aplikacji lub zaoferujesz je za darmo. Dowiesz się jak rozreklamować aplikacje za pomocą serwisów społecznościowych i jak czerpać zyski z wyświetlania reklam w aplikacjach, sprzedaży wirtualnych dóbr i innych rozwiązań.
„Opisuje wiele zagadnień w interesujący i praktyczny sposób. Proces tworzenia interfejsu użytkownika i rozkładów jest opisany w sposób o wiele głębszy niż w innych, znanych mi publikacjach. Praca nad aplikacją Flag Quiz jest przyjemna — animacja widoków dodaje jej profesjonalizmu, a rozdział, w którym została ona opisana zawiera zrozumiałem dla każdego opisy kluczowych elementów interfejsu użytkownika. Rozdział, w którym opisano aplikację Address Book, stanowi dobre wprowadzenie do aplikacji typu CRUD”
Sebastian Nykopp, główny architekt, Reaktor
„Aplikacja Welcome wygląda solidnie i pozwala zauważyć integrację obiektów dodawanych w edytorze rozkładu. Aplikacja Tip Calculator jest dość ciekawa; szczególnie podoba mi się dogłębna analiza cyklu życia obiektów. Aplikacja Flag Quiz została opisana w jednym z moich ulubionych rozdziałów tej książki dotyczącym opóźnionych zdarzeń, animacji widoków i tablic zawierających łańcuchy; podoba mi się zastosowanie managera AssetManager do obsługi flag. Rozdział ten dobrze opisuje deklarację XML i wyjaśnia animację trzęsienia flagą. Na wyrazy uznania zasługuje wykonywanie zapytań bazy danych poza wątkiem interfejsu użytkownika przez aplikację Address Book.”
Dan Galpin, programista platformy Android i autor książki Intro to Android Application Development
„Doskonałe przedstawienie pracy wizualnego edytora rozkładu; podoba mi się rozwiązanie polegające na tworzeniu komponentów wyświetlanych na ekranie przed stworzeniem kodu aplikacji; ułatwia to eksperymentowanie z innymi właściwościami w celu zdefiniowania wyglądu aplikacji. Szczególnie wartościowe są wyjaśnienia kolejnych linii kodu. Praca nad aplikacją Twitter Searches nauczyła mnie nowych rzeczy. Najciekawszym rozdziałem jest ten, w którym opisano aplikację Flag Quiz. Gra Cannon Game jest doskonałym wprowadzeniem do animacji, a aplikacja Adress Book stanowi dobre wprowadzenie do uzyskiwania dostępu do bazy danych w systemie Android, w którym wyjaśniono struktury wymagane do obsługi baz danych SQLite.”
Eric J. Bowden, dyrektor operacyjny, Safe Driving Systems, LLC
„Szczególnie wyróżniają się opisy rozwiązań zastosowanych w aplikacjach. Rozdział, w którym opisano aplikację Welcome jest dobrym i prostym wprowadzeniem do stosowania rozkładów pomimo zastosowania wspólnego rozkładu. Doodlz jest doskonałą aplikacją — podczas pracy nad nią każdy odnajdzie coś dla siebie. Aplikacja Address Book jest dobrym wprowadzeniem do uruchamiania innych aktywności i korzystania z bazy danych SQLite”
Ian G. Clifton, niezależny specjalista i programista aplikacji systemu Android
„Rozdział 1. jest prostym wprowadzeniem; dzięki jednemu z zamieszczonych w nim adresów znalazłem alternatywny emulator. Aplikacja Welcome ilustruje korzystanie z rozkładów i wybranych elementów sterujących, a także przygotowuje użytkownika do internacjonalizacji zasobów. W aplikacji Flag Quiz zastosowano wiele różnych narzędzi takich jak np. zbiory zasobów, obiekt AlertDialog.Builder i animacje. Podoba mi się, że aplikacja Doodlz ustala orientację sprawdzając wymiary ekranu.”
Douglas Jones, starszy inżynier oprogramowania, Fullpower Technologies
„Jedna z najlepszych książek dotyczących programowania aplikacji systemu Android. Podoba mi się proces tworzenia graficznych interfejsów użytkownika za pomocą okna Component Tree. Nigdy nie opublikowałem aplikacji, ale gdy dowiedziałem się jak łatwe ich tworzenie, rozważam publikację kilku.”
Tony Cantrell, Georgia Northwestern Technical College
„Praca nad aplikacją Flag Quiz jest interesująca i pozwala na opanowanie korzystania z fragmentów, animacji i kwalifikatorów zasobów. Dużą frajdę sprawia również praca nad grą Cannon Game, która doskonale demonstruje ruch obiektów na ekranie”
Arijit Sengupta, Wright State University
„Czytelnik tworzy w pełni funkcjonalną aplikację podczas lektury każdego rozdziału zdobywając przy tym praktyczną wiedzę. To najskuteczniejsza metoda nauki tworzenia aplikacji. Aplikacja Twitter Searches jest doskonałym przykładem ilustrujący zastosowanie tablic, uruchamiania stron internetowych, tworzenia par klucz-wartość, ukrywania klawiatury ekranowej i nawiązywania interakcji z aplikacją.”
Dawn Wick, Southwestern Community College
„Spodobała mi się sekcja „Zanim zaczniesz”, w której wyjaśniono wszystkie czynności niezbędne do uruchomienia środowiska Android Studio. Nie miałem żadnych problemów z wykonywaniem czynności związanych z testowaniem aplikacji kalkulatora napiwku opisanych w rozdziale pierwszym — aplikację uruchomiłem na wielu maszynach wirtualnych wbudowanych w środowisko Android Studio. Podoba mi się, że aplikacja Tip Calculator była prosta, ale zaprezentowała wiele nowych pojęć i rozwiązań. Jej kod został napisany w sposób wzorowy i opatrzony licznymi wskazówkami i uwagami informującymi czytelnika np. o tym, że metoda onCreate powinna być jak najprostsza w celu przyśpieszenia procesu uruchamiania aplikacji. Kolejnym rozdziałem wartym uwagi jest ten, w którym opisano aplikację Flag Quiz. Kod tej aplikacji jest doskonały i podoba mi się dodatek w postaci prowadzenia dziennika. Aplikacja Doodlz doskonale wprowadza nowe rozwiązania takie jak np. model pozwoleń zaimplementowany w systemie Android 6. Naprawdę przypadły mi do gustu udoskonalenia aplikacji Cannon Game, a szczególnie rozwiązanie sprawiające, że pętla gry jest wykonywana z taką samą szybkością na różnych urządzeniach”
Jim Hathaway, programista aplikacji, Kellogg Company
„Podoba mi się, to że dość wcześnie poruszono zagadnienia związane z dostępnością; ogólnie rzecz biorąc większość programistów myśli o nich na końcu. Rozdział 10. zawiera przydatne informacje, które są trudne do znalezienia. Szczególnie cenne są wskazówki dotyczące marketingu aplikacji.”
Michael Pardo, Mobiata
„Dobry wywód o intencjach i sposobie stosowania ich do uruchamiania aktywności. Rozdział 10., w którym opisano zagadnienia związane z marketingiem aplikacji i korzystaniem z serwisu Google Play, jest doskonały. Bardzo motywujące się informacje o rynku aplikacji mobilnych i narzędziach umożliwiających konwersję aplikacji systemu Android na system iOS”
Jesus Ubaldo Quevedo-Torrero, University of Wisconsin–Parkside
„Statystyki dotyczące rozwoju i popularności platformy Android zachwycą każdego czytelnika. Rozdział 1. zawiera wyraźny i szczegółowy przewodnik konfiguracji maszyny wirtualnej umożliwiającej uruchomienie aplikacji. Rozdział opisujący aplikację Welcome stanowi wyważone wprowadzenie do platformy Android. Tworzenie prostego graficznego interfejsu użytkownika za pomocą tylko i wyłącznie kodu XML, bez użycia kodu Java jest doskonałym sposobem na skupienie się na kluczowych elementach niezbędnych do zbudowania aplikacji. Podoba mi się, że w rozdziale tym wprowadzono kwalifikatory zasobów i wspomniano o lokalizacji — zaawansowanych funkcjach, które mogą być trudne do opanowania przez osobę początkującą, ale osoba początkująca powinna być przynajmniej świadoma ich istnienia, dzięki czemu od początku będzie stosować się do dobrych praktyk programistycznych. Praca nad aplikacją Doodlz jest przyjemna i zajmująca — użytkownik będzie mógł zastosować w przyszłości tę aplikacji jako bazę do naprawdę interesujących projektów. Przewodnik wykonywania autorskich rysunków jest wspaniały.”
Luis Ramirez, główny programista aplikacji systemu Android w firmie Reverb
„W rozdziale dotyczącym aplikacji Welcome opisano wiele zagadnień, ale rozdział ten nie jest przytłaczający. Przedstawiono w nim wiele dobrych praktyk — między innymi opisano zagadnienia związane z obsługą internacjonalizacji, lokalizacji i dostępności aplikacji. Aplikacja Doodlz przedstawia w interesujący sposób sterowanie aplikacją, obsługę widżetów i czujników. Podoba mi się struktura nowej pętli gry aplikacji Cannon Game. W rozdziale dotyczącym aplikacji WeatherViewer znajduje się doskonały opis zastosowania list. Aplikacja Twitter Searches doskonale przedstawia zastosowanie widoku RecyclerView.”
Douglas Jones, starszy inżynier oprogramowania, Fullpower Technologies
Praktyczne, wzbogacone przykładami omówienie następujących tematów:
- System Android 6, środowisko Android Studio (narzędzie Gradle, dodawanie zasobów będących grafiką wektorową, praca w edytorze motywu)
- Szablony i motywy zgodne z wytycznymi material design
- Biblioteki AppCompat i Android Design Support, widok RecyclerView, przycisk FloatingActionButton, rozkład TextInputLayout
- Wynoszenie elementów widocznych na ekranie i ikony zgodne z wytycznymi material design
- Usługi sieciowe REST i JSON, korzystanie z kilku wątków, baza danych SQLite, pozwolenia w systemie Android 6
- Obiekty Cursor, Loader i ContentProvider
- Obsługa ekranów o różnych rozmiarach i rozdzielczościach
- Ułatwienia dostępu i itnernacjonalizacja
- Aktywności, fragmenty, intencje i preferencje
- Graficzne interfejsu użytkownika, rozkłady, menu, pliki zasobów, zdarzenia, przetwarzanie dotknięć ekranu i gestów, obrazy, dźwięk, grafika, animacja,
- Tryb pełnoekranowy, obsługa drukowania,
- Sklep Google Play, publikowanie i wycena aplikacji, marketing, wyświetlanie reklam w aplikacji, mechanizmy pobierania płatności implementowane w aplikacjach, sprzedaż wirtualnych towarów itp.
Profesjonalny przewodnik, dzięki któremu nauczysz się korzystać ze środowiska Android Studio i stworzysz aplikacje przeznaczone dla smartfonów i tabletów pracujących pod kontrolą systemu Android 6
Z serwisu Google Play pobrano miliardy aplikacji! W tej książce znajdziesz wszystko, co jest potrzebne do szybkiego rozpoczęcia pracy nad aplikacjami systemu Android i udostępniania ich w serwisie Google Play. Książka jest napisana w sposób praktyczny — każde nowe rozwiązane jest opisywane w kontekście jednej z ośmiu aplikacji, które będziesz miał okazję przetestować i dokonać analizy ich pełnego kodu (w książce znajdziesz listingi zawierające wyróżnienia najważniejszych fragmentów). Będziesz pracował nad:
- aplikacją powitalną,
- kalkulatorem napiwku,
- quizem flag,
- aplikacją umożliwiającą tworzenie rysunków,
- grą, w której gracz strzela do celów,
- aplikacją prezentującą prognozę pogody,
- programem zarządzającym wyszukiwaniem informacji w serwisie Twitter,
- książką adresową.
Paul Deitel i Harvey Deitel są współzałożycielami spółki Deitel & Associates, Inc. zajmującej się publikowaniem książek dotyczących różnych języków programowania i organizowaniem szkoleń dla programistów. Miliony czytelników na całym świecie korzystają z wydanych przez nich książek, lekcji wideo z serii LiveLessons i zasobów internetowych ułatwiających naukę tworzenia aplikacji systemu Android (Java) i iOS (Swift), naukę posługiwania się technologiami C#, .NET, Visual Basic, C++, C, JavaScript, XML, Python, PHP, a także programowaniem na potrzeby witryn internetowych.

Wybrane bestsellery
-
Promocja Promocja 2za1
Ta książka ułatwi naukę Pythona metodą analizy i eksperymentów. Zawiera ponad 500 przykładów faktycznie wykorzystywanego kodu — od krótkich bloków po kompletne studia przypadków. Pokazano, w jaki sposób można kodować w interpreterze IPython i notatnikach Jupytera. Znalazł się tu obszerny opis Pythona oraz jego instrukcji sterujących i funkcji, omówiono pracę na plikach, kwestie serializacji w notacji JSON i obsługę wyjątków. Zaprezentowano różne paradygmaty programowania: proceduralnego, w stylu funkcyjnym i zorientowanego obiektowo. Sporo miejsca poświęcono bibliotekom: standardowej bibliotece Pythona i bibliotekom data science do realizacji złożonych zadań przy minimalnym udziale kodowania. Nie zabrakło wprowadzenia do takich zagadnień data science jak sztuczna inteligencja, symulacje, animacje czy przygotowanie danych do analizy.- PDF + ePub + Mobi
- Druk 64 pkt
(64,50 zł najniższa cena z 30 dni)
64.50 zł
129.00 zł (-50%) -
Promocja Promocja 2za1
To ósme, zaktualizowane i uzupełnione wydanie znakomitego podręcznika przeznaczonego dla adeptów języka C i ich nauczycieli. Zawiera doskonałe wprowadzenie do C oraz inżynierii oprogramowania. Materiał zamieszczony w książce jest aktualny i zgodny z nowoczesnymi zasadami pracy. Obszernie wyjaśniono tu zasady tworzenia i działania kodu, a także zagadnienia związane z typami danych, funkcjami, tablicami, operacjami na bitach, wyliczeniami, pracą na plikach i innymi kwestiami ważnymi z punktu widzenia funkcjonalności, wydajności i bezpieczeństwa kodu. To pozycja oparta na zasadach nowoczesnej dydaktyki — zawiera mnóstwo przydatnych przykładów, ćwiczeń, wskazówek i podsumowań. Poszczególne koncepcje wyjaśniono z użyciem pseudokodu, algorytmów i schematów, dzięki czemu zrozumienie języka C staje się dużo łatwiejsze.- PDF + ePub + Mobi
- Druk 99 pkt
(99,50 zł najniższa cena z 30 dni)
99.50 zł
199.00 zł (-50%) -
Promocja Promocja 2za1
Jeśli chcesz się stać właśnie takim programistą, wziąłeś do ręki właściwą książkę. Jest to klasyczny podręcznik, dzięki któremu wiele osób zdobyło mistrzostwo w programowaniu w Javie. Zawarto tu wyjątkowo rzetelne, praktyczne i aktualne wprowadzenie do języka. W książce znajdziesz wiele informacji o nowej wersji języka — Javie 9 oraz o świetnym narzędziu JShell, które ułatwia szybkie poznanie języka. Szczegółowo opisano JavaFX — najnowszy GUI i równocześnie zestaw narzędzi do nowych projektów. W przystępny i zrozumiały sposób przedstawiono dość trudne pojęcia, takie jak współbieżność, dzięki czemu bez problemu wykorzystasz moc systemów wielordzeniowych.- PDF + ePub + Mobi
- Druk 89 pkt
(89,50 zł najniższa cena z 30 dni)
89.50 zł
179.00 zł (-50%) -
Promocja 2za1
Developers with prior experience can leverage the latest modern Android development libraries to build exceptional Android apps. This book discusses crucial factors to consider when developing Android applications and how to maintain them better.W przygotowaniu
Powiadom mnie, gdy książka będzie dostępna -
Promocja Promocja 2za1
Description Go, a modern programming language renowned for its efficiency and concurrency, empowers developers to build scalable and robust applications. Get Set Go is your practical guide to learn this powerful technology, designed to take you from foundational concepts to advanced development techniques with clarity and ease. This book systematic-
- ePub + Mobi 89 pkt
(85,49 zł najniższa cena z 30 dni)
89.91 zł
99.90 zł (-10%) -
-
Promocja Promocja 2za1
Description Unlock the power of eBPF, the revolutionary Linux kernel technology transforming observability, networking, and security. This book serves as your comprehensive resource to master this cutting-edge technology, whether you are a beginner exploring its potential or a seasoned professional seeking in-depth knowledge. Embark on a structured-
- ePub + Mobi 89 pkt
(85,49 zł najniższa cena z 30 dni)
89.91 zł
99.90 zł (-10%) -
-
Promocja Promocja 2za1
Description Cyber threats are evolving unprecedentedly, making CyberSecurity defense a crucial skill for professionals and organizations. This book is a comprehensive guide designed to equip readers with the knowledge, strategies, and best practices to secure digital assets, mitigate risks, and build resilient security frameworks. It covers the fun-
- ePub + Mobi 89 pkt
(85,49 zł najniższa cena z 30 dni)
89.91 zł
99.90 zł (-10%) -
-
Promocja Promocja 2za1
Description In todays digitally powered world, JavaScript lies at the heart of nearly every web application. From dynamic user interfaces to behind-the-scenes logic, JavaScript enables everything from online shopping to learning new skills and connecting with global communities. This book is your guide to mastering JavaScript through design pattern-
- ePub + Mobi 89 pkt
(85,49 zł najniższa cena z 30 dni)
89.91 zł
99.90 zł (-10%) -
-
Promocja Promocja 2za1
Czy marzysz o tworzeniu nowoczesnych, responsywnych i atrakcyjnych wizualnie aplikacji mobilnych? Sięgnij po książkę, która powstała z myślą o Tobie - młodym programiście, studencie lub uczniu technikum, który chce wejść na wyższy poziom programowania pod Androida. Ta książka to wyjątkowy przewodnik po świecie tworzenia aplikacji mobilnych z wykorz(51,70 zł najniższa cena z 30 dni)
55.50 zł
74.00 zł (-25%) -
Promocja Promocja 2za1
Description iOS development is a highly sought-after skill in today's tech industry, and this book, iOS Development for Jobseekers, is your direct pathway to mastering it and landing your dream job. It provides a solid foundation in Swift, Apple's SDKs, and essential architectural patterns, ensuring you are well-prepared for any iOS development int-
- ePub + Mobi 89 pkt
(85,49 zł najniższa cena z 30 dni)
89.91 zł
99.90 zł (-10%) -
-
Promocja Promocja 2za1
Description Designing a scalable Unity project requires more than just codingit demands thoughtful planning, structured architecture, and adherence to best practices. This book is your ultimate guide to building modular and maintainable Unity projects using C# and proven game architecture techniques. This book provides the tools and knowledge you n-
- ePub + Mobi 89 pkt
(85,49 zł najniższa cena z 30 dni)
89.91 zł
99.90 zł (-10%) -
-
Promocja Promocja 2za1
Description Java is a cornerstone in software development, powering diverse applications from mobile to enterprise. This book is your comprehensive guide to understand Java, takes you from foundational concepts to advanced web development, equipping you to build robust applications. This guide systematically progresses through core Java principles:-
- ePub + Mobi 89 pkt
(85,49 zł najniższa cena z 30 dni)
89.91 zł
99.90 zł (-10%) -
-
Promocja Promocja 2za1
Description Python was a language designed to be simple and help scientists to improve the way they prepare and analyse data in their projects. Over the last two decades, it went through a bumpy ride and evolved into a very powerful language being used by so many people; from programming enthusiasts treating it as a hobby to very big enterprise com-
- ePub + Mobi 89 pkt
(85,49 zł najniższa cena z 30 dni)
89.91 zł
99.90 zł (-10%) -
O autorach książki
Paul J. Deitel jest czempionem Javy. Ma ponad 35 lat doświadczenia informatycznego. Ukończył MIT, otrzymał tytuły Java Certified Programmer i Java Certified Developer. Prowadził setki kursów programowania dla pracowników takich jednostek jak Cisco, IBM, Siemens, Sun Microsystems (obecnie Oracle), Dell, NASA, Boeing, Nortel Networks, Puma, iRobot.
Dr Harvey M. Deitel ma ponad 55 lat doświadczenia informatycznego. Również ukończył MIT, a na Uniwersytecie Bostońskim zdobył stopień doktora matematyki. Uczył programowania na uczelniach, w urzędach, firmach i wojsku. Publikacje Deitelów są rozpoznawane na całym świecie i były tłumaczone na dziesiątki języków.
Alexander Wald jest uzdolnionym programistą, specjalizującym się w rozwijaniu aplikacji, również dla Androida.
Ebooka "Android 6 dla programistów. Techniki tworzenia aplikacji. 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 »
Szczegóły książki
- Dane producenta
- » Dane producenta:
- Tytuł oryginału:
- Android 6 for Programmers: An App-Driven Approach (3rd Edition)
- Tłumaczenie:
- Konrad Matuk
- ISBN Książki drukowanej:
- 978-83-283-2578-4, 9788328325784
- Data wydania książki drukowanej :
- 2016-07-29
- ISBN Ebooka:
- 978-83-283-2579-1, 9788328325791
- Data wydania ebooka :
-
2016-07-29
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:
- 47232
- Rozmiar pliku Pdf:
- 8.7MB
- Rozmiar pliku ePub:
- 10MB
- Rozmiar pliku Mobi:
- 21.5MB
- Pobierz przykładowy rozdział PDF »
- Przykłady na ftp » 115.4MB
Helion SA
ul. Kościuszki 1C
41-100 Gliwice
e-mail: gpsr@helion.pl
Spis treści książki
- 1.1. Wstęp (34)
- 1.2. Android - najpopularniejszy mobilny system operacyjny na świecie (34)
- 1.3. Cechy systemu Android (35)
- 1.4. System operacyjny Android (38)
- 1.4.1. Android 2.2 (Froyo) (39)
- 1.4.2. Android 2.3 (Gingerbread) (39)
- 1.4.3. Android 3.0 - 3.2 (Honeycomb) (40)
- 1.4.4. Android 4.0 - 4.0.4 (Ice Cream Sandwich) (40)
- 1.4.5. Android 4.1 - 4.3 (Jelly Bean) (42)
- 1.4.6. Android 4.4 (KitKat) (43)
- 1.4.7. Android 5.0 i 5.1 (Lollipop) (43)
- 1.4.8. Android 6 (Marshmallow) (45)
- 1.5. Pobieranie aplikacji z serwisu Google Play (47)
- 1.6. Pakiety (47)
- 1.7. Zestaw narzędzi Android Software Development Kit (SDK) (50)
- 1.8. Programowanie obiektowe - krótkie przypomnienie (53)
- 1.8.1. Samochód jako obiekt (53)
- 1.8.2. Metody i klasy (53)
- 1.8.3. Konkretyzacja (53)
- 1.8.4. Ponowne wykorzystanie (54)
- 1.8.5. Komunikaty i wywołania metod (54)
- 1.8.6. Atrybuty i zmienne egzemplarzowe (54)
- 1.8.7. Hermetyzacja (54)
- 1.8.8. Dziedziczenie (54)
- 1.8.9. Analiza i projektowanie zorientowane obiektowo (OOAD) (55)
- 1.9. Sprawdzanie działania aplikacji Tip Calculator za pomocą urządzenia wirtualnego z systemem Android (AVD) (55)
- 1.9.1. Otwarcie projektu Tip Calculator w środowisku Android Studio (55)
- 1.9.2. Tworzenie wirtualnych urządzeń systemu Android (57)
- 1.9.3. Uruchamianie aplikacji Tip Calculator na emulowanym smartfonie Nexus 6 (60)
- 1.9.4. Uruchamianie aplikacji Tip Calculator na realnym urządzeniu wyposażonym w system Android (63)
- 1.10. Tworzenie doskonałych aplikacji przeznaczonych dla systemu Android (64)
- 1.11. Dokumentacja przydatna podczas pracy nad aplikacjami systemu Android (66)
- 1.12. Podsumowanie (68)
- 2.1. Wstęp (70)
- 2.2. Przegląd technologii (71)
- 2.2.1. Android Studio (71)
- 2.2.2. LinearLayout, TextView i ImageView (71)
- 2.2.3. Rozszerzalny język znaczników (XML) (71)
- 2.2.4. Zasoby aplikacji (71)
- 2.2.5. Dostępność (72)
- 2.2.6. Internacjonalizacja (72)
- 2.3. Tworzenie aplikacji (72)
- 2.3.1. Uruchamianie środowiska Android Studio (72)
- 2.3.2. Tworzenie nowego projektu (72)
- 2.3.3. Tworzenie nowego projektu w oknie Create New Project (72)
- 2.3.4. Wybór docelowych urządzeń (74)
- 2.3.5. Dodaj aktywność (75)
- 2.3.6. Personalizacja aktywności (77)
- 2.4. Okno Android Studio (77)
- 2.4.1. Okno Project (78)
- 2.4.2. Okna edytora (79)
- 2.4.3. Okno Component Tree (80)
- 2.4.4. Pliki z zasobami aplikacji (80)
- 2.4.5. Edytor rozkładu (80)
- 2.4.6. Domyślny graficzny interfejs użytkownika (81)
- 2.4.7. Kod XML domyślnego interfejsu użytkownika (81)
- 2.5. Tworzenie graficznego interfejsu użytkownika aplikacji za pomocą edytora rozkładu (83)
- 2.5.1. Dodawanie obrazu (83)
- 2.5.2. Dodawanie ikony aplikacji (85)
- 2.5.3. Zmiana rozkładu RelativeLayout na LinearLayout (86)
- 2.5.4. Zmiana identyfikatora i orientacji rozkładu LinearLayout (87)
- 2.5.5. Konfigurowanie właściwości id i text pola TextView (88)
- 2.5.6. Konfiguracja parametru textSize pola TextView - skalowane piksele (Scaled Pixels) i piksele niezależne od gęstości (density independent pixel) (90)
- 2.5.7. Definiowanie parametru textColor pola TextView (91)
- 2.5.8. Definiowanie parametru gravity pola TextView (92)
- 2.5.9. Definiowanie parametru layout:gravity pola TextView (93)
- 2.5.10. Definiowanie parametru layout:weight pola TextView (94)
- 2.5.11. Dodawanie pola obrazu ImageView (95)
- 2.5.12. Podgląd projektu (97)
- 2.6. Uruchamianie aplikacji Welcome (98)
- 2.7. Ułatwienie dostępu do aplikacji (100)
- 2.8. Internacjonalizacja aplikacji (101)
- 2.8.1. Lokalizacja (101)
- 2.8.2. Nazywanie folderów zlokalizowanych zasobów (101)
- 2.8.3. Dodawanie przetłumaczonych łańcuchów do projektu aplikacji (102)
- 2.8.4. Lokalizacja łańcuchów (102)
- 2.8.5. Testowanie hiszpańskiej wersji językowej na urządzeniu wirtualnym (103)
- 2.8.6. Testowanie aplikacji w języku hiszpańskim na urządzeniu (104)
- 2.8.7. TalkBack i lokalizacja (105)
- 2.8.8. Rzeczy, o których należy pamiętać podczas lokalizacji (105)
- 2.8.9. Profesjonalne tłumaczenie (105)
- 2.9. Podsumowanie (106)
- 3.1. Wstęp (108)
- 3.2. Testowanie działania aplikacji Tip Calculator (109)
- 3.3. Zastosowane rozwiązania (110)
- 3.3.1. Klasa Activity (110)
- 3.3.2. Metody cyklu roboczego klasy Activity (110)
- 3.3.3. Biblioteka AppCompat i klasa AppCompatActivity (111)
- 3.3.4. GridLayout i organizowanie widoków (112)
- 3.3.5. Tworzenie graficznego interfejsu użytkownika w oknach Layout Editor, Component Tree i Properties (112)
- 3.3.6. Formatowanie liczb na wartości walutowe zależne od lokalizacji i na łańcuchy procentowe (113)
- 3.3.7. Implementacja interfejsu TextWatcher obsługującego obiekt EditText i zmiany tekstu (113)
- 3.3.8. Implementacja interfejsu OnSeekBarChangeListener do obsługi zmian położenia suwaka SeekBar (113)
- 3.3.9. Motywy Material Themes (113)
- 3.3.10. Wytyczne material design: parametr elevation i cienie (114)
- 3.3.11. Wytyczne material design dotyczące kolorów (114)
- 3.3.12. AndroidManifest.xml (115)
- 3.3.13. Wyszukiwanie w oknie Properties (115)
- 3.4. Budowa graficznego interfejsu użytkownika (115)
- 3.4.1. GridLayout - wprowadzenie (115)
- 3.4.2. Tworzenie projektu TipCalculator (117)
- 3.4.3. Zmiana rozkładu na GridLayout (117)
- 3.4.4. Dodawanie obiektów TextViews, EditText i SeekBar (117)
- 3.4.5. Personalizacja widoków (120)
- 3.5. Domyślny motyw i personalizacja kolorów motywu (123)
- 3.5.1. Motyw parent (123)
- 3.5.2. Personalizacja kolorów motywu (124)
- 3.5.3. Wspólne właściwości widoku jako style (126)
- 3.6. Tworzenie logiki aplikacji (127)
- 3.6.1. Instrukcje package i import (128)
- 3.6.2. MainActivity - podklasa AppCompatActivity (129)
- 3.6.3. Zmienne klasy i zmienne obiektowe (129)
- 3.6.4. Przedefiniowanie metody onCreate klasy Activity (130)
- 3.6.5. Metoda calculate klasy MainActivity (133)
- 3.6.6. Anonimowa klasa wewnętrzna implementująca interfejs OnSeekBarChangeListener (133)
- 3.6.7. Anonimowa klasa wewnętrzna implementująca interfejs TextWatcher (134)
- 3.7. AndroidManifest.xml (135)
- 3.7.1. Element manifest (136)
- 3.7.2. Element application (136)
- 3.7.3. Element activity (137)
- 3.7.4. Element intent-filter (137)
- 3.8. Podsumowanie (139)
- 4.1. Wstęp (142)
- 4.2. Testowanie aplikacji Flag Quiz (143)
- 4.2.1. Konfiguracja quizu (143)
- 4.2.2. Rozwiązywanie quizu (145)
- 4.3. Omówienie technologii (148)
- 4.3.1. Menu (148)
- 4.3.2. Fragmenty (148)
- 4.3.3. Metody cyklu życiowego fragmentu (149)
- 4.3.4. Zarządzanie fragmentami (149)
- 4.3.5. Preferencje (150)
- 4.3.6. Folder assets (150)
- 4.3.7. Foldery zasobów (150)
- 4.3.8. Obsługa ekranów o różnych rozmiarach i rozdzielczościach (151)
- 4.3.9. Określanie orientacji urządzenia (152)
- 4.3.10. Wyświetlanie komunikatów za pomocą obiektów Toast (152)
- 4.3.11. Korzystanie z klasy Handler w celu wykonania w przyszłości obiektu Runnable (152)
- 4.3.12. Obiekty View i animacje (153)
- 4.3.13. Korzystanie z klasy ViewAnimationUtils w celu stworzenia animacji okręgu odsłaniającego kolejny ekran (153)
- 4.3.14. Określanie kolorów na podstawie stanu obiektu View za pośrednictwem listy kolorów stanów (153)
- 4.3.15. Okno AlertDialog (153)
- 4.3.16. Zapisywanie komunikatów wyjątków w pliku dziennika (154)
- 4.3.17. Uruchamianie kolejnego obiektu Activity za pomocą jawnego komunikatu Intent (154)
- 4.3.18. Java - struktury danych (155)
- 4.3.19. Funkcje środowiska Java SE 7 (155)
- 4.3.20. AndroidManifest.xml (156)
- 4.4. Tworzenie projektu, plików zasobów i dodatkowych klas (156)
- 4.4.1. Tworzenie projektu (156)
- 4.4.2. Rozkłady szablonu Blank Activity (157)
- 4.4.3. Konfiguracja obsługi środowiska Java SE 7 (158)
- 4.4.4. Dodawanie obrazów flag do projektu (158)
- 4.4.5. Plik strings.xml i sformatowane łańcuchy (158)
- 4.4.6. arrays.xml (159)
- 4.4.7. colors.xml (161)
- 4.4.8. button_text_color.xml (162)
- 4.4.9. Edycja pliku menu_main.xml (162)
- 4.4.10. Tworzenie animacji trzęsącej się flagi (163)
- 4.4.11. Definiowanie preferencji aplikacji za pomocą pliku preferences.xml (164)
- 4.4.12. Dodawanie do projektu klas SettingsActivity i SettingsActivityFragment (166)
- 4.5. Tworzenie graficznego interfejsu użytkownika aplikacji (167)
- 4.5.1. Rozkład activity_main.xml dla urządzeń w orientacji pionowej (167)
- 4.5.2. Projektowanie rozkładu fragment_main.xml (167)
- 4.5.3. Pasek narzędzi graficznego edytora rozkładu (172)
- 4.5.4. Rozkład content_main.xml i pozioma orientacja tabletu (173)
- 4.6. Klasa MainActivity (175)
- 4.6.1. Instrukcje package i import (175)
- 4.6.2. Pola (176)
- 4.6.3. Przedefiniowana metoda onCreate obiektu Activity (176)
- 4.6.4. Przedefiniowana metoda onStart obiektu Activity (178)
- 4.6.5. Przedefiniowana metoda onCreateOptionsMenu obiektu Activity (179)
- 4.6.6. Przedefiniowana metoda onOptionsItemSelected obiektu Activity (180)
- 4.6.7. Anonimowa klasa wewnętrzna implementująca obiekt OnSharedPreferenceChangeListener (180)
- 4.7. Klasa MainActivityFragment (182)
- 4.7.1. Instrukcje package i import (182)
- 4.7.2. Pola (183)
- 4.7.3. Przedefiniowywanie metody onCreateView obiektu Fragment (184)
- 4.7.4. Metoda updateGuessRows (186)
- 4.7.5. Metoda updateRegions (187)
- 4.7.6. Metoda resetQuiz (187)
- 4.7.7. Metoda loadNextFlag (189)
- 4.7.8. Metoda getCountryName (191)
- 4.7.9. Metoda animate (191)
- 4.7.10. Anonimowa klasa wewnętrzna implementująca obiekt OnClickListener (193)
- 4.7.11. Metoda disableButtons (195)
- 4.8. Klasa SettingsActivity (196)
- 4.9. Klasa SettingsActivityFragment (197)
- 4.10. AndroidManifest.xml (197)
- 4.11. Podsumowanie (199)
- 5.1. Wstęp (202)
- 5.2. Testowanie działania aplikacji Doodlz za pomocą maszyny wirtualnej AVD (203)
- 5.3. Technologie zastosowane w aplikacji (208)
- 5.3.1. Metody cyklu życiowego obiektów Activity i Fragment (208)
- 5.3.2. Personalizacja obiektów View (209)
- 5.3.3. Korzystanie z obiektu SensorManager w celu nasłuchiwania zdarzeń przyspieszeniomierza (209)
- 5.3.4. Spersonalizowane obiekty DialogFragment (209)
- 5.3.5. Rysowanie za pomocą klas Canvas i Paint, bitmapy (210)
- 5.3.6. Przetwarzanie wielu zdarzeń dotknięcia ekranu i zapisywanie linii jako obiekty Path (210)
- 5.3.7. Zapisywanie obrazów w pamięci urządzenia (211)
- 5.3.8. Drukowanie i klasa PrintHelper biblioteki Android Support Library (211)
- 5.3.9. Nowy model zezwoleń systemu Android 6.0 (Marshmallow) (211)
- 5.3.10. Dodawanie zależności za pomocą systemu Gradle Build (211)
- 5.4. Tworzenie projektu i zasobów (212)
- 5.4.1. Tworzenie projektu (212)
- 5.4.2. Gradle - dodawanie do projektu biblioteki pomocniczej (212)
- 5.4.3. strings.xml (213)
- 5.4.4. Importowanie ikon elementów znajdujących się w menu aplikacji (214)
- 5.4.5. Menu MainActivityFragment (214)
- 5.4.6. Dodawanie zezwoleń do pliku AndroidManifest.xml (216)
- 5.5. Budowa graficznego interfejsu użytkownika aplikacji (217)
- 5.5.1. Rozkład content_main.xml aktywności MainActivity (217)
- 5.5.2. Rozkład fragment_main.xml fragmentu MainActivityFragment (217)
- 5.5.3. Rozkład fragment_color.xml fragmentu ColorDialogFragment (218)
- 5.5.4. Rozkład fragment_line_width.xml fragmentu LineWidthDialogFragment (219)
- 5.5.5. Dodawanie klasy EraseImageDialogFragment (223)
- 5.6. Klasa MainActivity (223)
- 5.7. Klasa MainActivityFragment (224)
- 5.7.1. Pola i instrukcje package i import (224)
- 5.7.2. Przedefiniowana metoda onCreateView obiektu Fragment (226)
- 5.7.3. Metody onResume i enableAccelerometerListening (226)
- 5.7.4. Metody onPause i disableAccelerometerListening (227)
- 5.7.5. Anonimowa klasa wewnętrzna przetwarzająca zdarzenia przyspieszeniomierza (228)
- 5.7.6. Metoda confirmErase (229)
- 5.7.7. Przedefiniowane metody obiektu Fragment: onCreateOptionsMenu i onOptionsItemSelected (230)
- 5.7.8. Metoda saveImage (231)
- 5.7.9. Przedefiniowana metoda onRequestPermissionsResult (233)
- 5.7.10. Metody getDoodleView i setDialogOnScreen (233)
- 5.8. Klasa DoodleView (234)
- 5.8.1. Instrukcja package i instrukcje import (234)
- 5.8.2. Zmienne statyczne i egzemplarzowe (235)
- 5.8.3. Konstruktor (235)
- 5.8.4. Przedefiniowana metoda onSizeChanged klasy View (236)
- 5.8.5. Metody clear, setDrawingColor, getDrawingColor, setLineWidth i getLineWidth (237)
- 5.8.6. Przedefiniowana metoda onDraw klasy View (238)
- 5.8.7. Przedefiniowana metoda onTouchEvent klasy View (238)
- 5.8.8. Metoda touchStarted (239)
- 5.8.9. Metoda touchMoved (240)
- 5.8.10. Metoda touchEnded (241)
- 5.8.11. Metoda saveImage (242)
- 5.8.12. Metoda printImage (243)
- 5.9. Klasa ColorDialogFragment (243)
- 5.9.1. Przedefiniowana metoda onCreateDialog klasy DialogFragment (244)
- 5.9.2. Metoda getDoodleFragment (245)
- 5.9.3. Przedefiniowane metody cyklu życia obiektu Fragment - onAttach i onDetach (246)
- 5.9.4. Anonimowa klasa wewnętrzna, która reaguje na zdarzenia czterech suwaków SeekBar definiujących barwę (246)
- 5.10. Klasa LineWidthDialogFragment (247)
- 5.10.1. Metoda onCreateDialog (250)
- 5.10.2. Anonimowa klasa wewnętrzna reagująca na zdarzenia paska widthSeekBar (250)
- 5.11. Klasa EraseImageDialogFragment (250)
- 5.12. Podsumowanie (252)
- 6.1. Wstęp (254)
- 6.2. Testowanie aplikacji Cannon Game (255)
- 6.3. Zastosowane rozwiązania (255)
- 6.3.1. Korzystanie z folderu zasobów res/raw (255)
- 6.3.2. Metody cyklu życia klas Activity i Fragment (255)
- 6.3.3. Przedefiniowanie metody onTouchEvent klasy View (256)
- 6.3.4. Dodawanie dźwięku za pomocą narzędzi SoundPool i AudioManager (256)
- 6.3.5. Tworzenie kolejnych klatek animacji za pomocą wątków i obiektów SurfaceView i SurfaceHolder (256)
- 6.3.6. Proste wykrywanie zderzeń (257)
- 6.3.7. Tryb pełnoekranowy (257)
- 6.4. Tworzenie graficznego interfejsu użytkownika i plików zasobów (257)
- 6.4.1. Tworzenie projektu (257)
- 6.4.2. Modyfikacja motywu umożliwiająca usunięcie nazwy aplikacji i jej paska (258)
- 6.4.3. strings.xml (258)
- 6.4.4. Kolory (259)
- 6.4.5. Dodawanie dźwięku (259)
- 6.4.6. Dodawanie klasy MainActivityFragment (259)
- 6.4.7. Edycja pliku activity_main.xml (259)
- 6.4.8. Dodawanie obiektu CannonView do fragmentu fragment_main.xml (260)
- 6.5. Przegląd klas aplikacji (260)
- 6.6. MainActivity - podklasa klasy Activity (261)
- 6.7. MainActivityFragment - podklasa klasy Fragment (262)
- 6.8. Klasa GameElement (263)
- 6.8.1. Zmienne egzemplarzowe i konstruktor (264)
- 6.8.2. Metody update, draw i playSound (265)
- 6.9. Blocker - podklasa klasy GameElement (265)
- 6.10. Target - podklasa klasy GameElement (266)
- 6.11. Klasa Cannon (266)
- 6.11.1. Zmienne egzemplarzowe i konstruktor (266)
- 6.11.2. Metoda align (267)
- 6.11.3. Metoda fireCannonball (268)
- 6.11.4. Metoda draw (268)
- 6.11.5. Metody getCannonball i removeCannonball (269)
- 6.12. Cannonball - podklasa klasy GameElement (270)
- 6.12.1. Zmienne egzemplarzowe i konstruktor (270)
- 6.12.2. Metody getRadius, collidesWith, isOnScreen i reverseVelocityX (270)
- 6.12.3. Metoda update (271)
- 6.12.4. Metoda draw (272)
- 6.13. Klasa CannonView - podklasa SurfaceView (272)
- 6.13.1. Instrukcje package i import (272)
- 6.13.2. Stałe i zmienne egzemplarzowe (273)
- 6.13.3. Konstruktor (274)
- 6.13.4. Przedefiniowywanie metody onSizeChanged klasy View (276)
- 6.13.5. Metody getScreenWidth, getScreenHeight i playSound (277)
- 6.13.6. Metoda newGame (277)
- 6.13.7. Metoda updatePositions (279)
- 6.13.8. Metoda alignAndFireCannonball (280)
- 6.13.9. Metoda showGameOverDialog (281)
- 6.13.10. Metoda drawGameElements (282)
- 6.13.11. Metoda testForCollisions (283)
- 6.13.12. Metody stopGame i releaseResources (285)
- 6.13.13. Implementacja metod interfejsu SurfaceHolder.Callback (285)
- 6.13.14. Przedefiniowywanie metody onTouchEvent klasy View (286)
- 6.13.15. Korzystanie z wątku CannonThread w celu utworzenia pętli gry (287)
- 6.13.16. Metody hideSystemBars i showSystemBars (288)
- 6.14. Podsumowanie (289)
- 7.1. Wstęp (292)
- 7.2. Testowanie aplikacji WeatherViewer (293)
- 7.3. Zastosowane rozwiązania (294)
- 7.3.1. Usługi sieciowe (294)
- 7.3.2. JavaScript Object Notation (JSON) i pakiet org.json (295)
- 7.3.3. Połączenie HttpUrlConnection i wywoływanie usługi sieciowej REST (297)
- 7.3.4. Korzystanie z klasy AsyncTask w celu wygenerowania żądania sieciowego poza wątkiem graficznego interfejsu użytkownika (297)
- 7.3.5. ListView, ArrayAdapter i wzorzec ViewHolder (298)
- 7.3.6. Przycisk FloatingActionButton (299)
- 7.3.7. TextInputLayout (299)
- 7.3.8. Snackbar (300)
- 7.4. Tworzenie graficznego interfejsu użytkownika aplikacji oraz plików zasobów (300)
- 7.4.1. Tworzenie projektu (300)
- 7.4.2. AndroidManifest.xml (300)
- 7.4.3. strings.xml (301)
- 7.4.4. colors.xml (301)
- 7.4.5. activity_main.xml (301)
- 7.4.6. content_main.xml (302)
- 7.4.7. list_item.xml (302)
- 7.5. Klasa Weather (304)
- 7.5.1. Zmienne egzemplarzowe oraz instrukcje import i package (305)
- 7.5.2. Konstruktor (305)
- 7.5.3. Metoda convertTimeStampToDay (306)
- 7.6. Klasa WeatherArrayAdapter (307)
- 7.6.1. Instrukcja package i instrukcje import (307)
- 7.6.2. Zagnieżdżona klasa ViewHolder (308)
- 7.6.3. Zmienne egzemplarzowe i konstruktor (308)
- 7.6.4. Przedefiniowana metoda getView adaptera ArrayAdapter (309)
- 7.6.5. Podklasa AsyncTask służąca do pobierania obrazów w oddzielnym wątku (311)
- 7.7. Klasa MainActivity (312)
- 7.7.1. Instrukcja package i instrukcje import (312)
- 7.7.2. Zmienne egzemplarzowe (313)
- 7.7.3. Przedefiniowana metoda onCreate klasy Activity (314)
- 7.7.4. Metody dismissKeyboard i createURL (315)
- 7.7.5. Podklasa AsyncTask służąca do wywoływania usługi sieciowej (316)
- 7.7.6. Metoda convertJSONtoArrayList (318)
- 7.8. Podsumowanie (319)
- 8.1. Wstęp (322)
- 8.2. Testowanie aplikacji Twitter Searches (323)
- 8.2.1. Dodawanie ulubionych wyszukiwań (323)
- 8.2.2. Przeglądanie wyników wyszukiwania wygenerowanych przez serwis Twitter (324)
- 8.2.3. Edycja zapytania (326)
- 8.2.4. Udostępnianie zapytania (327)
- 8.2.5. Kasowanie zapytania (328)
- 8.2.6. Przewijanie listy zapisanych zapytań (329)
- 8.3. Zastosowane rozwiązania (329)
- 8.3.1. Przechowywanie danych w postaci par klucz-wartość w pliku SharedPreferences (329)
- 8.3.2. Niejawne intencje i wybór aplikacji obsługującej intencję (330)
- 8.3.3. RecyclerView (331)
- 8.3.4. Podklasy RecyclerView.Adapter i RecyclerView.ViewHolder (331)
- 8.3.5. Podklasa RecyclerView.ItemDecoration (331)
- 8.3.6. Wyświetlanie listy opcji w oknie AlertDialog (332)
- 8.4. Tworzenie graficznego interfejsu użytkownika oraz plików zasobów (332)
- 8.4.1. Tworzenie projektu (332)
- 8.4.2. AndroidManifest.xml (332)
- 8.4.3. Dodawanie biblioteki RecyclerView (332)
- 8.4.4. colors.xml (333)
- 8.4.5. strings.xml (333)
- 8.4.6. arrays.xml (333)
- 8.4.7. dimens.xml (334)
- 8.4.8. Dodawanie ikony przycisku zapisywania (334)
- 8.4.9. activity_main.xml (334)
- 8.4.10. content_main.xml (335)
- 8.4.11. Rozkład elementu RecyclerView - list_item.xml (337)
- 8.5. Klasa MainActivity (338)
- 8.5.1. Instrukcje package i import (338)
- 8.5.2. Pola klasy MainActivity (339)
- 8.5.3. Przedefiniowana metoda onCreate klasy Activity (340)
- 8.5.4. Procedura obsługi zdarzeń TextWatcher i metoda updateSaveFAB (342)
- 8.5.5. Interfejs OnClickListener nasłuchujący zdarzeń przycisku saveButton (343)
- 8.5.6. Metoda addTaggedSearch (344)
- 8.5.7. Anonimowa klasa wewnętrzna implementująca obiekt View.OnClickListener w celu wyświetlenia wyników wyszukiwania (345)
- 8.5.8. Anonimowa klasa wewnętrzna, która implementuje interfejs View.OnLongClickListener umożliwiający udostępnienie, skasowanie i edycję zapisanego zapytania (346)
- 8.5.9. Metoda shareSearch (348)
- 8.5.10. Metoda deleteSearch (349)
- 8.6. SearchesAdapter - podklasa RecyclerView.Adapter (350)
- 8.6.1. Instrukcja package, instrukcje import, zmienne egzemplarzowe i konstruktor (350)
- 8.6.2. Zagnieżdżona podklasa ViewHolder klasy RecyclerView.ViewHolder (351)
- 8.6.3. Przedefiniowane metody klasy RecyclerView.Adapter (352)
- 8.7. ItemDivider - podklasa klasy RecyclerView.ItemDecoration (353)
- 8.8. Fabric - nowa platforma programistyczna serwisu Twitter (355)
- 8.9. Podsumowanie (356)
- 9.1. Wstęp (358)
- 9.2. Testowanie aplikacji Address Book (360)
- 9.2.1. Dodawanie kontaktu (360)
- 9.2.2. Przeglądanie informacji przypisanych do kontaktu (361)
- 9.2.3. Edycja kontaktu (361)
- 9.2.4. Kasowanie kontaktu (361)
- 9.3. Zastosowane rozwiązania (362)
- 9.3.1. Wyświetlanie obiektów Fragment za pomocą klasy FragmentTransaction (362)
- 9.3.2. Przesyłanie danych pomiędzy fragmentem a nadrzędną aktywnością (363)
- 9.3.3. Obsługa bazy danych SQLite (363)
- 9.3.4. Obiekty ContentProvider i ContentResolver (363)
- 9.3.5. Asynchroniczny dostęp do bazy danych - obiekt Loader i menedżer LoaderManager (364)
- 9.3.6. Definiowanie stylów i przypisywanie ich do komponentów graficznego interfejsu użytkownika (365)
- 9.3.7. Określanie tła pola TextView (365)
- 9.4. Tworzenie graficznego interfejsu użytkownika oraz plików zasobów (365)
- 9.4.1. Tworzenie projektu (365)
- 9.4.2. Tworzenie klas (366)
- 9.4.3. Dodawanie ikon aplikacji (367)
- 9.4.4. strings.xml (367)
- 9.4.5. styles.xml (367)
- 9.4.6. textview_border.xml (369)
- 9.4.7. Rozkład aktywności MainActivity (369)
- 9.4.8. Rozkład fragmentu ContactsFragment (371)
- 9.4.9. Rozkład fragmentu DetailFragment (372)
- 9.4.10. Rozkład fragmentu AddEditFragment (373)
- 9.4.11. Menu fragmentu DetailFragment (375)
- 9.5. Przegląd klas opisanych w dalszej części tego rozdziału (376)
- 9.6. Klasa DatabaseDescription (377)
- 9.6.1. Pola static (377)
- 9.6.2. Zagnieżdżona klasa Contact (378)
- 9.7. Klasa AddressBookDatabaseHelper (379)
- 9.8. Klasa AddressBookContentProvider (380)
- 9.8.1. Pola klasy AddressBookContentProvider (381)
- 9.8.2. Przedefiniowane metody onCreate i getType (382)
- 9.8.3. Przedefiniowana metoda query (383)
- 9.8.4. Przedefiniowana metoda insert (385)
- 9.8.5. Przedefiniowana metoda update (387)
- 9.8.6. Przedefiniowana metoda delete (388)
- 9.9. Klasa MainActivity (389)
- 9.9.1. Klasa nadrzędna, zaimplementowane interfejsy i pola (389)
- 9.9.2. Przedefiniowana metoda onCreate (390)
- 9.9.3. Metody interfejsu ContactsFragment.ContactsFragmentListener (391)
- 9.9.4. Metoda displayContact (392)
- 9.9.5. Metoda displayAddEditFragment (393)
- 9.9.6. Metody interfejsu DetailFragment.DetailFragmentListener (394)
- 9.9.7. Metody interfejsu AddEditFragment.AddEditFragmentListener (394)
- 9.10. Klasa ContactsFragment (395)
- 9.10.1. Klasa nadrzędna i implementowany interfejs (395)
- 9.10.2. Interfejs ContactsFragmentListener (396)
- 9.10.3. Pola (396)
- 9.10.4. Przedefiniowana metoda onCreateView (397)
- 9.10.5. Przedefiniowane metody onAttach i onDetach obiektu Fragment (398)
- 9.10.6. Przedefiniowana metoda onActivityCreated obiektu Fragment (398)
- 9.10.7. Metoda updateContactList (399)
- 9.10.8. Metody interfejsu LoaderManager.LoaderCallbacks
(399)
- 9.11. Klasa ContactsAdapter (401)
- 9.12. Klasa AddEditFragment (404)
- 9.12.1. Klasa nadrzędna i implementowany interfejs (404)
- 9.12.2. Interfejs AddEditFragmentListener (404)
- 9.12.3. Pola (405)
- 9.12.4. Przedefiniowane metody obiektu Fragment - onAttach, onDetach i onCreateView (406)
- 9.12.5. Obiekt nasłuchujący zdarzeń TextWatcher nameChangedListener i metoda updateSaveButtonFAB (407)
- 9.12.6. Metoda saveContact i obiekt saveContactButtonClicked nasłuchujący zdarzeń View.OnClickListener (408)
- 9.12.7. Metody interfejsu LoaderManager.LoaderCallbacks
(410)
- 9.13. Klasa DetailFragment (411)
- 9.13.1. Klasa nadrzędna i implementowany interfejs (411)
- 9.13.2. Zagnieżdżony interfejs DetailFragmentListener (412)
- 9.13.3. Pola (412)
- 9.13.4. Przedefiniowane metody onAttach, onDetach i onCreateView (413)
- 9.13.5. Przedefiniowane metody onCreateOptionsMenu i onOptionsItemSelected (414)
- 9.13.6. Metoda deleteContact i fragment DialogFragment confirmDelete (415)
- 9.13.7. Metody interfejsu LoaderManager.LoaderCallback
(416)
- 9.14. Podsumowanie (417)
- 10.1. Wstęp (420)
- 10.2. Przygotowywanie aplikacji do publikacji (420)
- 10.2.1. Testowanie aplikacji (421)
- 10.2.2. Umowa pomiędzy licencjodawcą a użytkownikiem końcowym (421)
- 10.2.3. Ikony i etykiety (421)
- 10.2.4. Oznaczanie aplikacji numerem wersji (422)
- 10.2.5. Tworzenie licencji określających zasady uzyskiwania dostępu do płatnych aplikacji (422)
- 10.2.6. Zaciemnianie kodu (423)
- 10.2.7. Uzyskiwanie prywatnego klucza przeznaczonego do cyfrowego podpisywania aplikacji (423)
- 10.2.8. Obraz promocyjny i zrzuty ekranu (423)
- 10.2.9. Materiał wideo promujący aplikację (425)
- 10.3. Wycena aplikacji - darmowa czy płatna? (425)
- 10.3.1. Płatne aplikacje (426)
- 10.3.2. Darmowe aplikacje (426)
- 10.4. Zarabianie na reklamach wyświetlanych w aplikacji (428)
- 10.5. Zarabianie na sprzedaży wirtualnych dóbr za pomocą mechanizmu płatności wbudowanego w aplikację (428)
- 10.6. Rejestracja w serwisie Google Play (430)
- 10.7. Konfigurowanie konta sprzedawcy w serwisie Google Payments (430)
- 10.8. Ładowanie aplikacji do serwisu Google Play (431)
- 10.9. Otwieranie sklepu z aplikacjami z poziomu aplikacji (433)
- 10.10. Zarządzanie aplikacjami udostępnionymi w serwisie Google Play (434)
- 10.11. Inne serwisy pośredniczące w sprzedaży aplikacji systemu Android (434)
- 10.12. Inne platformy mobilne i przenoszenie na nie aplikacji (434)
- 10.13. Rozreklamowanie aplikacji (435)
- 10.14. Podsumowanie (439)
Przedmowa (17)
Zanim zaczniesz (27)
Rozdział 1. Android - wprowadzenie (33)
Rozdział 2. Aplikacja powitalna (69)
Rozpoczęcie pracy w środowisku Android Studio - wizualne projektowanie graficznego interfejsu użytkownika, szablony, dostępność i internacjonalizacja
Rozdział 3. Aplikacja obliczająca napiwek (107)
Wprowadzenie elementów takich jak GridLayout, EditText, SeekBar, obsługa zdarzeń, NumberFormat, personalizacja motywu aplikacji i definiowanie funkcjonalności aplikacji za pomocą kodu Java
Rozdział 4. Aplikacja Flag Quiz (141)
Fragmenty, menu, preferencje, jawne intencje, obiekt handler, AssetManager, animacje, obiekty animujące, obiekty Toast, listy stanów kolorów, rozkłady obsługujące wiele orientacji urządzenia, tworzenie logów zawierających komunikaty przydatne podczas debugowania
Rozdział 5. Aplikacja Doodlz (201)
Grafika 2D, klasa Canvas, bitmapy, przyspieszeniomierz, menedżer SensorManager, zdarzenia wielodotykowe, magazyn MediaStore, drukowanie, uprawnienia platformy Android 6.0, system Gradle
Rozdział 6. Aplikacja Cannon Game (253)
Ręczna animacja klatka po klatce, grafika, dźwięk, tworzenie wielu wątków, obiekty SurfaceView i SurfaceHolder, tryb pełnoekranowy
Rozdział 7. Aplikacja WeatherViewer (291)
Usługi sieciowe REST, zdarzenie asynchroniczne AsyncTask, połączenie HttpUrlConnection, przetwarzanie danych JSON, JSONObject, JSONArray, ListView, ArrayAdapter, usługa ViewHolder
Rozdział 8. Aplikacja Twitter Searches (321)
Klasa SharedPreferences, podklasa SharedPreferences.Editor, niejawne intencje, wybór aktywności obsługującej intencję, klasa RecyclerView, podklasy RecyclerView.Adapter, RecyclerView.ViewHolder i RecyclerView.ItemDecoration
Rozdział 9. Aplikacja Address Book (357)
Klasa FragmentTransaction i stos obiektów Fragment, SQLite, SQLiteDatabase, SQLiteOpenHelper, ContentProvider, ContentResolver, Loader, LoaderManager, Cursor i style graficznego interfejsu użytkownika
Rozdział 10. Serwis Google Play i zagadnienia biznesowe związane z tworzeniem aplikacji (419)
Skorowidz (441)
Helion - inne książki
-
Nowość Promocja Promocja 2za1
Ta niewielka, przystępnie napisana książka jest drugim wydaniem kompleksowego przewodnika dla programistów Pythona, którzy chcą budować aplikacje bazujące na dużych modelach językowych. Zaprezentowano w niej główne cechy i zasady działania modeli GPT-4 i GPT-3.5 z uwzględnieniem najnowszych osiągnięć w rozwoju technologii sztucznej inteligencji. Znalazły się tu także instrukcje, jak krok po kroku tworzyć aplikacje z zastosowaniem biblioteki OpenAI dla Pythona, włączając w to generowanie treści, odpowiadanie na pytania i inteligentnych asystentów. Dodatkowe ułatwienie stanowią przejrzyste przykłady i dołączone do wydania pliki z kodami. Dzięki tej książce z łatwością wykorzystasz moc dużych modeli językowych w swoich aplikacjach!- PDF + ePub + Mobi
- Druk 39 pkt
(39,50 zł najniższa cena z 30 dni)
39.50 zł
79.00 zł (-50%) -
Nowość Promocja Promocja 2za1
Lektura tej książki pozwoli Ci zrozumieć możliwości najnowocześniejszych algorytmów AI, nawet jeśli nie posiadasz wiedzy technicznej. Dowiesz się, na czym polega funkcjonowanie sieci neuronowych, poznasz również fascynującą historię pierwszego sztucznego neuronu i przekształcenia go w sieć zdolną do realizowania zadań wcześniej uznanych za niewykonalne obliczeniowo. Zapoznasz się z możliwościami i wyzwaniami związanymi z widzeniem komputerowym, a także z zasadami działania sieci neuronowej i jej treningu. Zorientujesz się też, w których obszarach sztuczna inteligencja może stanowić zagrożenie, a gdzie wykazuje olbrzymi potencjał. Na koniec spojrzysz na obecną rewolucję AI przez pryzmat wcześniejszych przełomów technologicznych, aby lepiej zrozumieć, co nas czeka i jakie mamy wobec tego zobowiązania.- PDF + ePub + Mobi
- Druk 29 pkt
(38,35 zł najniższa cena z 30 dni)
29.49 zł
59.00 zł (-50%) -
Nowość Promocja Promocja 2za1
Dzięki tej książce zrozumiesz moc programowania sterowanego testami. Bazując na świetnie wyjaśnionym procesie budowy przykładowej aplikacji zgodnie z paradygmatem TDD, przyswoisz mechanizmy: cykl czerwone, zielone i refaktoryzacja, a także wzorzec przygotowania, działania i asercji. Dowiesz się też, jak za sprawą odwrócenia zależności i zamienników testowych uzyskać kontrolę nad systemami zewnętrznymi, takimi jak bazy danych. Poznasz ponadto zaawansowane techniki projektowania, w tym zasady SOLID, refaktoryzację i architekturę heksagonalną. Na podstawie piramidy testów nauczysz się znajdować równowagę między szybkimi i powtarzalnymi testami jednostkowymi a testami integracyjnymi. Używając Javy 17, opracujesz nowoczesną mikrousługę REST opartą na bazie danych PostgreSQL.- PDF + ePub + Mobi
- Druk 39 pkt
(39,50 zł najniższa cena z 30 dni)
39.50 zł
79.00 zł (-50%) -
Nowość Promocja Promocja 2za1
Dzięki tej książce opanujesz kluczowe koncepcje myślenia systemowego i nauczysz się stosować je w praktyce. Poznasz podejście nieliniowe, które pozwala lepiej rozumieć złożoność współczesnych systemów IT i skutecznie nimi zarządzać. Nauczysz się identyfikować wzorce, przewidywać konsekwencje decyzji technologicznych, a także budować skalowalne, elastyczne architektury. Praktyczne przykłady i klarowne wyjaśnienia pomogą Ci zastosować zdobytą wiedzę w codziennej pracy, niezależnie od tego, czy tworzysz małe aplikacje, czy projektujesz wielkoskalowe systemy. To niezbędny przewodnik dla każdego, kto chce myśleć jak inżynier systemowy!- PDF + ePub + Mobi
- Druk 39 pkt
(39,50 zł najniższa cena z 30 dni)
39.50 zł
79.00 zł (-50%) -
Promocja Promocja 2za1
O sztucznej inteligencji jest ostatnio bardzo głośno, to nośny temat, nierzadko przedstawiany w tonie sensacyjnym. Czy AI nas zniewoli? Czy wymknie się spod kontroli? A może zabierze nam pracę i zmieni nasze życie w bezproduktywny koszmar? Rzeczywistość wygląda zgoła inaczej, niż zdają się sugerować clickbaitowe nagłówki w prasie i mediach społecznościowych. Sztuczna inteligencja jest obecna w naszym życiu od wielu lat, choć często nie zdajemy sobie z tego sprawy. Służy nam pomocą, gdy szukamy czegoś w sieci, kiedy chcemy coś przetłumaczyć, kupić, porównać albo dotrzeć z miejsca A do miejsca B. Odsiewa dla nas spam w poczcie internetowej i chroni nasze urządzenia elektroniczne przed cyberatakami. Oczywiście, ma swoje mroczne strony i tych także powinniśmy być świadomi.- PDF + ePub + Mobi
- Audiobook MP3
- Druk 29 pkt
(29,49 zł najniższa cena z 30 dni)
29.49 zł
59.00 zł (-50%) -
Nowość Promocja Promocja 2za1
Ten kompleksowy podręcznik docenią specjaliści do spraw bezpieczeństwa i projektanci aplikacji. Znajdziesz w nim szereg przydatnych informacji na temat testowania API, identyfikowania podatności i ich eliminowania. W książce znalazło się mnóstwo praktycznych przykładów, dzięki którym dowiesz się, jak unikać kontroli uwierzytelniania i autoryzacji, a także jak identyfikować podatności w interfejsach API przy użyciu różnych narzędzi. Nauczysz się też tworzenia rozbudowanych raportów dotyczących wykrytych podatności, a ponadto rekomendowania i stosowania skutecznych strategii ich minimalizowania. Poznasz również strategie zarządzania bezpieczeństwem interfejsów API i dowiesz się, jak je chronić przed najnowszymi zagrożeniami.- PDF + ePub + Mobi
- Druk 49 pkt
(49,50 zł najniższa cena z 30 dni)
49.50 zł
99.00 zł (-50%) -
Nowość Promocja Promocja 2za1
Dzięki tej praktycznej książce poznasz pełnię możliwości Postmana. Znajdziesz tu przystępnie wyjaśnione koncepcje, a także zestaw rzeczywistych przykładów, co ułatwi Ci korzystanie z tego narzędzia do tworzenia doskonale zaprojektowanych, udokumentowanych i przetestowanych interfejsów programowania aplikacji. Za pomocą praktycznych projektów nauczysz się dodawać automatyzację testów do istniejącego API. Poznasz również nowe funkcjonalności Postmana, stanowiące dużą pomoc w unikaniu błędów. W drugim, w pełni zaktualizowanym wydaniu znajdziesz nowe rozdziały dotyczące testowania przepływu pracy, tworzenia i używania serwerów imitacji, testowania bezpieczeństwa API, jak również testowania wydajności.- PDF + ePub + Mobi
- Druk 44 pkt
(44,50 zł najniższa cena z 30 dni)
44.50 zł
89.00 zł (-50%) -
Nowość Promocja Promocja 2za1
Analityka mocno się zmieniła. Kiedyś skupiała się głównie na tworzeniu raportów i wykresów, które prezentowały dane w atrakcyjnej formie. Teraz stała się bardziej zaawansowana ― zespoły pracują w nowy sposób, łącząc różnorodne umiejętności, takie jak analiza danych, programowanie i znajomość biznesu. Dzięki temu decyzje podejmowane w firmach mogą być lepsze, a osiąganie celów ― łatwiejsze. Jednak by to działało, potrzebne są zmiany w strukturze organizacji i podejściu do pracy. Oto najbardziej praktyczny poradnik korzystania z analityki w funkcjonowaniu organizacji! Bill Schmarzo, dyrektor do spraw innowacji w Hitachi Vantara- PDF + ePub + Mobi
- Druk 24 pkt
(24,95 zł najniższa cena z 30 dni)
24.95 zł
49.90 zł (-50%) -
Nowość Promocja Promocja 2za1
Dzięki tej praktycznej książce dogłębnie poznasz zagrożenia specyficzne dla aplikacji opartych na dużych modelach językowych, przeanalizujesz ich charakterystyczne cechy i dowiesz się, jak wyglądają luki w zabezpieczeniach. W ten sposób zdobędziesz praktyczną wiedzę, która podczas tworzenia oprogramowania korzystającego z LLM okazuje się bezcenna. Zapoznasz się również z licznymi wskazówkami i strategiami, które pomogą w zabezpieczaniu aplikacji opartych na sztucznej inteligencji. Niezależnie od tego, czy tworzysz zupełnie nową aplikację, czy zajmujesz się dodawaniem funkcjonalności LLM, znajdziesz tu szeroką gamę przydatnych zagadnień, takich jak architektura dużych modeli językowych, granice zaufania, technika RAG, wstrzykiwanie promptów i wiele innych.- PDF + ePub + Mobi
- Druk 39 pkt
(39,50 zł najniższa cena z 30 dni)
39.50 zł
79.00 zł (-50%) -
Bestseller Nowość Promocja Promocja 2za1
Zapnij pasy przed wyprawą życia! „Mars: Nowa Ziemia” to fascynująca opowieść o ludzkiej determinacji, by postawić stopę na Czerwonej Planecie. Astrofizyk Andrew May zabierze Cię w podróż przez historię eksploracji Marsa — od pierwszych wyobrażeń i obserwacji astronomicznych aż po najnowsze misje i ambitne plany kolonizacyjne. Nasz planetarny sąsiad od wieków fascynuje ludzkość, pobudzając wyobraźnię pisarzy, naukowców i inżynierów. Ta książka to nie tylko zapis technologicznych osiągnięć, ale także opowieść o ludziach, którzy marzą, planują i podejmują ryzyko, aby zmienić rozumienie Wszechświata i uczynić z nas gatunek międzyplanetarny. Jeśli zastanawiasz się, jakie wyzwania czekają podczas podróży na Marsa i czy człowiek jest gotowy na życie poza Ziemią, ta książka jest dla Ciebie. Przygotuj się na ekscytującą misję, która może zmienić przyszłość ludzkości.- PDF + ePub + Mobi
- Druk 29 pkt
(29,49 zł najniższa cena z 30 dni)
29.49 zł
59.00 zł (-50%)
Dzięki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep@ebookpoint.pl
Książka drukowana


Oceny i opinie klientów: Android 6 dla programistów. Techniki tworzenia aplikacji. Wydanie III Paul Deitel, Harvey Deitel, Alexander Wald
(3)(0)
(2)
(0)
(1)
(0)
(0)
więcej opinii