Android. Programowanie aplikacji na urządzenia przenośne. Wydanie II
(ebook)
(audiobook)
(audiobook)
- Autorzy:
- Shane Conder, Lauren Darcey
- Niedostępna
- Wydawnictwo:
- Helion
- Ocena:
- 3.7/6 Opinie: 12
- Stron:
- 832
- Druk:
- oprawa twarda
Opis
książki
:
Android. Programowanie aplikacji na urządzenia przenośne. Wydanie II
Wyczerpujący przewodnik, gruntownie zaktualizowany w oparciu o najnowszą wersję Android SDK i najlepsze techniki programowania!
Gdy w 2008 roku Google opublikował Androida, rynkiem telefonów komórkowych wprawdzie nieco zatrzęsło, ale nikt nie spodziewał się, że ta platforma aż tak poważnie zagrozi takim gigantom mobilnych systemów operacyjnych, jak iOS Apple, Windows Mobile, Symbian czy RIM BlackBerry. Od tego czasu każde nowe urządzenie z Androidem miało coraz większe możliwości i było jeszcze bardziej ekscytujące od swoich poprzedników. Minęły zaledwie trzy lata od dnia, kiedy na rynku pojawił się pierwszy telefon z systemem Android - T-Mobile G1, stworzony przez firmę HTC - a system ten już okrzyknięty został najszybciej sprzedającą się platformą dla telefonów przenośnych. To oczywiście nie pozostaje bez echa: potrzeba coraz więcej ludzi specjalizujących się w programowaniu aplikacji na tę fascynującą, darmową i otwartą platformę mobilną.
Oto kompletny podręcznik, zawierający wszystko, co potrzebne do tworzenia, wdrażania i sprzedawania aplikacji na urządzenia przenośne działające pod kontrolą najnowszych wersji Androida. Autorzy - w oparciu o swoje wieloletnie doświadczenie w tworzeniu mobilnych aplikacji - wprowadzą Cię we wszystkie etapy tego procesu: pomysł, projektowanie, pisanie kodu, testowanie, pakowanie i rozpowszechnianie aplikacji. Poznasz doskonale specyfikację platformy Android, podstawowe zasady efektywnego projektowania aplikacji na nią przeznaczonych oraz najlepsze praktyki związane z tworzeniem wygodnych interfejsów użytkownika. Znajdziesz tu także wyczerpujące opisy wszystkich kluczowych interfejsów programistycznych: do obsługi składowania danych, komunikacji sieciowej, obsługi rozmów telefonicznych, usług lokalizacyjnych, multimediów, grafiki 3D oraz opcjonalnych komponentów sprzętowych. Oprócz tego książka została uzupełniona praktycznymi sztuczkami, które pozwolą Ci zaoszczędzić sporo cennego czasu i uniknąć wielu niepotrzebnych pułapek!
Ponadto znajdziesz tu:
- kilka rozdziałów opisujących interfejs API do obsługi technologii związanych z WWW, a także Android NDK, poszerzanie zasięgu aplikacji, zarządzanie użytkownikami, synchronizację danych, tworzenie kopii bezpieczeństwa, zaawansowane metody wprowadzania danych
- wyczerpujące informacje na temat plików manifestu, dostawców treści, projektowania i testowania aplikacji
- prezentację najbardziej aktualnych i interesujących zagadnień, takich jak obsługa komunikacji Bluetooth i gestów, rozpoznawanie mowy, widgety, technologie Live Folders, Live Wallpapers oraz globalne wyszukiwanie
- aktualne informacje na temat generowania grafiki 3D przy użyciu OpenGL ES 2.0
- zagadnienia związane z zapewnianiem zgodności pomiędzy różnymi urządzeniami
Wybrane bestsellery
-
Niniejsza książka to bezcenne kompendium dla każdego programisty piszącego aplikacje na Androida. Będzie niezastąpiona dla początkujących, którzy dzięki niej zyskają solidne podstawy, ale docenią ją również poważni projektanci profesjonalnych aplikacji. Kompleksowo prezentuje środowisko Android Studio oraz Android SDK, opisuje nowy system uprawnień w Android 6.0, przedstawia sposób wykorzystania bazy SQLite, pokazuje sporo sztuczek i porad związanych z programowaniem na Androida — a to wszystko, by możliwie najpełniej i najstaranniej wyeksponować aktualne i najbardziej interesujące możliwości tej platformy.
- Druk
- PDF + ePub + Mobi pkt
Niedostępna
-
Książka, którą trzymasz w dłoni, została pomyślana jako podręcznik. Nawet jeśli jesteś bardzo początkującym programistą, błyskawicznie — bo po lekturze 24 rozdziałów, z których każdy zajmie najwyżej godzinę — poznasz podstawy programowania dla Androida i szybko zaczniesz tworzyć w pełni funkcjonalne aplikacje. Najpierw dowiesz się, czym są aktywności, intencje, usługi i odbiorniki rozgłoszeń. Później zagłębisz się w bardziej zaawansowane zagadnienia: nauczysz się obsługi multimediów, poznasz interfejs Material Design firmy Google, sprawdzisz, jak wykorzystywać bazy danych SQLite.
- Druk
- PDF + ePub + Mobi pkt
Czasowo niedostępna
-
Promocja
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świadczeniem w pracy z platformą Android lub iOS. Ten przystępny przewodnik pozwoli Ci napisać własną aplikację, a następnie wydać ją w sklepie Google Play czy App Store. Jeśli poświęcisz trochę więcej czasu, umożliwi Ci także stworzenie aplikacji internetowej. A wszystko to z wykorzystaniem jednej bazy kodu. Brzmi zachęcająco?- Druk
- PDF + ePub + Mobi pkt
(41,40 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł (-35%) -
Promocja
Sięgnij po ten nietypowy podręcznik! Możesz uznać jego formę i sposób przekazywania treści za dziwny, ale prędko przekonasz się, że jest wyjątkowo skuteczny. Twój mózg się zaangażuje i błyskawicznie przyswoi sobie techniki programowania dla Androida. A to wszystko dzięki nowatorskiemu podejściu autorów, którzy uznali, że najszybciej uczymy się wtedy, gdy uwzględnimy specyfikę działania własnego mózgu! Dowiesz się, jak przygotować sobie warsztat pracy, czyli Android Studio. Od razu zaprojektujesz strukturę aplikacji i zbudujesz dobry interfejs. Będziesz swobodnie posługiwał się aktywnościami, intencjami, usługami. Poznasz narzędzia Gradle, ART i ADB, dowiesz się, jak wykorzystywać bazy danych SQLite. A potem będzie jeszcze ciekawiej...- Druk
(71,40 zł najniższa cena z 30 dni)
77.35 zł
119.00 zł (-35%) -
Ta książka jest kolejnym, gruntownie przejrzanym i zaktualizowanym wydaniem klasycznego podręcznika, w którym jasno i wyczerpująco wyjaśniono koncepcje, strukturę i mechanizmy rządzące funkcjonowaniem nowoczesnych systemów operacyjnych. Wnikliwie omówiono również podstawowe zasady projektowania systemów operacyjnych i powiązano je ze współczesnymi zagadnieniami projektowymi oraz kierunkami rozwoju systemów operacyjnych. Aby zilustrować prezentowane treści, jako przykładami posłużono się czterema systemami: Windows, Android, Unix i Linux. W ten sposób koncepcje projektowe omawiane w danym rozdziale są natychmiast popierane rzeczywistymi przykładami.
- Druk
- PDF + ePub + Mobi pkt
Niedostępna
-
Promocja
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ć wyzwanie branży pełnej dużych graczy o mocnej pozycji. Przekonasz się, że warto ocalić od zapomnienia dzieje sprzed premiery wersji 1.0 Androida i poznasz jego późniejsze ― równie fascynujące ― losy. Przeczytasz tu wypowiedzi najważniejszych dla tego projektu ludzi, dzięki którym możliwe było osiągnięcie oszałamiającego sukcesu Androida. To bardzo ciekawa opowieść, napisana z poczuciem humoru, przystępnym językiem (niezbędne słownictwo specjalistyczne zostało wyjaśnione). W efekcie powstała zajmująca i przyjemna w lekturze książka, którą docenią zarówno osoby interesujące się technologią, jak i pasjonaci niezwykłych historii.- Druk
- PDF + ePub + Mobi pkt
(35,94 zł najniższa cena z 30 dni)
38.94 zł
59.90 zł (-35%) -
Promocja
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łym i tym większym - pracę, czyli moc samodzielnego utrzymania się, i to na niezłym poziomie finansowym. Jak wprowadzić najmłodszych w świat informatyki? Pierwsze doświadczenia i oprogramowanie, z jakim dziecko się zetknie, mają niesamowite znaczenie. Mogą zachęcić do podejmowania kolejnych wyzwań, ale mogą też zniechęcić. Mogą zaopatrzyć w solidne i uniwersalne podstawy, lecz mogą również zaśmiecić głowę niepotrzebną wiedzą, której przyszły programista nigdy nie wykorzysta.- Videokurs pkt
(32,69 zł najniższa cena z 30 dni)
27.24 zł
109.00 zł (-75%) -
Promocja
Programiści JetBrains podczas pracy nad swoimi produktami poszukiwali prostych biznesowych rozwiązań. Próżno było szukać ideału, który będzie jednocześnie łatwy w utrzymaniu i interoperacyjny z Javą. Należało zatem go stworzyć! Tak powstał Kotlin - wieloplatformowy, statycznie typowany język działający na wirtualnej maszynie Javy (JVM). Jego siłą jest prosta, zwarta składnia zapewniona między innymi przez interferencje typów, data class i properties, które nie wymagają ustawiania nielubianych getterów i setterów. Kotlin jest kompilowany do kodu bajtowego Javy i ma dostęp do jej bibliotek i frameworków. Takie rozwiązanie daje Ci pełną swobodę - w projekcie możesz używać obu języków równocześnie lub bez trudu migrować swoje aplikacje z Javy do Kotlina! To nie koniec korzyści, twórcy języka zadbali także o jego większą odporność na awarie, wprowadzając eliminację błędów odwołania (null-pointer safety). Powstające pomyłki związane z wyjątkiem NullPointerException są wykrywane na poziomie kompilacji, a nie w czasie wykonywania programu. Ten język zbudował swoją markę na niezawodności i w ciągu kilku lat stał się zaufaną technologią, którą pokochały startupy i duże korporacje.- Videokurs pkt
(23,70 zł najniższa cena z 30 dni)
23.70 zł
79.00 zł (-70%) -
Dzięki temu przewodnikowi płynnie rozpoczniesz pisanie aplikacji we Flutterze w języku Dart. Dowiesz się, jak skonfigurować środowisko programistyczne i rozpocząć projekt. Książka poprowadzi Cię przez proces projektowania interfejsu użytkownika i funkcji umożliwiających poprawną pracę aplikacji. Nauczysz się pisać własne wtyczki (tzw. plug-iny). Poznasz techniki poprawy wrażeń użytkownika i dowiesz się, jak tworzyć dobre, intuicyjne interfejsy.
- Druk
- PDF + ePub + Mobi pkt
Czasowo niedostępna
-
Promocja
Linux, jako „baza” Androida, jest aktualnie najpopularniejszym systemem operacyjnym na świecie. To sprawia, że poznanie środowiska linuksowego jest praktycznie obowiązkowe dla każdego młodego programisty. By móc pracować w tym systemie, trzeba opanować dedykowany mu język programowania i równocześnie powłokę systemową, czyli Bash. Jego znajomości wymaga się od wszystkich pracujących w systemach embedded, początkujących administratorów oraz DevOps engineerów - Bash to absolutna podstawa i obowiązkowe narzędzie ich pracy.- Videokurs pkt
(42,25 zł najniższa cena z 30 dni)
50.70 zł
169.00 zł (-70%) -
Ta książka jest przeznaczona dla programistów, którzy chcą poznać język o możliwościach wykraczających poza Javę i pisać solidne aplikacje dla różnych platform. Pozwala w praktyczny sposób zapoznać się z unikalnymi możliwościami Kotlina i — na podstawie licznych przykładowych projektów — stopniowo zgłębiać złożone zagadnienia. Znakomitym uzupełnieniem prezentowanych treści są informacje o wewnętrznych mechanizmach działania języka wraz z ćwiczeniami do samodzielnego wykonania. Dzięki tej książce nawet początkujący programista szybko zacznie pisać efektywne i solidne aplikacje, które będą służyć użytkownikom różnych platform.
- Druk
- PDF + ePub + Mobi pkt
Czasowo niedostępna
-
Promocja
Android Studio jest mocno rozbudowane i bogate w narzędzia, których istnienia początkujący użytkownik może być nieświadomy. Jeśli nie zna narzędzi wspomagających, nie korzysta z nich, a szkoda. Po co tracić 50 procent swojego czasu na pisanie w kółko podobnego kodu i dalsze 30 procent na szukanie błędów i debugowanie, skoro dzięki udogodnieniom środowiska Android Studio można znacznie ten czas zredukować? Weź udział w naszym kursie i poznaj wewnętrzne i zewnętrzne narzędzia oraz pluginy, dzięki którym zautomatyzujesz pewne zadania, wykonanie innych zaś bardzo sobie ułatwisz. Po zakończeniu tego kursu będziesz w stanie znacznie zoptymalizować swoją pracę jako programista. Część prezentowanych w szkoleniu rozwiązań nie ogranicza się tylko do projektowania pod system Android, przydadzą Ci się one także na przykład podczas pracy nad aplikacją działającą pod iOS-em.- Videokurs pkt
(69,00 zł najniższa cena z 30 dni)
Ebooka "Android. Programowanie aplikacji na urządzenia przenośne. Wydanie II" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Booxs 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 "Android. Programowanie aplikacji na urządzenia przenośne. Wydanie II" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolonych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Android. Programowanie aplikacji na urządzenia przenośne. Wydanie II" 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
Recenzje książki: Android. Programowanie aplikacji na urządzenia przenośne. Wydanie II (3) Poniższe recenzje mogły powstać po przekazaniu recenzentowi darmowego egzemplarza poszczególnych utworów bądź innej zachęty do jej napisania np. zapłaty.
-
Recenzja: androidmagazine.pl Michał Brzeziński, 2013-05-01Recenzja dotyczy produktu: ksiązka drukowanaCzy recenzja była pomocna:
Książka o Androidzie, a na okładce nieistniejący telefon z interfejsem iPhone'a. Zaczyna się zabawnie, ale po kolei.
Pierwszym pytaniem powinno być sakramentalne: Czy ta książka jest dla mnie? Autorzy otwarcie piszą, że ich dzieło nie jest typu „od zera do bohatera" wymagana jest podstawowa znajomość Javy. I naprawdę warto ją znać, bo bez tego ani rusz.
Jeśli ogarniasz Javę, na początku czeka Cię przeprawa przez 70 stron opisu systemu i konfiguracji środowiska programistycznego. Już tutaj wychodzi największy problem z tą książką (tak jak z praktycznie wszystkimi innymi) jest nieaktualna. Została wydana w 2011 r., a dwa lata to ogrom czasu na rynku mobilnym. Dodajmy do tego czas potrzebny na samo jej napisanie, przejście przez korektę, przetłumaczenie, drukowanie itp. W ten oto sposób otrzymujemy produkt, według którego najświeższą wersją systemu jest Android 2.2 Froyo. Ile czasu zajmuje cały proces wydawniczy widać po zamieszczonym w książce wykresie dotyczącym najpopularniejszych wersji Androida znajdziemy tam wersję 3.1 Honeycomb.
Niestety, trzeba się do tego przyzwyczaić. W czasie czytania jesteśmy ostrzegani np. że dana funkcjonalność została wprowadzona w Androidzie 1.5, więc posiadacze starszej wersji mogą mieć problem. Nie obyło się także bez opisu obsługi trackballa i zdecydowanie odchodzącego do lamusa przycisku „szukaj". A to tylko wierzchołek góry lodowej.
Po paru złych słowach czas na pochwały. Nie biorąc pod uwagę przestarzałych API i narzędzi programistycznych, książka jest naprawdę dobra. Sęk w tym, że samo programowanie na Androida aż tak nie uległo zmianie schemat jest podobny. Ciągle wszystko opiera się na kilku podstawowych elementach, interfejs tworzy się w XML-u i w ten sam sposób przechowuje się wartości. Oczywiście pojawiło się multum nowych klas oraz funkcji, a wytyczne wyglądają inaczej, ale to jest sucha wiedza, którą zawsze można doczytać i przećwiczyć.
Naprawdę przypadło mi do gustu ułożenie rozdziałów. Wspominałem o wstępie z historią systemu i konfiguracją środowiska, kolejnym etapem jest samo odpalenie aplikacji na emulatorze.
Drugą część zaczynamy od poznania struktury programu oraz najważniejszego pliku manifestu. Tutaj też zaczyna się programowanie, wzbogacane o zarządzanie zasobami.
Kolejna sekcja jest w całości poświęcona tematowi interfejsu. Nie trzeba mówić, jak ważne jest to zagadnienie, więc dobrze, że nie zostało przerzucone na dalsze rozdziały. Poza tym fajnie od tego zacząć tworzenie pierwszych aplikacji, później dodając rzeczywistą funkcję.
Część czwarta to przedstawienie wszystkich podstawowych interfejsów programowania aplikacji (API) na Androida. Przechowywanie danych, czujniki, usługi sieciowe, lokalizacja, multimedia, a nawet grafika 3D i NDK (Native Development Kit). Opracowano podstawowe interfejsy, które na początek wystarczą, a niektóre z tych tematów można nawet z czystym sumieniem ominąć.
Gdy już omówiono, jak zaimplementować podstawową funkcję, przedstawiane są dodatkowe zasady i rozszerzenie działania aplikacji. Mowa o powiadomieniach, wibracjach, backupie danych oraz pracy w tle. Nie zapomniano także o dostępności aplikacji w różnych kontekstach, czyli widżetach, a nawet żywych tapetach. Na koniec tej części jedno z najważniejszych zagadnień programowania na Androida jak radzić sobie z fragmentacją. Znowu od czasu wprowadzenie książki wprowadzono wiele udogodnień w tej kwestii, ale lepsze to niż nic.
Ostatnia sekcja nie skupia się na stricte programowaniu, ale na całym procesie wdrażania aplikacji: podejście do jej tworzenia, testowanie, wprowadzanie do sprzedaży.
Na koniec czas na dodatki, czyli przewodniki po emulatorze Androida, ADB, DDMS, sqlite i Eclipse IDE.
W „przewodniku" znajduje się także coś, co bardzo cenię w każdej poważnej książce luźniejsze wstawki. Nie ma ich zbyt wiele, ale przynajmniej raz na jakiś czas można je spotkać, a to się liczy. „Uzyskana animacja może wyglądać tak, jak ta przedstawiona na rysunku 9.14 wystarczy sobie wyobrazić, że się rusza" od razu sprawia, że czyta się przyjemniej.
Jak wspomniałem, spodobała mi się kolejność tematów. Niby nic specjalnego, ale moja pierwsza książka o programowaniu na Androida „Android 2. Tworzenie aplikacji" miała początek ciężki do przebrnięcia właśnie przez dziwny układ.
Czy warto kupić „Android. Programowanie aplikacji na urządzenia przenośne"? Aby znać na to odpowiedź, musisz sobie zadać jedno bardzo, ale to bardzo ważne pytanie: czy chcę się uczyć programowania na Androida z książek Moim zdaniem nie są one potrzebne i w Internecie znajdziesz aż nadto świetnych tutoriali. Ale jeśli wolisz ten sposób nauki, ta książka będzie naprawdę dobrym początkiem. -
Recenzja: NetWorld Piotr Kociatkiewicz, 10/2011Recenzja dotyczy produktu: ksiązka drukowanaCzy recenzja była pomocna:
Android jest bezpłatną i otwartą platformą dla aplikacji mobilnych. Publikacja obejmuje zagadnienia projektowania, testowania, debugowania oraz rozpowszechniania profesjonalnych aplikacji mobilnych. Czytelnik znajdzie w niej ogólne informacje na temat platformy Android. Nauczy się podstaw projektowania interfejsów użytkownika, w tym interfejsu przechowywania danych, obsługi sieci, połączeń telefonicznych, usług lokalizacyjnych, multimediów i grafiki 3D. Uzyska informacje na temat organizacji procesu projektowania aplikacji mobilnych, skierowane do osób zarządzających projektem i programistów, jak też odpowiedzialnych za jakość oprogramowania. Książka jest przeznaczona dla doświadczonych programistów, którzy mogą w niej znaleźć liczne rady dotyczące projektowania aplikacji. Czytelnik mniej zaawansowany znajdzie w książce informacje ułatwiające rozpoczęcie przygody z pisaniem aplikacji na platformie Android. Dowie się, jak korzystać z emulatora i ze środowiska Eclipse.
-
Recenzja: mamstartup.pl Łukasz Tokarski, 2011-11-27Recenzja dotyczy produktu: ksiązka drukowanaCzy recenzja była pomocna:
Rynek smartfonów stale się rozrasta i coraz więcej film decyduje się na wypuszczanie aplikacji mobilnych. Zdecydowany bum przeżywa Android. Telefony z tym systemem cieszą się obecnie bardzo dużą popularnością. Warto więc pomyśleć o Androidzie jako platformie, na którą wyda się swoją pierwszą aplikację mobilną. Blokerem może się okazać brak developera. Rozwiązanie tej sytuacji może być całkiem proste... Dzięki uprzejmości wydawnictwa Helion, wpadła nam w ręce książka, która jest oparta o długoletnie doświadczenia autorów w zakresie programowania aplikacji na różne platformy. „Android. Programowanie aplikacji na urządzenia przenośne" autorstwa Shane'a Condera i Lauren Darcey jest wyczerpującym przewodnikiem kierowanym do programistów i zespołów zajmujących się tworzeniem aplikacji mobilnych. Autorzy posiadają szerokie doświadczenia programistyczne. Ponadto prowadzą wspólnie bloga o Androidzie. Dla kogo jest ta pozycja? Książka jest kierowana głównie do programistów, którzy posiadają już podstawy programowania w środowisku Java i chcieliby rozwijać swoje umiejętności w kierunku aplikacji mobilnych. Dla nich ta pozycja jest źródłem informacji, jak najlepiej wykorzystać możliwości Androida. Wiele przydatnych informacji znajdą tu też osoby odpowiedzialne za jakość produktów oraz zajmujące się testowaniem aplikacji. Dzięki szerokiemu zakresowi tematów, pozycja jest też przydatnym narzędziem dla kierowników projektów zarządzających zespołami tworzącymi aplikacje dla Androida. Dla pozostałych czytelników książka może być kompendium wiedzy o tym systemie - przykładowo każdy, kto ma pomysł na aplikację mobilną, będzie mógł sprawdzić czy Android jest odpowiednią platformą do realizacji jego planów. Książka dzieli się na sześć głównych części i siódmej z dodatkami: - Ogólne informacje o platformie Android. - Kluczowe informacje o konstrukcji aplikacji na Androida. - Kluczowe zagadnienia projektowania interfejsów użytkownika. - Najczęściej stosowane interfejsy programowania aplikacji na Androida. - Dodatkowe zasady projektowania aplikacji na Androida. - Wdrażanie aplikacji. - Dodatki. Szukając opinii programistów o tej pozycji, spotkałem się z różnymi odczuciami - dla części osób mających styczność z tą pozycją, książka jest praktyczna i pomocna, inni stawiali zarzuty o lanie wody i brak pełnych struktur kodu. Dla mnie (osoby nie zajmującej się programowaniem) pozycja okazała się bardzo przydatna ze względu na masę informacji dotyczących możliwości, jakie daje platforma Android oraz sporo ciekawej wiedzy na temat planowania prac przy projektach związanych z tworzeniem aplikacji.
Szczegóły książki
- Tytuł oryginału:
- Android Wireless Application Development (2nd Edition)
- Tłumaczenie:
- Piotr Rajca
- ISBN Książki drukowanej:
- 978-83-246-3349-4, 9788324633494
- Data wydania książki drukowanej :
- 2011-09-26
- Format:
- 170x230
- Numer z katalogu:
- 6616
- Przykłady na ftp
- Zgłoś erratę
- Kategorie:
Programowanie mobilne » Android
Spis treści książki
- Kto powinien przeczytać tę książkę (25)
- Kluczowe pytania, na jakie odpowiada ta książka (26)
- Struktura książki (27)
- Opis zmian wprowadzonych w tym wydaniu książki (28)
- Stosowane środowisko programistyczne (30)
- Dostępne materiały dodatkowe (30)
- Gdzie szukać dodatkowych informacji (30)
- Konwencje stosowane w książce (31)
- Kontakt z autorami (32)
- Krótka historia tworzenia aplikacji dla urządzeń przenośnych (35)
- Dawno, dawno temu (35)
- "Cegła" (38)
- Wireless Application Protocol (WAP) (39)
- Zastrzeżone platformy mobilne (42)
- Open Handset Alliance (44)
- Google staje się bezprzewodowy (44)
- Tworzenie Open Handset Alliance (45)
- Producenci - projektowanie telefonów dla Androida (46)
- Operatorzy - dostarczanie wrażeń (47)
- Dostawcy treści - tworzenie aplikacji na Androida (47)
- Wykorzystanie wszystkich możliwości Androida (48)
- Co wyróżnia platformę Android? (48)
- Android - platforma następnej generacji (49)
- Darmowy i otwarty (50)
- Znane i niedrogie narzędzia programistyczne (51)
- Rozsądny stopień trudności nauki programowania (51)
- Umożliwianie tworzenia potężnych aplikacji (51)
- Bogate i bezpieczne możliwości integracji aplikacji (52)
- Brak kosztownych przeszkód utrudniających publikację (52)
- "Otwarty rynek" aplikacji (53)
- Nowa, rozwijająca się platforma (54)
- Platforma Android (54)
- Architektura Androida (55)
- Bezpieczeństwo i uprawnienia (56)
- Pisanie aplikacji na Androida (58)
- Podsumowanie (60)
- Odwołania i inne źródła informacji (60)
- Konfiguracja środowiska programistycznego (61)
- Konfiguracja własnego systemu do debugowania urządzenia (62)
- Konfiguracja urządzenia do testowania (63)
- Aktualizacja Android SDK (64)
- Problemy z Android SDK (64)
- Poznajemy Android SDK (65)
- Zrozumienie postanowień licencji (65)
- Korzystanie z dokumentacji Android SDK (66)
- Prezentacja szkieletu programowania aplikacji (68)
- Poznawanie narzędzi Android SDK (69)
- Poznawanie aplikacji przykładowych (74)
- Podsumowanie (75)
- Odwołania i inne źródła informacji (75)
- Testowanie środowiska programistycznego (77)
- Dodawanie aplikacji Snake do projektu w przestrzeni roboczej Eclipse (78)
- Tworzenie wirtualnego urządzenia (AVD) na potrzeby projektu Snake (80)
- Tworzenie konfiguracji uruchomieniowej projektu Snake (82)
- Uruchamianie aplikacji Snake w emulatorze (84)
- Budowanie pierwszej aplikacji na Androida (85)
- Tworzenie i konfiguracja nowego projektu aplikacji (86)
- Podstawowe pliki i katalogi aplikacji na Androida (88)
- Tworzenie AVD na potrzeby projektu (89)
- Tworzenie konfiguracji uruchomieniowych dla projektu (90)
- Uruchamianie aplikacji w emulatorze (91)
- Debugowanie aplikacji w emulatorze (93)
- Dodawanie mechanizmów rejestracji do aplikacji (97)
- Dodawanie obsługi multimediów do aplikacji (99)
- Dodawanie do aplikacji usług lokalizacyjnych (100)
- Debugowanie aplikacji na fizycznym urządzeniu (103)
- Podsumowanie (105)
- Zasoby i inne źródła informacji (106)
- Opanowanie najważniejszej terminologii (109)
- Stosowanie kontekstu aplikacji (110)
- Pobieranie kontekstu aplikacji (110)
- Stosowanie kontekstu aplikacji (110)
- Realizacja działań przy użyciu aktywności (111)
- Cykl życia aktywności (112)
- Zarządzanie zmianami aktywności przy użyciu intencji (117)
- Praca z usługami (120)
- Odbieranie oraz rozgłaszanie intencji (121)
- Podsumowanie (122)
- Odwołania i inne źródła informacji (123)
- Konfiguracja pliku manifestu (125)
- Edycja pliku manifestu (126)
- Zarządzanie tożsamością aplikacji (131)
- Określanie wersji aplikacji (131)
- Określanie nazwy oraz ikony aplikacji (131)
- Określanie wymagań systemowych aplikacji (132)
- Określanie konkretnych wersji SDK (132)
- Ograniczenia związane z platformą (135)
- Korzystanie z zewnętrznych bibliotek (137)
- Rejestracja aktywności oraz innych komponentów aplikacji (138)
- Określanie aktywności będącej głównym punktem wejścia aplikacji przy użyciu filtra intencji (138)
- Konfiguracja innych filtrów intencji (139)
- Stosowanie uprawnień (140)
- Rejestracja uprawnień wymaganych przez aplikację (140)
- Rejestracja uprawnień przydzielanych innym aplikacjom (141)
- Poznawanie innych ustawień podawanych w manifeście (142)
- Podsumowanie (142)
- Odwołania i inne źródła informacji (143)
- Czym są zasoby? (145)
- Przechowywanie zasobów aplikacji (146)
- Zrozumienie hierarchii katalogów zasobów (146)
- Typy wartości zasobów (147)
- Przechowywanie zasobów różnych typów (149)
- Programowy dostęp do zasobów (152)
- Określanie wartości prostych zasobów w Eclipse (152)
- Praca z zasobami (156)
- Łańcuchy znaków (156)
- Stosowanie łańcuchów z zasobów do formatowania tekstów (157)
- Praca z tablicami łańcuchów znaków (159)
- Praca z wartościami logicznymi (159)
- Praca z liczbami całkowitymi (160)
- Praca z kolorami (161)
- Praca z wymiarami (162)
- Praca z prostymi zasobami graficznymi (163)
- Praca z obrazami (164)
- Praca z animacjami (166)
- Praca z menu (168)
- Praca z plikami XML (170)
- Praca z nieprzetworzonymi plikami (171)
- Odwołania do zasobów (171)
- Praca z układami (173)
- Praca ze stylami (178)
- Praca z tematami (181)
- Odwołania do zasobów systemowych (181)
- Podsumowanie (182)
- Odwołania i inne źródła informacji (183)
- Prezentacja widoków i układów (187)
- Prezentacja widoków (187)
- Prezentacja kontrolek (188)
- Prezentacja układów (188)
- Wyświetlanie tekstów przy użyciu TextView (189)
- Konfiguracja układu oraz określanie wymiarów (190)
- Umieszczanie w tekście kontekstowych odnośników (191)
- Pobieranie danych od użytkowników (192)
- Pobieranie danych przy użyciu kontrolek EditText (193)
- Kontrolka Spinner - zapewnianie możliwości wyboru (199)
- Stosowanie przycisków, pól wyboru oraz pól opcji (200)
- Stosowanie zwyczajnych przycisków (201)
- Stosowanie pól wyboru i przełączników (203)
- Stosowanie kontrolek RadioGroup oraz RadioButton (204)
- Pobieranie daty i godziny (206)
- Prezentacja danych przy użyciu wskaźników (208)
- Prezentacja postępów przy użyciu paska postępu (208)
- Modyfikacja postępu przy użyciu kontrolki SeekBar (211)
- Wyświetlanie oceny przy użyciu kontrolki RatingBar (212)
- Prezentacja upływu czasu przy użyciu minutnika (213)
- Wyświetlanie czasu (213)
- Prezentowanie menu opcji oraz menu kontekstowego (214)
- Edycja menu opcji (215)
- Obsługa zdarzeń generowanych przez użytkownika (219)
- Odbieranie informacji o zmianach trybu dotyku (219)
- Odbieranie zdarzeń dotyczących całego ekranu (221)
- Obsługa zdarzeń naciśnięcia i przytrzymania (222)
- Reagowanie na zmiany wybranej kontrolki (223)
- Stosowanie okien dialogowych (224)
- Różne typy okien dialogowych (224)
- Śledzenie cyklu życia okna dialogowego (225)
- Tworzenie własnych okien dialogowych (227)
- Stosowanie stylów (227)
- Stosowanie tematów (229)
- Podsumowanie (231)
- Tworzenie interfejsów użytkownika w systemie Android (233)
- Definiowanie układów w zasobach aplikacji (233)
- Programowe tworzenie układów (235)
- Organizacja interfejsu użytkownika aplikacji (238)
- Zrozumienie różnic między View i ViewGroup (238)
- Stosowanie wbudowanych układów (243)
- Układ FrameLayout (244)
- Układ LinearLayout (247)
- Układ RelativeLayout (247)
- Układ TableLayout (251)
- Stosowanie wielu układów jednocześnie (254)
- Stosowanie wbudowanych klas pojemników (255)
- Pojemniki działające w oparciu o dane (255)
- Organizacja interfejsu użytkownika przy wykorzystaniu zakładek (260)
- Dodawanie możliwości przewijania (264)
- Prezentacja innych rodzajów pojemników (265)
- Podsumowanie (266)
- Rysowanie na ekranie (267)
- Stosowanie obiektów Canvas oraz Paint (267)
- Wyświetlanie tekstów (272)
- Stosowanie domyślnych czcionek i ich krojów (272)
- Stosowanie własnych czcionek (273)
- Określanie wymiarów tekstu na ekranie (275)
- Wyświetlanie i operacje na grafice rastrowej (275)
- Wyświetlanie grafiki rastrowej (275)
- Skalowanie grafiki rastrowej (275)
- Macierzowe przekształcenia grafiki rastrowej (275)
- Wyświetlanie i operacje na kształtach (277)
- Definiowanie kształtów w postaci zasobów XML (277)
- Programowe definiowanie kształtów (278)
- Rysowanie różnych kształtów (279)
- Stosowanie animacji (285)
- Stosowanie animacji poklatkowych (286)
- Stosowanie animacji przejść (288)
- Podsumowanie (294)
- Korzystanie z preferencji aplikacji (297)
- Tworzenie właściwości prywatnych i wspólnych (298)
- Przeszukiwanie i odczyt preferencji (299)
- Dodawanie, aktualizacja oraz usuwanie preferencji (299)
- Odnajdywanie danych preferencji w systemie plików Androida (300)
- Obsługa plików i katalogów (301)
- Poznawanie zawartości katalogów aplikacji (301)
- Korzystanie z innych katalogów i plików w systemie Android (304)
- Przechowywanie danych strukturalnych w bazach danych SQLite (305)
- Tworzenie baz danych SQLite (307)
- Tworzenie, aktualizacja oraz usuwanie rekordów z baz danych (309)
- Wykonywanie zapytań w bazach danych SQLite (312)
- Zamykanie i usuwanie baz danych SQLite (317)
- Projektowanie trwałych baz danych (318)
- Kojarzenie danych z interfejsem użytkownika aplikacji (320)
- Podsumowanie (325)
- Odwołania oraz dodatkowe źródła informacji (326)
- Prezentacja dostawców treści (327)
- Stosowanie dostawcy treści MediaStore (328)
- Stosowanie dostawcy danych CallLog (329)
- Stosowanie dostawcy treści Browser (331)
- Stosowanie dostawcy treści Contacts (332)
- Stosowanie dostawcy treści UserDictionary (335)
- Stosowanie dostawcy treści Settings (336)
- Modyfikacja danych dostawców treści (336)
- Dodawanie rekordów (336)
- Aktualizacja rekordów (337)
- Usuwanie rekordów (338)
- Wzbogacanie możliwości aplikacji przy użyciu dostawców treści (338)
- Dostęp do zgromadzonych obrazów (339)
- Działanie jako dostawca treści (344)
- Implementacja interfejsu dostawcy treści (344)
- Definiowanie identyfikatora URI danych (345)
- Definiowanie kolumn danych (345)
- Implementacja metod dostawcy treści (346)
- Modyfikacja pliku manifestu (351)
- Aktywne foldery (352)
- Podsumowanie (355)
- Odwołania i inne źródła informacji (355)
- Podstawy operacji sieciowych na urządzeniach przenośnych (357)
- Dostęp do internetu (HTTP) (358)
- Odczytywanie danych z sieci (358)
- Stosowanie klasy HttpUrlConnection (359)
- Przetwarzanie kodu XML pobieranego z sieci (360)
- Przetwarzanie asynchroniczne (362)
- Stosowanie klasy AsyncTask (362)
- Zastosowanie wątków do obsługi operacji sieciowych (364)
- Wyświetlanie obrazów pobieranych z internetu (365)
- Pobieranie statusu połączenia sieciowego (367)
- Podsumowanie (369)
- Odwołania i inne źródła informacji (369)
- Przeglądanie WWW przy użyciu WebView (371)
- Projektowanie układu z kontrolką WebView (372)
- Wyświetlanie treści w kontrolce WebView (372)
- Wzbogacanie możliwości kontrolki WebView (374)
- Tworzenie rozszerzeń przy użyciu WebKit (378)
- Przegląd interfejsów mechanizmu WebKit (378)
- Tworzenie aplikacji internetowych w systemie Android (378)
- Stosowanie technologii Flash (383)
- Korzystanie z aplikacji napisanych w technologii Flash (384)
- Tworzenie aplikacji na Androida w technologii AIR (384)
- Podsumowanie (385)
- Odwołania i dodatkowe źródła informacji (386)
- Stosowanie usług GPS (387)
- Korzystanie z możliwości GPS w aplikacji (388)
- Określanie położenia (388)
- Określanie położenia w emulatorze (390)
- Geokodowanie lokalizacji (391)
- Prezentacja lokalizacji na mapie (394)
- Intencje wykorzystujące mapy (394)
- Kontrolka mapy (396)
- Pobieranie testowego klucza API (397)
- Przesuwanie mapy (399)
- Powiększanie mapy (400)
- Zaznaczanie miejsc (401)
- Inne możliwości, jakie zapewniają usługi lokalizacyjne (406)
- Podsumowanie (407)
- Odwołania i inne źródła informacji (407)
- Korzystanie z multimediów (409)
- Korzystanie ze zdjęć (410)
- Rejestracja zdjęć przy użyciu aparatu fotograficznego (410)
- Konfiguracja trybu działania aparatu (415)
- Współdzielenie zdjęć (416)
- Stosowanie obrazów jako tapet (417)
- Korzystanie z wideo (418)
- Rejestracja wideo (418)
- Odtwarzanie obrazu wideo (419)
- Rejestracja i odtwarzanie dźwięków (421)
- Rejestracja dźwięków (421)
- Odtwarzanie plików dźwiękowych (423)
- Współdzielenie plików dźwiękowych (424)
- Poszukiwanie multimediów (425)
- Korzystanie z dzwonków (425)
- Podsumowanie (426)
- Odwołania i inne źródła informacji (426)
- Korzystanie z narzędzi telefonii (427)
- Uzyskiwanie uprawnień do pobierania statusu telefonu (428)
- Pobieranie informacji o stanie rozmowy (428)
- Pobieranie informacji o usłudze (430)
- Monitorowanie siły sygnału i szybkości połączenia (431)
- Obsługa numerów telefonicznych (431)
- Korzystanie z krótkich wiadomości tekstowych (432)
- Uzyskiwanie uprawnień do wysyłania SMS-ów (433)
- Wysyłanie wiadomości tekstowych (433)
- Odbieranie SMS-ów (435)
- Nawiązywanie i odbieranie połączeń telefonicznych (437)
- Nawiązywanie połączeń telefonicznych (437)
- Odbieranie połączeń telefonicznych (438)
- Podsumowanie (439)
- Odwołania i inne źródła informacji (440)
- Stosowanie OpenGL ES (441)
- Stosowanie OpenGL ES w Androidzie (442)
- Zapewnianie zgodności urządzeń (443)
- Korzystanie z biblioteki OpenGL ES w Androidzie (443)
- Ręczna obsługa OpenGL ES (444)
- Tworzenie obiektu SurfaceView (445)
- Uruchamianie wątku dla operacji OpenGL ES (446)
- Inicjalizacja biblioteki EGL (448)
- Inicjalizacja biblioteki GL (450)
- Rysowanie na ekranie (450)
- Rysowanie obiektów trójwymiarowych (452)
- Rysowanie wierzchołków (452)
- Kolorowanie wierzchołków (453)
- Rysowanie bardziej złożonych obiektów (453)
- Oświetlanie sceny (455)
- Dodawanie tekstur do obiektów (457)
- Interakcja z kontrolkami i zdarzeniami systemu Android (459)
- Zapewnianie komunikacji pomiędzy wątkiem OpenGL i wątkiem aplikacji (460)
- Zapewnianie możliwości przesyłania danych z wątku aplikacji do wątku OpenGL (461)
- Zwalnianie zasobów OpenGL ES (464)
- Stosowanie klasy GLSurfaceView (prosty sposób na OpenGL ES) (464)
- Stosowanie OpenGL ES 2.0 (467)
- Konfiguracja aplikacji w celu korzystania z OpenGL 2.0 (468)
- Pobieranie powierzchni OpenGL ES 2.0 (468)
- Podsumowanie (472)
- Odwołania i inne źródła informacji (473)
- Określanie, kiedy warto użyć NDK (475)
- Instalacja Android NDK (476)
- Prezentacja Android NDK (477)
- Uruchamianie aplikacji przykładowej (477)
- Tworzenie własnego projektu NDK (478)
- Wywoływanie kodu rodzimego z poziomu Javy (478)
- Obsługa parametrów i wartości wynikowych (480)
- Stosowanie wyjątków w kodzie rodzimym (480)
- Poprawa wydajności generowania grafiki (482)
- Podsumowanie (483)
- Odwołania i inne źródła informacji (484)
- Interakcja z komponentami sprzętowymi urządzenia (485)
- Korzystanie z czujników (486)
- Korzystanie z różnych czujników (487)
- Uzyskiwanie dostępu do czujnika (488)
- Odczyt danych z czujnika (488)
- Kalibracja czujników (490)
- Określanie położenia (490)
- Odnajdywanie północy (491)
- Korzystanie z Wi-Fi (491)
- Korzystanie z technologii Bluetooth (494)
- Sprawdzanie dostępności komponentów sprzętowych (495)
- Włączanie komunikacji Bluetooth (495)
- Poszukiwanie sparowanych urządzeń (495)
- Odkrywanie urządzeń (496)
- Nawiązywanie połączenia pomiędzy dwoma urządzeniami (496)
- Monitorowanie stanu baterii (497)
- Podsumowanie (500)
- Odwołania i inne źródła informacji (501)
- Powiadamianie użytkownika (505)
- Powiadomienia na pasku stanu (506)
- Stosowanie usługi NotificationManager (507)
- Tworzenie prostego powiadomienia z ikoną (507)
- Obsługa kolejki powiadomień (508)
- Aktualizacja powiadomień (510)
- Usuwanie powiadomień (511)
- Stosowanie wibracji (511)
- Błyskanie (512)
- Stosowanie dźwięków (514)
- Określanie postaci powiadomień (515)
- Projektowanie użytecznych powiadomień (517)
- Podsumowanie (517)
- Odwołania i inne źródła informacji (518)
- Określanie, kiedy należy użyć usługi (519)
- Prezentacja cyklu życia usługi (520)
- Tworzenie usługi (521)
- Kontrola działania usługi (526)
- Implementacja zdalnego interfejsu (527)
- Implementacja klasy Parcelable (529)
- Podsumowanie (532)
- Odwołania i inne źródła informacji (532)
- Wzbogacanie aplikacji (533)
- Tworzenie widżetów aplikacji (534)
- Tworzenie widżetu aplikacji (535)
- Instalacja widżetu (543)
- Hosty widżetów (544)
- Animowane tapety (545)
- Tworzenie animowanej tapety (545)
- Instalacja animowanej tapety (549)
- Obsługa konkretnego typu danych (549)
- Określanie akcji intencji oraz typów MIME (551)
- Implementacja aktywności do obsługi intencji (551)
- Rejestracja filtra intencji (552)
- Zapewnianie możliwości przeszukiwania treści aplikacji (553)
- Zapewnianie możliwości przeszukiwania wewnątrz aplikacji (555)
- Zapewnianie możliwości korzystania z wyszukiwania globalnego (562)
- Korzystanie z aktywnych folderów (565)
- Tworzenie aktywnego folderu (566)
- Instalacja aktywnego folderu (570)
- Podsumowanie (571)
- Odwołania i inne źródła informacji (572)
- Zarządzanie kontami przy użyciu menedżera kont (573)
- Synchronizacja danych przy użyciu adapterów synchronizacji (575)
- Korzystanie z usług tworzenia kopii zapasowych (576)
- Wybór zdalnej usługi tworzenia kopii (576)
- Implementacja agenta archiwizacji (577)
- Tworzenie kopii i odtwarzanie danych aplikacji (581)
- Podsumowanie (582)
- Odwołania i inne źródła informacji (582)
- Stosowanie różnych metod wprowadzania tekstów (585)
- Stosowanie klawiatur programowych (586)
- Korzystanie z przewidywania tekstu i słowników użytkownika (589)
- Przedstawienie szkieletu ułatwień dostępu (589)
- Korzystanie z usług rozpoznawania mowy (591)
- Korzystanie z usług odczytywania tekstów (593)
- Korzystanie z gestów (596)
- Wykrywanie ruchów w widokach (596)
- Obsługa popularnych gestów wykonywanych jednym palcem (597)
- Obsługa gestów wielodotyku (604)
- Zapewnianie bardziej naturalnego wyglądu gestów (607)
- Korzystanie z manipulatora kulowego (607)
- Obsługa zmian orientacji ekranu (607)
- Podsumowanie (610)
- Odwołania i inne źródła informacji (611)
- Maksymalizowanie zgodności aplikacji (613)
- Projektowanie interfejsu użytkownika
pod kątem zachowania zgodności (615)
- Obsługa konkretnych typów ekranów (617)
- Korzystanie z grafiki typu Nine-Patch Stretchable Graphics (617)
- Stosowanie zasady kwadratu roboczego (621)
- Stosowanie zasobów alternatywnych (622)
- Kwalifikatory zasobów alternatywnych (622)
- Tworzenie zasobów na potrzeby działania przy różnej orientacji ekranu (628)
- Programowe stosowanie zasobów alternatywnych (629)
- Określanie efektywnej organizacji zasobów (630)
- Umiędzynarodawianie aplikacji (632)
- Umiędzynarodawianie przy wykorzystaniu zasobów alternatywnych (632)
- Programowa obsługa ustawień lokalnych (637)
- Obsługa różnych konfiguracji urządzeń (638)
- Obsługa konfiguracji sprzętowych (639)
- Określanie wersji Android SDK, na jakich działa aplikacja (640)
- Podsumowanie (643)
- Odwołania i inne źródła informacji (643)
- Prezentacja procesu tworzenia oprogramowania mobilnego (647)
- Wybór metodologii tworzenia oprogramowania (648)
- Zrozumienie niebezpieczeństw metody kaskadowej (648)
- Zrozumienie znaczenia powtarzania (649)
- Gromadzenie wymagań aplikacji (649)
- Określanie wymagań projektowych (650)
- Tworzenie przypadków użycia oprogramowania mobilnego (652)
- Dołączanie wymagań innych podmiotów (652)
- Zarządzanie bazą danych urządzeń (653)
- Szacowanie ryzyka związanego z projektem (656)
- Określanie urządzeń docelowych (656)
- Pozyskiwanie urządzeń docelowych (658)
- Określanie możliwości zaspokojenia wymagań aplikacji (659)
- Rozumienie ryzyka związanego z zapewnianiem jakości (659)
- Pisanie ważnej dokumentacji projektowej (661)
- Tworzenie planów testowania na potrzeby kontroli jakości (662)
- Dostarczanie dokumentacji wymaganej przez inne podmioty (662)
- Dokumentacja na potrzeby utrzymania i przenoszenia (662)
- Korzystanie z systemów zarządzania konfiguracjami (663)
- Wybór systemu zarządzania kodem źródłowym (663)
- Implementacja działającego systemu numeracji wersji aplikacji (663)
- Projektowanie aplikacji mobilnych (664)
- Znajomość ograniczeń urządzeń przenośnych (664)
- Poznawanie wspólnych architektur aplikacji mobilnych (664)
- Projektowanie aplikacji pod kątem jej rozszerzania i pielęgnacji (665)
- Projektowanie pod kątem możliwości współdziałania aplikacji (667)
- Tworzenie aplikacji na urządzenia przenośne (667)
- Testowanie aplikacji na urządzenia przenośne (668)
- Wdrażanie aplikacji mobilnych (668)
- Określanie rynków docelowych (669)
- Wsparcie i pielęgnacja oprogramowania mobilnego (669)
- Śledzenie i weryfikacja informacji o awariach (669)
- Testowanie aktualizacji oprogramowania układowego (670)
- Prowadzenie odpowiedniej dokumentacji aplikacji (670)
- Wprowadzanie zmian na działającym serwerze (670)
- Określanie możliwości przenoszenia aplikacji obciążonego niewielkim ryzykiem (670)
- Podsumowanie (671)
- Odwołania i dodatkowe źródła informacji (671)
- Najlepsze praktyki projektowania niezawodnych aplikacji mobilnych (673)
- Zaspokajanie wymagań użytkowników urządzeń przenośnych (674)
- Projektowanie interfejsu użytkownika aplikacji mobilnych (675)
- Projektowanie stabilnych i szybko reagujących aplikacji mobilnych (676)
- Projektowanie bezpiecznych aplikacji mobilnych (678)
- Projektowanie aplikacji w celu maksymalizacji zysków (679)
- Korzystanie ze standardów projektowania aplikacji opracowanych przez innych (680)
- Projektowanie aplikacji pod kątem prostoty ich utrzymania i aktualizacji (680)
- Projektowanie aplikacji przy wykorzystaniu narzędzi Androida (682)
- Unikanie głupich błędów podczas projektowania
aplikacji na Androida (683)
- Najlepsze praktyki stosowane przy tworzeniu niezawodnego oprogramowania mobilnego (683)
- Określanie procesu produkcyjnego dostosowanego do tworzenia oprogramowania mobilnego (684)
- Wczesne i częste testowanie możliwości wykonania projektu (684)
- Stosowanie standardów kodowania, weryfikacji i testów jednostkowych w celu poprawienia jakości kodu (685)
- Obsługa usterek występujących na jednym urządzeniu (688)
- Korzystanie z narzędzi Androida przy pisaniu aplikacji (689)
- Unikanie głupich błędów podczas tworzenia aplikacji na Androida (689)
- Podsumowanie (689)
- Odwołania i inne źródła informacji (690)
- Najlepsze praktyki testowania oprogramowania
na urządzenia przenośne (691)
- Projektowanie systemu rejestracji defektów na potrzeby tworzenia oprogramowania mobilnego (691)
- Zarządzanie środowiskiem testowym (693)
- Maksymalizacja pokrycia testów (696)
- Stosowanie narzędzi do testowania aplikacji na Androida (704)
- Unikanie głupich błędów podczas testowania aplikacji na Androida (705)
- Korzystanie z usług testowania aplikacji (706)
- Podsumowanie (706)
- Odwołania i inne źródła informacji (706)
- Wybór odpowiedniego modelu dystrybucji (709)
- Przygotowywanie aplikacji do publikacji (710)
- Przygotowanie kodu do utworzenia pakietu instalacyjnego (711)
- Tworzenie pakietu aplikacji i jego podpisywanie (713)
- Testowanie publikowanej wersji pakietu aplikacji (716)
- Certyfikacja aplikacji na Androida (716)
- Dystrybucja aplikacji (717)
- Sprzedawanie aplikacji w Android Market (717)
- Sprzedawanie aplikacji na własnym serwerze (724)
- Korzystanie z innych sposobów sprzedawania aplikacji (725)
- Ochrona własności intelektualnej (726)
- Pobieranie opłat od użytkowników (727)
- Podsumowanie (727)
- Odwołania i inne źródła informacji (728)
- Symulacja rzeczywistości - przeznaczenie emulatora (731)
- Korzystanie z różnych urządzeń wirtualnych (AVD) (733)
- Stosowanie narzędzia Android SDK and AVD Manager (734)
- Tworzenie AVD (735)
- Uruchamianie emulatora z użyciem konkretnego AVD (740)
- Konfiguracja opcji uruchomieniowych emulatora (741)
- Uruchamianie emulatora w celu wykonania aplikacji (741)
- Uruchamianie emulatora z poziomu programu Android SDK and AVD Manager (743)
- Konfiguracja położenia GPS w emulatorze (744)
- Nawiązywanie połączeń telefonicznych
pomiędzy dwoma egzemplarzami emulatora (745)
- Przesyłanie SMS-ów pomiędzy dwoma egzemplarzami emulatora (747)
- Interakcja z emulatorem z poziomu konsoli (749)
- Wykorzystanie konsoli do symulowania odbieranych połączeń (750)
- Stosowanie konsoli do symulowania wiadomości SMS (751)
- Stosowanie konsoli do przesyłania współrzędnych GPS (752)
- Stosowanie konsoli do monitorowania transmisji sieciowych (752)
- Stosowanie konsoli do modyfikowania ustawień zasilania (752)
- Inne polecenia konsoli emulatora (753)
- Korzystanie z emulatora dla zabawy (754)
- Ograniczenia emulatora (755)
- Korzystanie z DDMS jako niezależnej aplikacji oraz w Eclipse (757)
- Szybka prezentacja kluczowych możliwości DDMS (758)
- Obsługa procesów (760)
- Dołączanie debugera do aplikacji (760)
- Monitorowanie aktywności wątku aplikacji (761)
- Żądanie oczyszczenia pamięci (762)
- Monitorowanie operacji wykonywanych na stercie (762)
- Monitorowanie przydzielanej pamięci (763)
- Zatrzymywanie procesu (763)
- Zarządzanie plikami (764)
- Przeglądanie systemu plików w emulatorze lub na urządzeniu (764)
- Kopiowanie plików z emulatora lub urządzenia (765)
- Kopiowanie plików do emulatora lub urządzenia (765)
- Usuwanie plików na emulatorze lub urządzeniu (765)
- Stosowanie zakładki Emulator Control (766)
- Symulowanie przychodzących połączeń telefonicznych (766)
- Symulowanie nadsyłanych wiadomości SMS (766)
- Przesyłanie współrzędnych geograficznych (767)
- Korzystanie z mechanizmów rejestracji komunikatów (767)
- Wykonywanie zrzutów ekranu z emulatora lub urządzenia (768)
- Wyświetlanie listy podłączonych urządzeń
i uruchomionych emulatorów (771)
- Kierowanie poleceń ADB do konkretnych urządzeń (772)
- Uruchamianie i zatrzymywanie serwera ADB (772)
- Zatrzymywanie procesu serwera ADB (773)
- Uruchamianie i sprawdzanie procesu serwera ADB (773)
- Wykonywanie poleceń powłoki (773)
- Wydawanie pojedynczych poleceń powłoki (773)
- Stosowanie sesji (773)
- Zastosowanie powłoki do uruchamiania i zatrzymywania emulatora (774)
- Kopiowanie plików (774)
- Wysyłanie plików do urządzenia lub emulatora (775)
- Pobieranie plików z urządzenia lub emulatora (775)
- Instalowanie i usuwanie aplikacji (775)
- Instalowanie aplikacji (776)
- Ponowna instalacja aplikacji (776)
- Deinstalacja aplikacji (776)
- Korzystanie z narzędzia LogCat (776)
- Wyświetlanie wszystkich zarejestrowanych komunikatów (777)
- Prezentowanie daty i godziny (777)
- Filtrowanie prezentowanych informacji (777)
- Czyszczenie listy komunikatów (779)
- Przekierowywanie prezentowanych informacji do pliku (779)
- Dostęp do innych dzienników (779)
- Kontrola usługi kopii zapasowej (779)
- Wymuszanie sporządzenia kopii zapasowej (780)
- Wymuszanie odtworzenia danych (780)
- Usuwanie kopii zapasowej (781)
- Generacja raportu o błędach (781)
- Korzystanie z powłoki do wykonywania operacji
na bazach danych SQLite (781)
- Korzystanie z powłoki do testowania aplikacji w warunkach zwiększonego obciążenia (781)
- Małpia zabawa z aplikacją (782)
- Odbieranie informacji o działaniach programu monkey (782)
- Określanie czynności symulowanych przez program monkey (782)
- Powtarzanie tych samych operacji (784)
- Kontrola działania programu (784)
- Dokładniejsze poznanie programu monkey (785)
- Instalowanie niestandardowych programów binarnych (785)
- Poznawanie innych poleceń ADB (786)
- Organizacja przestrzeni roboczej (787)
- Integracja z usługami kontroli wersji (787)
- Zmiana położenia zakładek w perspektywie (788)
- Maksymalizacja okien (788)
- Minimalizacja okien (788)
- Umieszczanie okien obok siebie (789)
- Wyświetlanie dwóch fragmentów tego samego pliku (789)
- Zamykanie niepotrzebnych zakładek (789)
- Zachowanie kontroli nad oknami (789)
- Tworzenie własnych filtrów dziennika (790)
- Pisanie kodu w języku Java (790)
- Automatyczne uzupełnianie (790)
- Formatowanie kodu (791)
- Tworzenie nowych klas (791)
- Tworzenie nowych metod (791)
- Organizacja instrukcji import (792)
- Modyfikacja niemal wszystkich nazw (792)
- Refaktoryzacja kodu (793)
- Stosowanie narzędzia Extract Local Variable (793)
- Reorganizacja kodu (794)
- Tworzenie dokumentacji Javadoc (795)
- Wyjaśnianie tajemniczych błędów (795)
- Podstawowe czynności obsługi baz SQLite (797)
- Stosowanie programu sqlite3 (798)
- Uruchamianie powłoki ADB (798)
- Nawiązywanie połączenia z bazą danych SQLite (799)
- Przeglądanie baz danych (799)
- Importowanie oraz eksportowanie baz danych i ich zawartości (800)
- Wykonywanie poleceń SQL w wierszu poleceń (802)
- Stosowanie innych poleceń sqlite3 (803)
- Znajomość ograniczeń baz danych SQLite (803)
- Nauka na przykładach - baza ocen uczniów (804)
- Projektowanie struktury bazy danych ocen (805)
- Tworzenie prostej tabeli z kolumną AUTOINCREMENT (805)
- Zapisywanie danych w tabelach (806)
- Pobieranie informacji z tabel przy użyciu polecenia SELECT (806)
- Stosowanie kluczy obcych oraz złożonych kluczy głównych (807)
- Modyfikowanie i aktualizacja danych (808)
- Pobieranie danych z kilku tabel przy użyciu złączeń (809)
- Stosowanie kolumn o obliczanych wartościach (810)
- Wyliczanie wartości kolumn przy użyciu podzapytań (811)
- Usuwanie tabel (811)
O autorach (23)
Wprowadzenie (25)
Część I: Ogólne informacje o platformie Android (33)
Rozdział 1. Prezentacja systemu Android (35)
Rozdział 2. Przygotowywanie środowiska programistycznego (61)
Rozdział 3. Pierwsza aplikacja na Androida (77)
Część II: Kluczowe informacje
o konstrukcji aplikacji na Androida (107)
Rozdział 4. Anatomia aplikacji na Androida (109)
Rozdział 5. Definiowanie aplikacji przy użyciu pliku manifestu (125)
Rozdział 6. Zarządzanie zasobami aplikacji (145)
Część III: Kluczowe zagadnienia
projektowania interfejsów użytkownika (185)
Rozdział 7. Prezentacja wizualnych elementów interfejsu użytkownika (187)
Rozdział 8. Projektowanie interfejsów użytkownika z użyciem układów (233)
Rozdział 9. Rysowanie i korzystanie z animacji (267)
Część IV: Najczęściej stosowane interfejsy
programowania aplikacji na Androida (295)
Rozdział 10. Obsługa danych i składowanie (297)
Rozdział 11. Udostępnianie danych pomiędzy aplikacjami
przy użyciu dostawców treści (327)
Rozdział 12. Obsługa operacji sieciowych (357)
Rozdział 13. Obsługa WWW (371)
Rozdział 14. Korzystanie z usług lokalizacyjnych (387)
Rozdział 15. Obsługa multimediów (409)
Rozdział 16. Obsługa telefonii (427)
Rozdział 17. Obsługa grafiki 3D przy użyciu OpenGL ES (441)
Rozdział 18. Stosowanie Android NDK (475)
Rozdział 19. Korzystanie z opcjonalnych komponentów sprzętowych (485)
Część V: Dodatkowe zasady projektowania aplikacji na Androida (503)
Rozdział 20. Stosowanie powiadomień (505)
Rozdział 21. Stosowanie usług (519)
Rozdział 22. Poszerzanie zasięgu aplikacji (533)
Rozdział 23. Zarządzanie kontami użytkownika
oraz synchronizacja jego danych (573)
Rozdział 24. Zaawansowane sposoby obsługi wprowadzania danych (585)
Rozdział 25. Przygotowywanie aplikacji dla różnych konfiguracji sprzętowych i języków (613)
Część VI: Wdrażanie aplikacji (645)
Rozdział 26. Proces tworzenia oprogramowania mobilnego (647)
Rozdział 27. Projektowanie i tworzenie
niezawodnych aplikacji na Androida (673)
Rozdział 28. Testowanie aplikacji na Androida (691)
Rozdział 29. Sprzedawanie aplikacji na Androida (709)
Dodatki (729)
Dodatek A: Krótki przewodnik po emulatorze Androida (731)
Dodatek B: Krótki przewodnik po DDMS (757)
Dodatek C: Krótki przewodnik po ADB (771)
Dodatek D: Sztuczki i triki podczas korzystania z Eclipse IDE (787)
Dodatek E: Przewodnik po SQLite dla początkujących (797)
Skorowidz (813)
Helion - inne książki
-
Promocja
Ta książka szczególnie przyda się osobom, które rozpoczynają pracę z Angularem. Dzięki niej szybko zaczniesz tworzyć aplikacje z wykorzystaniem wiersza poleceń (CLI), pisać testy jednostkowe i używać stylów zgodnych ze standardem Material Design. Dowiesz się również, jak wdrażać aplikacje w środowisku produkcyjnym. W tym wydaniu zaprezentowano wiele nowych funkcjonalności i praktyk ułatwiających pracę twórcom frontendów. Dodano nowy rozdział poświęcony klasie Observable i bibliotece RxJS, a także rozszerzono zakres informacji o obsłudze błędów i debugowaniu w Angularze. Poszczególne zagadnienia zostały zilustrowane przykładami rzeczywistych rozwiązań, a prezentowany kod powstał zgodnie z najlepszymi praktykami programistycznymi.- Druk
- PDF + ePub + Mobi pkt
(53,40 zł najniższa cena z 30 dni)
57.84 zł
89.00 zł (-35%) -
Promocja
To książka przeznaczona dla osób, które pracują ze zbiorami danych. Jest praktycznym przewodnikiem po koncepcjach algebry liniowej, pomyślanym tak, by ułatwić ich zrozumienie i zastosowanie w użytecznych obliczeniach. Poszczególne zagadnienia przedstawiono za pomocą kodu Pythona, wraz z przykładami ich wykorzystania w nauce o danych, uczeniu maszynowym, uczeniu głębokim, symulacjach i przetwarzaniu danych biomedycznych. Dzięki podręcznikowi nauczysz się arytmetyki macierzowej, poznasz istotne rozkłady macierzy, w tym LU i QR, a także rozkład według wartości osobliwych, zapoznasz się też z takimi zagadnieniami jak model najmniejszych kwadratów i analiza głównych składowych.- Druk
- PDF + ePub + Mobi pkt
(46,20 zł najniższa cena z 30 dni)
50.05 zł
77.00 zł (-35%) -
Promocja
Skupiamy się w niej na prostych projektach z użyciem legendarnego układu scalonego 555, określanego też jako NE 555. Jest to chip, który pozwala na realizację wielu funkcji, na przykład skonstruowanie układu czasowego czy multiwibratora. Zaprojektowany i skonstruowany przez Hansa R. Camenzinda w 1970 roku, zrobił niesamowitą karierę - jeszcze na początku XXI wieku co roku na potrzeby przemysłu powstawał miliard takich układów. Teraz o wszechstronności NE 555 możesz się przekonać osobiście, projektując i uruchamiając między innymi różnego rodzaju czujniki, generatory, lampki czy mierniki czasu. Sprawdź, jak szerokie zastosowanie ma NE 555!- Druk
- PDF + ePub + Mobi pkt
(29,94 zł najniższa cena z 30 dni)
32.43 zł
49.90 zł (-35%) -
Promocja
Oto praktyczny, przystępnie napisany przewodnik, który stanowi wprowadzenie do pracy z technologią Blazor. Opisuje możliwości modeli Server i WebAssembly, przedstawia także krok po kroku proces powstawania aplikacji internetowej. Dzięki temu płynnie przejdziesz do tworzenia projektów Blazor, nauczysz się składni języka Razor, będziesz też weryfikować zawartość formularzy i budować własne komponenty. W tym wydaniu omówiono również generatory kodu źródłowego i zasady przenoszenia komponentów witryn utworzonych w innych technologiach do platformy Blazor. W trakcie lektury dowiesz się, jak tworzyć uniwersalne aplikacje za pomocą wersji Blazor Hybrid wraz z platformą .NET MAUI.- Druk
- PDF + ePub + Mobi pkt
(41,40 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł (-35%) -
Promocja
Jeśli słowo „szyfr” budzi w Tobie przyjemny dreszczyk emocji, mamy dla Ciebie prawdziwą gratkę. Już za chwilę poznasz największe tajemnice ludzkości. Prezentowane w tej książce tajemnicze kody służyły dyplomatom, armiom pierwszej i drugiej wojny światowej, wreszcie zimnowojennym szpiegom. Były kamyczkami, które wywołały lawinę rewolucji informatycznej. Bez żadnej przesady - oto szyfry, które decydowały o losach świata. I wciąż o nich decydują.- Druk
- PDF + ePub + Mobi pkt
(23,40 zł najniższa cena z 30 dni)
23.40 zł
39.00 zł (-40%) -
Promocja
Ta książka stanowi wszechstronne omówienie wszystkich bibliotek Pythona, potrzebnych naukowcom i specjalistom pracującym z danymi. Znalazł się tu dokładny opis IPythona, NumPy, Pandas, Matplotlib, Scikit-Learn i innych narzędzi. Podręcznik uwzględnia przede wszystkim ich aspekty praktyczne, dzięki czemu świetnie się sprawdzi w rozwiązywaniu codziennych problemów z manipulowaniem, przekształcaniem, oczyszczaniem i wizualizacją różnych typów danych, a także jako pomoc podczas tworzenia modeli statystycznych i modeli uczenia maszynowego. Docenią go wszyscy, którzy zajmują się obliczeniami naukowymi w Pythonie.- Druk
- PDF + ePub + Mobi pkt
(77,40 zł najniższa cena z 30 dni)
83.85 zł
129.00 zł (-35%) -
Promocja
Z tą książką stopniowo nauczysz się prostego, podstawowego kodu, a potem bardziej złożonych instrukcji AVX. Nabierzesz wprawy w czytaniu kodu asemblera i zaczniesz łączyć go z kodem w językach wyższego poziomu. Co ważniejsze, teorię ograniczono tu do niezbędnego minimum, za to dokładnie opisano dostępne narzędzia, omówiono sposób ich użytkowania i możliwe problemy. Kod natomiast został zaprezentowany w postaci kompletnych programów asemblera, co pozwoli Ci na dowolne testowanie, zmienianie i inne eksperymenty. W ten sposób przygotujesz się do samodzielnego badania różnych obszarów AVX i korzystania z oficjalnych podręczników Intela.- Druk
- PDF + ePub + Mobi pkt
(46,20 zł najniższa cena z 30 dni)
50.05 zł
77.00 zł (-35%) -
Bestseller Promocja
To trzecie, zaktualizowane i uzupełnione wydanie bestsellerowego podręcznika programowania w Pythonie. Naukę rozpoczniesz od podstawowych koncepcji programowania. Poznasz takie pojęcia jak zmienne, listy, klasy i pętle, a następnie utrwalisz je dzięki praktycznym ćwiczeniom. Dowiesz się, jak zapewnić interaktywność programom, i nauczysz się poprawnego testowania kodu przed dodaniem go do projektu. W kolejnych rozdziałach przystąpisz do praktycznej realizacji trzech projektów: gry zręcznościowej inspirowanej klasyczną Space Invaders, wizualizacji danych za pomocą dostępnych dla Pythona niezwykle użytecznych bibliotek i prostej aplikacji internetowej, gotowej do wdrożenia na serwerze WWW i opublikowania w internecie.- Druk
- PDF + ePub + Mobi pkt
(71,40 zł najniższa cena z 30 dni)
77.35 zł
119.00 zł (-35%) -
Promocja
To książka przeznaczona dla profesjonalnych administratorów i użytkowników Linuksa. Dzięki niej szybciej zrozumiesz, w jakim stopniu dobre zarządzanie systemami na poziomie systemu operacyjnego może wynieść działanie infrastruktury biznesowej na zupełnie inny poziom. Znajdziesz tu najlepsze praktyki zarządzania systemami ― począwszy od wyboru optymalnej dystrybucji Linuksa, poprzez zaprojektowanie architektury systemu, skończywszy na strategiach zarządzania przeprowadzanymi w nim poprawkami i aktualizacjami. Sporo miejsca poświęcono różnym metodom automatyzacji części zadań administratora, a także schematom tworzenia kopii zapasowych i odzyskiwania danych po awarii. Zaproponowano również ciekawe podejście do rozwiązywania problemów, dzięki któremu można szybciej uzyskać satysfakcjonujące rozwiązanie i uniknąć poważniejszych szkód.- Druk
- PDF + ePub + Mobi pkt
(53,40 zł najniższa cena z 30 dni)
57.84 zł
89.00 zł (-35%) -
Promocja
Scrum to sposób na kreatywność i współpracę w każdym projekcie. Książka Scrum dla bystrzaków wprowadzi Cię w ten popularny świat zwinnych ram postępowania w zakresie zarządzania projektami i pokaże, jak Scrum pomaga w pobudzaniu innowacyjności w każdej firmie lub branży, a nawet w życiu prywatnym. Nie musisz być programistą, by korzystać ze sprintów i z innych cech charakterystycznych dla scrumowej metody. Uratuj więcej istnień ludzkich, polepsz edukację swoich dzieci, zoptymalizuj strategię publikacji, zwiększ lojalność klientów, zarządzaj portfelem emerytalnym, zaplanuj ślub — masz nieograniczone możliwości. Stosuj Scruma, by osiągać cele — ten przewodnik pokaże Ci, jak to zrobić.- Druk
- PDF + ePub + Mobi pkt
(41,40 zł najniższa cena z 30 dni)
44.85 zł
69.00 zł (-35%)
Zamknij
Przeczytaj darmowy fragment
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@helion.pl
Proszę wybrać ocenę!
Proszę wpisać opinię!
Książka drukowana
Proszę czekać...
Oceny i opinie klientów: Android. Programowanie aplikacji na urządzenia przenośne. Wydanie II Shane Conder, Lauren Darcey (12) 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.
(2)
(3)
(1)
(3)
(1)
(2)
więcej opinii
ukryj opinie