Деталі електронної книги

Android w praktyce

Android w praktyce

Charlie Collins, Matthias Kaeppler, Michael Galpin

Eлектронна книга

Najlepsze techniki programowania na Androida w zasięgu ręki!

Nietrudno jest znaleźć informacje potrzebne do stworzenia pierwszej aplikacji na Androida. Ale co dalej? Im głębiej zanurzymy się w świat urządzeń mobilnych, tym częściej trafiać będziemy na pułapki i ślepe uliczki. Na ratunek przychodzi książka "Android w praktyce". Nie znajdziesz tu jednak żadnych banalnych informacji. Ta książka to bogate źródło wskazówek, sztuczek i najlepszych praktyk z obszaru tworzenia aplikacji na Androida, obejmująca ponad dziewięćdziesiąt pomysłowych i przydatnych technik, dzięki którym staniesz się lepszym programistą.

W trakcie lektury zobaczysz, jak tworzyć precyzyjne (co do piksela) elementy graficzne, zarządzać zadaniami wykonywanymi w tle oraz równoległymi wątkami. Ponadto sprawdzisz, jak współużytkować dane między aplikacjami oraz komunikować się z usługami sieciowymi. To tylko niektóre z tematów poruszonych w tej wyjątkowej książce, poświęconej platformie Android. Przeznaczona zarówno dla początkujących, jak i zaawansowanych użytkowników, pomoże Ci ona zrozumieć, jak budować doskonałe aplikacje, które przez lata będą odnosić sukcesy na platformie Android.

Sięgnij po tę książkę i:

  • poznaj najlepsze praktyki tworzenia aplikacji na platformę Android
  • wykorzystaj potencjał wielordzeniowych procesorów
  • twórz grafikę dwu- i trzywymiarową
  • znajdź rozwiązania Twoich problemów

Obowiązkowa pozycja na półce programisty aplikacji mobilnych!


Charlie Collins jest programistą aplikacji mobilnych i sieciowych w firmie MOVL, współtwórcą kilku projektów o otwartym dostępie do kodu źródłowego, a także współautorem książek "GWT in Practice" i "Unlocking Android".

Michael Galpin jest programistą w firmie Bump Technologies, gdzie pracował nad dwiema spośród najbardziej popularnych aplikacji ze sklepu Android Market (Bump i eBay Mobile).

Matthias Käppler jest inżynierem odpowiedzialnym za Androida i interfejsy API w firmie Qype.

Wstęp (11)

Podziękowania (13)

O książce (17)

O ilustracji z okładki (23)

CZĘŚĆ I Tło historyczne i podstawy (25)

1. Wprowadzenie do Androida (27)

  • 1.1. Android w pigułce (30)
  • 1.2. HelloAndroid (34)
  • 1.3. Java, ale nie do końca (45)
  • 1.4. Linux, ale nie do końca (51)
  • 1.5. Więcej możliwości dzięki bibliotekom natywnym (56)
  • 1.6. Potrzebne narzędzia (59)
  • 1.7. Podsumowanie (67)

2. Podstawy tworzenia aplikacji na Android (69)

  • 2.1. Aplikacja DealDroid (70)
  • 2.2. Podstawowe cegiełki (72)
  • 2.3. Manifest aplikacji (74)
  • 2.4. Zasoby (76)
  • 2.5. Układ, widoki i kontrolki (80)
  • 2.6. Aktywności (82)
  • 2.7. Adaptery (91)
  • 2.8. Intencje i filtry intencji (96)
  • 2.9. Obiekty klasy Application (103)
  • 2.10. Podsumowanie (105)

3. Zarządzanie cyklem życia i stanem (107)

  • 3.1. Czym są aplikacje w Androidzie? (108)
  • 3.2. Cykl życia aktywności (113)
  • 3.3. Kontrolowanie stanu egzemplarza aktywności (125)
  • 3.4. Wykonywanie operacji za pomocą zadań (131)
  • 3.5. Podsumowanie (133)

CZĘŚĆ II Praktyczne rozwiązania (135)

4. Precyzja co do piksela (137)

  • 4.1. Aplikacja MyMovies (138)
  • 4.2. Hierarchie widoków i ich wyświetlanie (139)
  • 4.3. Porządkowanie widoków w układy (143)
    • TECHNIKA 1. Dyrektywy scalania i dołączania (152)
  • 4.4. Rozwinięcie informacji o klasach ListView i Adapter (156)
    • TECHNIKA 2. Zarządzanie listą z pamięcią stanu (156)
    • TECHNIKA 3. Widoki nagłówka i stopki (161)
  • 4.5. Stosowanie motywów i stylów (165)
    • TECHNIKA 4. Stosowanie i pisanie stylów (165)
    • TECHNIKA 5. Stosowanie i pisanie motywów (167)
    • TECHNIKA 6. Określanie stylu tła widoku ListView (170)
  • 4.6. Korzystanie z obiektów graficznych (174)
    • TECHNIKA 7. Używanie obiektów graficznych w postaci kształtów (175)
    • TECHNIKA 8. Stosowanie selektorów obiektów graficznych (179)
    • TECHNIKA 9. Skalowanie widoków za pomocą dziewięciopolowych obiektów graficznych (182)
  • 4.7. Tworzenie przenośnych interfejsów użytkownika (186)
    • TECHNIKA 10. Automatyczne dostosowywanie aplikacji do różnych ekranów (186)
    • TECHNIKA 11. Wczytywanie zasobów zależnych od konfiguracji (191)
    • TECHNIKA 12. Uniezależnienie się od pikseli (194)
  • 4.8. Podsumowanie (196)

5. Używanie usług do zarządzania zadaniami wykonywanymi w tle (199)

  • 5.1. Wielozadaniowość jest najważniejsza (200)
  • 5.2. Do czego służą usługi i jak z nich korzystać? (201)
    • TECHNIKA 13. Tworzenie usługi (202)
    • TECHNIKA 14. Automatyczne uruchamianie usługi (206)
    • TECHNIKA 15. Komunikowanie się z usługą (208)
    • TECHNIKA 16. Wykorzystanie usługi do zapisywania danych w pamięci podręcznej (214)
    • TECHNIKA 17. Tworzenie powiadomień (217)
  • 5.3. Planowanie i usługi (222)
    • TECHNIKA 18. Używanie klasy AlarmManager (222)
    • TECHNIKA 19. Podtrzymywanie działania usługi (226)
    • TECHNIKA 20. Używanie usługi Cloud to Device Messaging (229)
  • 5.4. Podsumowanie (234)

6. Wątki i współbieżność (237)

  • 6.1. Współbieżność w Androidzie (238)
    • TECHNIKA 21. Proste wątki (240)
    • TECHNIKA 22. Przekazywanie informacji o zmianach między wątkami (243)
    • TECHNIKA 23. Zarządzanie wątkami w puli wątków (249)
  • 6.2. Korzystanie z klasy AsyncTask (255)
    • TECHNIKA 24. Implementowanie prac za pomocą klasy AsyncTask (256)
    • TECHNIKA 25. Przygotowanie do zmian w konfiguracji (261)
  • 6.3. Różne techniki (268)
    • TECHNIKA 26. Wyświetlanie ekranów powitalnych za pomocą zegarów (268)
    • TECHNIKA 27. Implementowanie niestandardowych pętli komunikatów (272)
  • 6.4. Podsumowanie (276)

7. Lokalne zapisywanie danych (279)

  • 7.1. Odczyt i zapis plików (280)
    • TECHNIKA 28. Korzystanie z pamięci wewnętrznej (282)
    • TECHNIKA 29. Korzystanie z pamięci zewnętrznej (286)
    • TECHNIKA 30. Używanie katalogów na pamięć podręczną (292)
    • TECHNIKA 31. Stosowanie synchronizacji przy zapisie plików (293)
  • 7.2. Przechowywanie ustawień (294)
    • TECHNIKA 32. Odczyt i zapis ustawień (295)
    • TECHNIKA 33. Korzystanie z klasy PreferenceActivity (296)
  • 7.3. Korzystanie z bazy danych (299)
    • TECHNIKA 34. Tworzenie bazy danych i obiektów modelu (303)
    • TECHNIKA 35. Tworzenie obiektów DAO i menedżera danych (312)
  • 7.4. Badanie baz SQLite (323)
  • 7.5. Podsumowanie (325)

8. Współużytkowanie danych między aplikacjami (327)

  • 8.1. Współużytkowanie danych między procesami (328)
    • TECHNIKA 36. Stosowanie intencji (329)
    • TECHNIKA 37. Zdalne wywołania procedur (335)
    • TECHNIKA 38. Współużytkowanie danych (i innych elementów) przez współdzielenie kontekstu (341)
  • 8.2. Dostęp do niestandardowych danych (347)
    • TECHNIKA 39. Korzystanie ze standardowych dostawców treści (347)
    • TECHNIKA 40. Korzystanie z niestandardowego dostawcy treści (352)
  • 8.3. Podsumowanie (356)

9. Protokół HTTP i usługi sieciowe (357)

  • 9.1. Podstawy pracy z siecią z wykorzystaniem protokołu HTTP (358)
    • TECHNIKA 41. Protokół HTTP i klasa HttpURLConnection (360)
    • TECHNIKA 42. Praca z protokołem HTTP za pomocą klasy HttpClient Apache'a (366)
    • TECHNIKA 43. Konfigurowanie obiektu klasy HttpClient bezpiecznego ze względu na wątki (370)
  • 9.2. Korzystanie z usług sieciowych generujących dane w formatach XML i JSON (375)
    • TECHNIKA 44. Przetwarzanie danych w XML-u za pomocą interfejsu SAX (379)
    • TECHNIKA 45. Przetwarzanie dokumentów XML na podstawie specyfikacji XmlPull (385)
    • TECHNIKA 46. Przetwarzanie danych w formacie JSON (389)
  • 9.3. Elegancka obsługa awarii sieci (393)
    • TECHNIKA 47. Ponawianie żądań za pomocą komponentów obsługi (393)
    • TECHNIKA 48. Obsługa zmian konfiguracji sieci (397)
  • 9.4. Podsumowanie (400)

10. Najważniejsza jest lokalizacja (403)

  • 10.1. Krótkie wprowadzenie do współrzędnych geograficznych (404)
  • 10.2. Menedżery, dostawcy i odbiorniki położenia (407)
    • TECHNIKA 49. Sprawdzanie stanu dostawcy położenia (414)
    • TECHNIKA 50. Określanie aktualnego położenia za pomocą odbiornika LocationListener (416)
  • 10.3. Tworzenie aplikacji z wykorzystaniem map (422)
    • TECHNIKA 51. Przekształcanie adresu na współrzędne geograficzne (425)
    • TECHNIKA 52. Tworzenie aktywności MapActivity z powiązanym widokiem MapView (427)
    • TECHNIKA 53. Wyświetlanie elementów OverlayItems w widoku MapView (430)
  • 10.4. Podsumowanie (433)

11. Uatrakcyjnianie aplikacji za pomocą multimediów (435)

  • 11.1. Funkcje zbyt zaawansowane dla telefonu wielofunkcyjnego (436)
    • TECHNIKA 54. Wykrywanie możliwości (437)
  • 11.2. Zarządzanie multimediami (440)
    • TECHNIKA 55. Korzystanie z zasobów i plików (440)
    • TECHNIKA 56. Korzystanie z dostawców treści multimedialnych (447)
    • TECHNIKA 57. Używanie intencji i aktywności (450)
  • 11.3. Odtwarzanie multimediów (453)
    • TECHNIKA 58. Zdjęcia i proste animacje (454)
    • TECHNIKA 59. Kontrolowanie dźwięku (458)
    • TECHNIKA 60. Wyświetlanie filmów (462)
  • 11.4. Rejestrowanie multimediów (465)
    • TECHNIKA 61. Robienie zdjęć (465)
    • TECHNIKA 62. Rejestrowanie dźwięku i filmów (470)
  • 11.5. Podsumowanie (475)

12. Grafika dwu- i trójwymiarowa (477)

  • 12.1. Rysowanie z wykorzystaniem bibliotek do obsługi grafiki dwuwymiarowej (478)
    • TECHNIKA 63. Przechodzenie do trybu pełnoekranowego (480)
    • TECHNIKA 64. Rysowanie prostych kształtów (481)
    • TECHNIKA 65. Ciągłe wyświetlanie widoku w wątku interfejsu użytkownika (484)
    • TECHNIKA 66. Wyświetlanie tekstu na ekranie (485)
    • TECHNIKA 67. Określanie czcionki przy wyświetlaniu tekstu (487)
    • TECHNIKA 68. Wyświetlanie bitmap (489)
    • TECHNIKA 69. Stosowanie efektów dwuwymiarowych (490)
  • 12.2. Grafika trójwymiarowa i biblioteka OpenGL ES (493)
    • TECHNIKA 70. Rysowanie pierwszego trójkąta (500)
    • TECHNIKA 71. Tworzenie piramidy (504)
    • TECHNIKA 72. Kolorowanie piramidy (510)
    • TECHNIKA 73. Dodawanie tekstury do piramid (513)
  • 12.3. Podsumowanie (519)

CZĘŚĆ III Poza standardowe rozwiązania (521)

13. Testowanie i instrumentacja (523)

  • 13.1. Testowanie aplikacji na Android (525)
    • TECHNIKA 74. Prosty test jednostkowy aplikacji na Android (533)
  • 13.2. Pociąganie za sznurki - instrumentacja w Androidzie (538)
    • TECHNIKA 75. Testy jednostkowe aktywności (539)
    • TECHNIKA 76. Scenariusz użytkownika jako testy funkcjonalne (544)
    • TECHNIKA 77. Eleganckie testy z wykorzystaniem frameworku Robotium (549)
  • 13.3. Poza instrumentację - atrapy i testy losowe (554)
    • TECHNIKA 78. Atrapy i sposoby ich stosowania (554)
    • TECHNIKA 79. Przyspieszanie testów jednostkowych z zastosowaniem Robolectrica (561)
    • TECHNIKA 80. Przeprowadzanie testów obciążeniowych za pomocą narzędzia Monkey (567)
  • 13.4. Podsumowanie (573)

14. Zarządzanie budowaniem (575)

  • 14.1. Budowanie aplikacji na Android (577)
    • TECHNIKA 81. Budowanie aplikacji za pomocą Anta (583)
  • 14.2. Zarządzanie procesem budowania za pomocą Mavena (592)
    • TECHNIKA 82. Budowanie za pomocą Mavena (595)
    • TECHNIKA 83. Wtyczka Mavena dla środowiska Eclipse (607)
    • TECHNIKA 84. Narzędzie maven-android-sdk-deployer (610)
  • 14.3. Serwery budowania i ciągłe budowanie (615)
    • TECHNIKA 85. Ciągłe budowanie z wykorzystaniem Hudsona (617)
    • TECHNIKA 86. Budowanie macierzowe (625)
  • 14.4. Podsumowanie (630)

15. Pisanie aplikacji na tablety z Androidem (633)

  • 15.1. Przygotowania do tworzenia aplikacji na tablety (635)
    • TECHNIKA 87. Wykorzystywanie istniejącego kodu za pomocą projektów bibliotek (635)
    • TECHNIKA 88. Tworzenie aplikacji przeznaczonej na tablety (638)
  • 15.2. Podstawowe informacje o tabletach (641)
    • TECHNIKA 89. Fragmenty (642)
    • TECHNIKA 90. Pasek akcji (650)
    • TECHNIKA 91. Przeciąganie (655)
  • 15.3. Podsumowanie (662)

Dodatek A Narzędzia do debugowania (665)

Dodatek B Niestandardowe techniki tworzenia aplikacji na Android (677)

Dodatek C ProGuard (687)

Dodatek D Monkeyrunner (701)

Skorowidz (713)

  • Назва: Android w praktyce
  • Автор: Charlie Collins, Michael Galpin, Matthias Kaeppler
  • Оригінальна назва: Android in Practice
  • Переклад: Tomasz Walczak
  • ISBN: 978-83-246-6611-9, 9788324666119
  • Дата видання: 2012-11-13
  • Формат: Eлектронна книга
  • Ідентифікатор видання: androp
  • Видавець: Helion