Szczegóły ebooka

Android 3. Tworzenie aplikacji

Android 3. Tworzenie aplikacji

Dave MacLean, Sayed Hashimi, Satya Komatineni

Ebook

System operacyjny Android podbił rynek smartfonów, a teraz z dnia na dzień rośnie jego popularność wśród użytkowników tabletów. Sympatię zdobył sobie dzięki niezwykle przyjaznemu interfejsowi, szerokim możliwościom dostosowania do własnych potrzeb oraz niewyobrażalną ilością dostępnych aplikacji. W Android Market opublikowano ich już ponad 500 000! Wśród nich każdy znajdzie coś dla siebie niezależnie od tego, czy ma to być gra, czy unikalna aplikacja użytkowa.

Oparty na powszechnie znanym języku JAVA, posiadający obszerną, bogatą w przykłady dokumentację wprost zachęca do przygotowania ciekawej aplikacji, na której można zarobić konkretne pieniądze. Dzięki tej rewelacyjnej książce poświęconej Androidowi w wersji 3 w mig opanujesz jego tajniki. Na samym początku poznasz historię Androida oraz dowiesz się, jak przygotować środowisko pracy. Następnie zaznajomisz się ze strukturą aplikacji, sposobem korzystania z zasobów oraz dostawców treści. W dalszych rozdziałach nauczysz się budować estetyczny, funkcjonalny i atrakcyjny interfejs użytkownika, zapamiętywać preferencje użytkowników oraz korzystać z usług HTTP. Książka ta jest kompletnym i unikalnym kompendium wiedzy na temat Androida. Powinna znaleźć się na półce każdego dewelopera tworzącego oprogramowanie dla platformy Android!

  • Przygotowanie środowiska pracy
  • Pisanie aplikacji opartych na środowisku Java
  • Projektowanie i budowanie interfejsu użytkownika
  • Wysyłanie i odbieranie komunikatów
  • Tworzenie animacji dwuwymiarowej
  • Korzystanie z usług geolokalizacyjnych
  • Przetwarzanie tekstu na mowę
  • Publikacja aplikacji w Android Market

Zacznij tworzyć oprogramowanie dla najbardziej obiecującej platformy dla urządzeń mobilnych!


Przedmowa (21)

O autorach (23)

Informacje o redaktorze technicznym (25)

Podziękowania (27)

Słowo wstępne (29)

Rozdział 1. Wprowadzenie do platformy obliczeniowej Android (31)

  • Nowa platforma dla nowego typu komputera osobistego (32)
  • Początki historii Androida (33)
  • Zapoznanie się ze środowiskiem Dalvik VM (36)
  • Stos programowy Androida (37)
  • Projektowanie aplikacji użytkownika końcowego za pomocą zestawu Android SDK (38)
    • Emulator Androida (38)
    • Interfejs użytkownika na platformie Android (39)
    • Podstawowe składniki Androida (40)
    • Zaawansowane koncepcje interfejsu użytkownika (41)
    • Składniki usług w Androidzie (43)
    • Składniki multimediów oraz telefonii w Androidzie (43)
    • Pakiety Java w Androidzie (44)
  • Wykorzystanie zalet kodu źródłowego Androida (48)
  • Przykładowe projekty zawarte w książce (49)
  • Podsumowanie (49)

Rozdział 2. Konfigurowanie środowiska programowania (51)

  • Konfigurowanie środowiska (52)
    • Pobieranie zestawu JDK 6 (52)
    • Pobieranie środowiska Eclipse 3.6 (53)
    • Pobieranie zestawu Android SDK (54)
    • Okno narzędzi (56)
    • Instalowanie narzędzi ADT (56)
  • Przedstawienie podstawowych składników (58)
    • Widok (58)
    • Aktywność (59)
    • Intencja (59)
    • Dostawca treści (59)
    • Usługa (59)
    • AndroidManifest.xml (60)
    • Urządzenia AVD (60)
  • Witaj, świecie! (60)
  • Wirtualne urządzenia AVD (65)
  • Poznanie struktury aplikacji Androida (67)
  • Analiza aplikacji Notepad (69)
    • Wczytanie oraz uruchomienie aplikacji Notepad (69)
    • Rozłożenie kodu na czynniki pierwsze (71)
  • Badanie cyklu życia aplikacji (78)
  • Usuwanie błędów w aplikacji (81)
    • Uruchamianie emulatora (83)
    • StrictMode (84)
    • Odnośniki (89)
  • Podsumowanie (89)

Rozdział 3. Korzystanie z zasobów (91)

  • Zasoby (91)
    • Zasoby typu string (92)
    • Zasoby typu layout (94)
    • Składnia odniesienia do zasobu (95)
    • Definiowanie własnych identyfikatorów zasobów do późniejszego użytku (97)
    • Skompilowane oraz nieskompilowane zasoby Androida (98)
  • Rodzaje głównych zasobów w Androidzie (99)
  • Praca na własnych plikach zasobów XML (109)
  • Praca na nieskompresowanych zasobach (111)
  • Praca z dodatkowymi plikami (111)
  • Przegląd struktury katalogów mieszczących zasoby (112)
  • Zasoby a zmiany konfiguracji (112)
  • Odnośniki (116)
  • Podsumowanie (117)

Rozdział 4. Dostawcy treści (119)

  • Analiza wbudowanych dostawców Androida (120)
  • Architektura dostawców treści (126)
  • Implementowanie dostawców treści (139)
  • Testowanie dostawcy BookProvider (150)
    • Dodawanie książki (150)
    • Usuwanie książki (150)
    • Zliczanie książek (151)
    • Wyświetlanie listy książek (151)
  • Odnośniki (152)
  • Podsumowanie (153)

Rozdział 5. Intencje (155)

  • Podstawowe informacje na temat intencji (155)
  • Intencje dostępne w Androidzie (156)
  • Przegląd struktury intencji (159)
    • Intencje a identyfikatory danych URI (159)
    • Działania ogólne (160)
    • Korzystanie z dodatkowych informacji (161)
    • Stosowanie składników do bezpośredniego przywoływania aktywności (162)
    • Kategorie intencji (163)
    • Reguły przydzielania intencji do ich składników (166)
    • Działanie ACTION_PICK (169)
    • Działanie ACTION_GET_CONTENT (171)
  • Wprowadzenie do intencji oczekujących (172)
  • Odnośniki (173)
  • Podsumowanie (174)

Rozdział 6. Budowanie interfejsów użytkownika oraz używanie kontrolek (175)

  • Projektowanie interfejsów UI w Androidzie (175)
    • Programowanie interfejsu użytkownika wyłącznie za pomocą kodu (177)
    • Tworzenie interfejsu użytkownika wyłącznie w pliku XML (179)
    • Konstruowanie interfejsu użytkownika za pomocą kodu oraz języka XML (180)
    • FILL_PARENT a MATCH_PARENT (182)
  • Standardowe kontrolki Androida (182)
    • Kontrolki tekstu (183)
    • Kontrolki przycisków (187)
    • Kontrolka ImageView (195)
    • Kontrolki daty i czasu (197)
    • Kontrolka MapView (200)
  • Działanie adapterów (200)
    • Zapoznanie się z klasą SimpleCursorAdapter (200)
    • Zapoznanie się z klasą ArrayAdapter (202)
  • Wykorzystywanie adapterów wraz z kontrolkami AdapterView (204)
    • Podstawowa kontrolka listy - ListView (205)
    • Kontrolka GridView (213)
    • Kontrolka Spinner (215)
    • Kontrolka Gallery (217)
    • Tworzenie niestandardowych adapterów (218)
    • Inne kontrolki w Androidzie (223)
  • Style i motywy (224)
    • Stosowanie stylów (224)
    • Stosowanie motywów (227)
  • Menedżery układu graficznego (227)
    • Menedżer układu graficznego LinearLayout (228)
    • Menedżer układu graficznego TableLayout (231)
    • Menedżer układu graficznego RelativeLayout (235)
    • Menedżer układu graficznego FrameLayout (237)
    • Dostosowanie układu graficznego do konfiguracji różnych urządzeń (239)
  • Usuwanie błędów i optymalizacja układów graficznych za pomocą narzędzia Hierarchy Viewer (242)
  • Odnośniki (244)
  • Podsumowanie (245)

Rozdział 7. Praca z menu (247)

  • Menu w Androidzie (247)
    • Tworzenie menu (249)
    • Praca z grupami menu (250)
  • Odpowiedź na wybór elementów menu (251)
  • Utworzenie środowiska testowego do sprawdzania menu (253)
  • Praca z innymi rodzajami menu (259)
    • Rozszerzone menu (259)
    • Praca z menu w postaci ikon (259)
    • Praca z podmenu (260)
    • Zabezpieczanie menu systemowych (261)
    • Praca z menu kontekstowymi (261)
    • Praca z menu alternatywnymi (264)
    • Praca z menu w odpowiedzi na zmianę danych (268)
  • Wczytywanie menu poprzez pliki XML (268)
    • Struktura pliku XML zasobów menu (268)
    • Zapełnianie plików XML zasobów menu (269)
    • Tworzenie odpowiedzi dla elementów menu opartych na pliku XML (270)
    • Krótkie wprowadzenie do dodatkowych znaczników menu w pliku XML (271)
  • Odnośniki (272)
  • Podsumowanie (272)

Rozdział 8. Praca z oknami dialogowymi (273)

  • Korzystanie z okien dialogowych w Androidzie (274)
    • Projektowanie okien alertów (274)
    • Projektowanie okna dialogowego zachęty (276)
    • Natura okien dialogowych w Androidzie (281)
    • Przeprojektowanie okna dialogowego zachęty (282)
  • Praca z zarządzanymi oknami dialogowymi (283)
    • Protokół zarządzanych okien dialogowych (283)
    • Przekształcenie niezarządzanego okna dialogowego na zarządzane okno dialogowe (283)
    • Uproszczenie protokołu zarządzanych okien dialogowych (285)
  • Praca z klasą Toast (293)
  • Odnośniki (294)
  • Podsumowanie (294)

Rozdział 9. Praca z preferencjami i zachowywanie stanów (295)

  • Badanie struktury preferencji (296)
    • Klasa ListPreference (296)
    • Widok CheckBoxPreference (305)
    • Widok EditTextPreference (307)
    • Widok RingtonePreference (308)
  • Organizowanie preferencji (310)
  • Programowe zarządzanie preferencjami (312)
  • Zapisywanie stanu za pomocą preferencji (313)
  • Odnośniki (314)
  • Podsumowanie (315)

Rozdział 10. Analiza zabezpieczeń i uprawnień (317)

  • Model zabezpieczeń w Androidzie (317)
    • Przegląd pojęć dotyczących zabezpieczeń (317)
    • Podpisywanie wdrażanych aplikacji (318)
  • Przeprowadzanie testów zabezpieczeń środowiska wykonawczego (324)
    • Zabezpieczenia na granicach procesu (324)
    • Deklarowanie oraz stosowanie uprawnień (325)
    • Stosowanie niestandardowych uprawnień (326)
    • Stosowanie uprawnień identyfikatorów URI (332)
  • Odnośniki (334)
  • Podsumowanie (335)

Rozdział 11. Tworzenie i użytkowanie usług (337)

  • Użytkowanie usług HTTP (337)
    • Wykorzystanie modułu HttpClient do żądań wywołania GET (338)
    • Wykorzystanie modułu HttpClient do żądań wywołania POST (przykład wieloczęściowy) (340)
    • Parsery SOAP, JSON i XML (342)
    • Obsługa wyjątków (343)
    • Problemy z wielowątkowością (345)
    • Zabawa z przekroczeniami limitu czasu (348)
    • Stosowanie klasy HttpURLConnection (349)
    • Używanie klasy AndroidHttpClient (349)
    • Stosowanie wątków drugoplanowych (AsyncTask) (351)
    • Obsługa zmian konfiguracji za pomocą klasy AsyncTask (357)
    • Pobieranie plików za pomocą klasy DownloadManager (362)
  • Stosowanie usług w Androidzie (367)
    • Usługi w Androidzie (368)
    • Usługi lokalne (369)
    • Usługi AIDL (376)
    • Definiowanie interfejsu usługi w języku AIDL (376)
    • Implementowanie interfejsu AIDL (379)
    • Wywoływanie usługi z poziomu aplikacji klienckiej (381)
    • Przekazywanie usługom złożonych typów danych (385)
  • Przykład aplikacji użytkowej korzystającej z usług (395)
    • Interfejs Tłumacz Google (395)
    • Stosowanie interfejsu Tłumacz Google (397)
  • Odnośniki (405)
  • Podsumowanie (405)

Rozdział 12. Analiza pakietów (407)

  • Pakiety i procesy (407)
    • Szczegółowa specyfikacja pakietu (407)
    • Przekształcanie nazwy pakietu w nazwę procesu (408)
    • Tworzenie listy zainstalowanych pakietów (408)
    • Usuwanie pakietu za pomocą aplikacji Package Browser (409)
  • Jeszcze raz o procesie podpisywania pakietów (409)
    • Zrozumienie koncepcji podpisów cyfrowych - scenariusz 1. (410)
    • Zrozumienie koncepcji podpisów cyfrowych - scenariusz 2. (410)
    • Wyjaśnienie koncepcji podpisów cyfrowych (410)
    • Jak zatem tworzymy cyfrowy podpis (411)
    • Implikacje wynikające z podpisywania plików (411)
  • Współdzielenie danych pomiędzy pakietami (412)
    • Natura współdzielonych identyfikatorów użytkownika (412)
    • Schemat kodu wykorzystywanego przy współdzieleniu danych (413)
  • Projekty bibliotek (414)
    • Czym jest projekt bibliotek? (414)
    • Twierdzenia dotyczące projektów bibliotek (414)
    • Utworzenie projektu bibliotek (417)
    • Tworzenie projektu testowego wykorzystującego projekt bibliotek (420)
  • Odnośniki (425)
  • Podsumowanie (426)

Rozdział 13. Analiza procedur obsługi (427)

  • Składniki Androida i wątkowanie (427)
    • Aktywności działają w głównym wątku (428)
    • Odbiorcy komunikatów działają w głównym wątku (429)
    • Usługi działają w głównym wątku (429)
    • Dostawcy treści działają w głównym wątku (429)
    • Skutki posiadania pojedynczego głównego wątku (429)
    • Pule wątków, dostawcy treści, składniki zewnętrznych usług (429)
    • Narzędzia wątkowania - poznaj swój wątek (429)
  • Procedury obsługi (431)
    • Skutki przetrzymywania głównego wątku (432)
    • Zastosowanie procedury obsługi do opóźnienia operacji w wątku głównym (432)
    • Przykładowy kod źródłowy procedury obsługi opóźniającej przeprowadzanie operacji (433)
    • Konstruowanie odpowiedniego obiektu Message (435)
    • Wysyłanie obiektów Message do kolejki (435)
    • Odpowiedź na metodę zwrotną handleMessage (436)
  • Stosowanie wątków roboczych (436)
    • Przywoływanie wątku roboczego z poziomu menu (437)
    • Komunikacja pomiędzy wątkami głównym i roboczym (438)
    • Szybki przegląd - jak działa wątek? (440)
  • Klasy przykładowego sterownika procedury obsługi (441)
    • Plik aktywności sterującej (442)
    • Plik układu graficznego (444)
    • Plik menu (445)
    • Plik manifest (445)
  • Czas życia składnika i procesu (446)
    • Cykl życia aktywności (446)
    • Cykl życia usługi (448)
    • Cykl życia odbiorców komunikatów (448)
    • Cykl życia dostawcy treści (448)
  • Instrukcje dotyczące kompilowania kodu (449)
    • Utworzenie projektu za pomocą pliku ZIP (449)
    • Tworzenie projektu za pomocą listingów (449)
  • Odnośniki (450)
  • Podsumowanie (450)

Rozdział 14. Odbiorcy komunikatów i usługi długoterminowe (453)

  • Odbiorcy komunikatów (453)
    • Wysyłanie komunikatu (454)
    • Tworzenie prostego odbiorcy - przykładowy kod (454)
    • Rejestrowanie odbiorcy komunikatów w pliku manifeście (456)
    • Wysyłanie komunikatu testowego (456)
    • Wprowadzanie wielu odbiorców komunikatów (460)
    • Projekt wykorzystujący odbiorców pozaprocesowych (462)
  • Używanie powiadomień pochodzących od odbiorcy komunikatów (463)
    • Monitorowanie powiadomień za pomocą menedżera powiadomień (463)
    • Wysyłanie powiadomienia (464)
  • Długoterminowi odbiorcy komunikatów i usługi (467)
    • Protokół długoterminowego odbiorcy komunikatów (468)
    • Klasa IntentService (469)
    • Kod źródłowy klasy IntentService (470)
  • Rozszerzanie klasy IntentService na odbiorcę komunikatów (472)
    • Abstrakcja długoterminowej usługi wysyłającej komunikaty (472)
    • Długoterminowy odbiorca komunikatów (474)
    • Wyodrębnianie blokady przechodzenia w stan zatrzymania za pomocą klasy LightedGreenRoom (476)
    • Oświetlony zielony pokój (478)
    • Implementacja oświetlonego zielonego pokoju (478)
  • Implementacja długoterminowej usługi (483)
    • Szczegółowe informacje na temat usługi nietrwałej (484)
    • Informacje dotyczące trwałej usługi (485)
    • Odmiana nietrwałej usługi - ponownie dostarczane intencje (485)
    • Definiowanie flag usługi w metodzie onStartCommand (485)
    • Wybieranie odpowiedniego trybu usługi (485)
    • Kontrolowanie blokady przechodzenia w stan zatrzymania z dwóch miejsc jednocześnie (486)
    • Implementacja długoterminowej usługi (486)
    • Testowanie długoterminowych usług (488)
  • Instrukcje dotyczące kompilowania kodu (489)
    • Utworzenie projektów za pomocą pliku ZIP (489)
    • Utworzenie projektów za pomocą listingów (489)
  • Odnośniki (491)
  • Podsumowanie (492)

Rozdział 15. Badanie menedżera alarmów (493)

  • Podstawy menedżera alarmów - konfiguracja prostego alarmu (493)
    • Uzyskanie dostępu do menedżera alarmów (494)
    • Definiowanie czasu uruchomienia alarmu (494)
    • Konfigurowanie odbiorcy dla alarmu (495)
    • Utworzenie oczekującej intencji dostosowanej do alarmu (495)
    • Ustawianie alarmu (496)
    • Projekt testowy (497)
  • Analiza alternatywnych wersji menedżera alarmów (503)
    • Konfigurowanie powtarzalnego alarmu (503)
    • Anulowanie alarmu (506)
    • Praca z wieloma alarmami jednocześnie (508)
    • Pierwszeństwo intencji w uruchamianiu alarmów (512)
    • Trwałość alarmów (515)
  • Twierdzenia dotyczące menedżera alarmów (515)
  • Odnośniki (516)
  • Podsumowanie (516)

Rozdział 16. Analiza animacji dwuwymiarowej (517)

  • Animacja poklatkowa (518)
    • Zaplanowanie animacji poklatkowej (518)
    • Utworzenie aktywności (519)
    • Dodawanie animacji do aktywności (520)
  • Animacja układu graficznego (523)
    • Podstawowe typy animacji klatek kluczowych (524)
    • Zaplanowanie środowiska testowego animacji układu graficznego (525)
    • Utworzenie aktywności oraz widoku ListView (525)
    • Animowanie widoku ListView (528)
    • Stosowanie interpolatorów (531)
  • Animacja widoku (533)
    • Animacja widoku (533)
    • Dodawanie animacji (536)
    • Zastosowanie klasy Camera do symulowania głębi w obrazie dwuwymiarowym (539)
    • Analiza interfejsu AnimationListener (541)
    • Kilka uwag na temat macierzy transformacji (541)
  • Odnośniki (542)
  • Podsumowanie (543)

Rozdział 17. Analiza usług wykorzystujących mapy i dane o lokalizacji (545)

  • Pakiet do pracy z mapami (546)
    • Uzyskanie klucza interfejsu API mapy od firmy Google (546)
    • Klasy MapView i MapActivity (548)
    • Dodawanie znaczników za pomocą nakładek (553)
  • Pakiet do obsługi danych o położeniu geograficznym (559)
    • Geokodowanie w Androidzie (559)
    • Geokodowanie za pomocą wątków przebiegających w tle (563)
    • Usługa LocationManager (566)
    • Wyświetlanie informacji o położeniu za pomocą klasy MyLocationOverlay (574)
    • Stosowanie alertów odległościowych (578)
  • Odnośniki (583)
  • Podsumowanie (583)

Rozdział 18. Używanie interfejsów telefonii (585)

  • Praca z wiadomościami SMS (585)
    • Wysyłanie wiadomości SMS (585)
    • Monitorowanie przychodzących wiadomości tekstowych (589)
    • Praca z folderami wiadomości SMS (592)
    • Wysyłanie wiadomości e-mail (593)
  • Praca z menedżerem telefonii (594)
  • Protokół inicjalizacji sesji (SIP) (597)
  • Odnośniki (600)
  • Podsumowanie (600)

Rozdział 19. Używanie szkieletu multimedialnego (601)

  • Stosowanie interfejsów API multimediów (601)
    • Wykorzystywanie kart SD (602)
  • Odtwarzanie multimediów (606)
    • Odtwarzanie źródeł dźwiękowych (607)
    • Odtwarzanie plików wideo (619)
  • Rejestrowanie multimediów (621)
    • Analiza procesu rejestracji dźwięku za pomocą klasy MediaRecorder (622)
    • Rejestracja dźwięków za pomocą klasy AudioRecord (626)
    • Analiza procesu rejestracji wideo (630)
    • Analiza klasy MediaStore (640)
    • Rejestrowanie dźwięku za pomocą intencji (641)
    • Dodawanie plików do magazynu multimediów (644)
    • Podłączenie klasy MediaScanner do całej karty SD (647)
  • Odnośniki (647)
  • Podsumowanie (648)

Rozdział 20. Programowanie grafiki trójwymiarowej za pomocą biblioteki OpenGL (649)

  • Historia i podstawy biblioteki OpenGL (650)
    • OpenGL ES (651)
    • Środowisko OpenGL ES a Java ME (652)
    • M3G - inny standard grafiki trójwymiarowej środowiska Java (652)
  • Podstawy struktury OpenGL (653)
    • Podstawy rysowania za pomocą biblioteki OpenGL (654)
    • Kamera i współrzędne (659)
  • Tworzenie interfejsu pomiędzy standardem OpenGL ES a Androidem (663)
    • Stosowanie klasy GLSurfaceView i klas pokrewnych (664)
    • Implementacja klasy Renderer (664)
    • Zastosowanie klasy GLSurfaceView z poziomu aktywności (667)
    • Zmiana ustawień kamery (672)
    • Wykorzystanie indeksów do dodania kolejnego trójkąta (675)
    • Animowanie prostego trójkąta w bibliotece OpenGL (676)
  • Stawianie czoła bibliotece OpenGL - kształty i tekstury (678)
    • Rysowanie prostokąta (679)
    • Praca z kształtami (680)
    • Praca z teksturami (694)
    • Rysowanie wielu figur geometrycznych (699)
  • OpenGL ES 2.0 (703)
    • Powiązania środowiska Java z bibliotekami OpenGL ES 2.0 (704)
    • Etapy renderowania (707)
    • Jednostki cieniujące (708)
    • Kompilowanie jednostek cieniujących w programie (709)
    • Uzyskiwanie dostępu do zmiennych jednostek cieniowania (711)
    • Prosty trójkąt napisany w środowisku OpenGL ES 2.0 (711)
    • Dodatkowe źródła dotyczące środowiska OpenGL ES 2.0 (715)
  • Instrukcje związane z kompilowaniem kodu (715)
  • Odnośniki (715)
  • Podsumowanie (716)

Rozdział 21. Badanie aktywnych folderów (717)

  • Badanie aktywnych folderów (717)
    • W jaki sposób użytkownik korzysta z aktywnych folderów (718)
    • Tworzenie aktywnego folderu (722)
  • Instrukcje dotyczące kompilowania kodu (733)
  • Odnośniki (733)
  • Podsumowanie (734)

Rozdział 22. Widżety ekranu startowego (735)

  • Architektura widżetów ekranu startowego (736)
    • Czym są widżety ekranu startowego? (736)
    • W jaki sposób użytkownik korzysta z widżetów ekranu startowego? (736)
    • Cykl życia widżetu (740)
  • Przykładowy widżet (745)
    • Definiowanie dostawcy widżetu (747)
    • Definiowanie rozmiaru widżetu (748)
    • Pliki związane z układem graficznym widżetu (749)
    • Implementacja dostawcy widżetu (751)
    • Implementacja modeli widżetów (753)
    • Implementacja aktywności konfiguracji widżetu (761)
  • Ograniczenia i rozszerzenia widżetów (764)
  • Odnośniki (765)
  • Podsumowanie (766)

Rozdział 23. Wyszukiwanie w Androidzie (767)

  • Wyszukiwanie w Androidzie (768)
    • Badanie procesu przeszukiwania globalnego w Androidzie (768)
    • Włączanie dostawców propozycji do procesu wyszukiwania globalnego (774)
  • Interakcja aktywności z przyciskiem wyszukiwania (777)
    • Zachowanie przycisku wyszukiwania wobec standardowej aktywności (778)
    • Zachowanie aktywności wyłączającej wyszukiwanie (786)
    • Jawne wywoływanie wyszukiwania za pomocą menu (787)
    • Wyszukiwanie lokalne i pokrewne aktywności (790)
    • Uruchomienie funkcji type-to-search (797)
  • Implementacja prostego dostawcy propozycji (798)
    • Planowanie prostego dostawcy propozycji (798)
    • Pliki implementacji prostego dostawcy propozycji (799)
    • Implementacja klasy SimpleSuggestionProvider (799)
    • Aktywność wyszukiwania dostępna w prostym dostawcy propozycji (803)
    • Aktywność wywołania wyszukiwania (808)
    • Użytkowanie prostego dostawcy propozycji (810)
  • Implementacja niestandardowego dostawcy propozycji (813)
    • Implementacja niestandardowego dostawcy propozycji (814)
    • Pliki wymagane do implementacji projektu SuggestUrlProvider (814)
    • Implementacja klasy SuggestUrlProvider (815)
    • Implementacja aktywności wyszukiwania dla niestandardowego dostawcy propozycji (824)
    • Plik manifest niestandardowego dostawcy propozycji (830)
    • Korzystanie z niestandardowego dostawcy propozycji (831)
  • Zastosowanie przycisków działania i danych wyszukiwania specyficznych dla aplikacji (835)
    • Wykorzystanie przycisków działania w procesie wyszukiwania (835)
    • Praca ze specyficznym dla aplikacji kontekstem wyszukiwania (838)
  • Odnośniki (839)
  • Wyszukiwanie w tabletach (840)
  • Podsumowanie (840)

Rozdział 24. Analiza interfejsu przetwarzania tekstu na mowę (841)

  • Podstawy technologii przetwarzania tekstu na mowę w Androidzie (841)
  • Używanie wyrażeń do śledzenia toku wypowiedzi (846)
  • Zastosowanie plików dźwiękowych do przetwarzania tekstu na mowę (848)
  • Zaawansowane funkcje silnika TTS (854)
    • Konfiguracja strumieni audio (855)
    • Stosowanie ikon akustycznych (855)
    • Odtwarzanie ciszy (856)
    • Wybór innych mechanizmów przetwarzania tekstu na mowę (856)
    • Stosowanie metod językowych (857)
  • Odnośniki (858)
  • Podsumowanie (859)

Rozdział 25. Ekrany dotykowe (861)

  • Klasa MotionEvent (861)
    • Obiekt MotionEvent (862)
    • Wielokrotne wykorzystywanie obiektów MotionEvent (873)
    • Stosowanie klasy VelocityTracker (874)
    • Analiza funkcji przeciągania (876)
  • Wielodotykowość (879)
    • Funkcja wielodotykowości przed wersją 2.2 Androida (879)
    • Funkcja wielodotykowości w systemach poprzedzających wersję 2.2 (887)
  • Obsługa map za pomocą dotyku (888)
  • Gesty (891)
    • Gest ściskania (891)
    • Klasy GestureDetector i OnGestureListener (895)
    • Niestandardowe gesty (898)
    • Aplikacja Gestures Builder (898)
  • Odnośniki (905)
  • Podsumowanie (905)

Rozdział 26. Czujniki (907)

  • Czym jest czujnik? (907)
    • Wykrywanie czujników (908)
    • Jakie informacje możemy uzyskać na temat czujnika? (909)
  • Pobieranie zdarzeń generowanych przez czujniki (911)
    • Problemy pojawiające się podczas uzyskiwania danych z czujników (914)
  • Interpretowanie danych czujnika (921)
    • Czujniki oświetlenia (921)
    • Czujniki zbliżeniowe (922)
    • Termometry (922)
    • Czujniki ciśnienia (923)
    • Żyroskopy (923)
    • Akcelerometry (924)
    • Magnetometry (930)
    • Współpraca akcelerometrów z magnetometrami (931)
    • Czujniki orientacji w przestrzeni (931)
    • Deklinacja magnetyczna i klasa GeomagneticField (938)
    • Czujniki grawitacji (939)
    • Czujniki przyśpieszenia liniowego (939)
    • Czujniki wektora obrotu (939)
    • Czujniki komunikacji bliskiego pola (939)
  • Odnośniki (950)
  • Podsumowanie (951)

Rozdział 27. Analiza interfejsu kontaktów (953)

  • Koncepcja konta (954)
    • Szybki przegląd ekranów związanych z kontami (954)
    • Związek pomiędzy kontami a kontaktami (957)
    • Wyliczanie kont (957)
  • Aplikacja Kontakty (958)
    • Wyświetlanie kontaktów (958)
    • Wyświetlanie szczegółów kontaktu (959)
    • Edytowanie szczegółów kontaktu (960)
    • Umieszczanie zdjęcia powiązanego z kontaktem (962)
    • Eksportowanie kontaktów (962)
    • Różne typy danych kontaktowych (964)
  • Analiza kontaktów (964)
    • Badanie treści bazy danych SQLite (965)
    • Nieprzetworzone kontakty (965)
    • Tabela danych (967)
    • Kontakty zbiorcze (968)
    • view_contacts (971)
    • contact_entities_view (971)
  • Praca z interfejsem kontaktów (972)
    • Eksploracja kont (972)
    • Badanie kontaktów zbiorczych (980)
    • Badanie nieprzetworzonych kontaktów (989)
    • Przeglądanie danych nieprzetworzonego kontaktu (994)
    • Dodawanie kontaktu oraz szczegółowych informacji o nim (998)
  • Kontrola agregacji (1001)
  • Konsekwencje synchronizacji (1002)
  • Odnośniki (1002)
  • Podsumowanie (1003)

Rozdział 28. Wdrażanie aplikacji na rynek - Android Market i nie tylko (1005)

  • Jak zostać wydawcą? (1006)
    • Postępowanie zgodnie z zasadami (1006)
    • Konsola programisty (1009)
  • Przygotowanie aplikacji do sprzedaży (1012)
    • Testowanie działania na różnych urządzeniach (1012)
    • Obsługa różnych rozmiarów ekranu (1012)
    • Przygotowanie pliku AndroidManifest.xml do umieszczenia w sklepie Android Market (1013)
    • Lokalizacja aplikacji (1014)
    • Przygotowanie ikony aplikacji (1015)
    • Problemy związane z zarabianiem pieniędzy na aplikacjach (1016)
    • Kierowanie użytkowników z powrotem do sklepu (1016)
    • Usługa licencyjna systemu Android (1017)
    • Przygotowanie pliku .apk do wysłania (1018)
  • Wysyłanie aplikacji (1018)
  • Korzystanie ze sklepu Android Market (1022)
  • Alternatywy dla serwisu Android Market (1023)
  • Odnośniki (1024)
  • Podsumowanie (1024)

Rozdział 29. Koncepcja fragmentów oraz inne pojęcia dotyczące tabletów (1025)

  • Czym jest fragment? (1026)
  • Kiedy należy stosować fragmenty? (1027)
  • Struktura fragmentu (1027)
    • Cykl życia fragmentu (1028)
    • Przykładowa aplikacja ukazująca cykl życia fragmentu (1033)
  • Klasy FragmentTransaction i drugoplanowy stos fragmentów (1042)
    • Przejścia i animacje zachodzące podczas transakcji fragmentu (1044)
  • Klasa FragmentManager (1045)
    • Ostrzeżenie dotyczące stosowania odniesień do fragmentów (1046)
    • Klasa ListFragment i węzeł <fragment> (1047)
    • Wywoływanie odrębnej aktywności w razie potrzeby (1051)
    • Trwałość fragmentów (1054)
  • Fragmenty wyświetlające okna dialogowe (1054)
    • Podstawowe informacje o klasie DialogFragment (1055)
    • Przykładowa aplikacja wykorzystująca klasę DialogFragment (1060)
  • Inne formy komunikowania się z fragmentami (1073)
    • Stosowanie metod startActivity() i setTargetFragment() (1074)
  • Tworzenie niestandardowych animacji za pomocą klasy ObjectAnimator (1075)
  • Odnośniki (1078)
  • Podsumowanie (1078)

Rozdział 30. Analiza klasy ActionBar (1079)

  • Anatomia klasy ActionBar (1080)
  • Aktywność paska działania wyświetlającego zakładki (1081)
  • Implementacja bazowych klas aktywności (1082)
    • Wprowadzenie jednolitego zachowania klas ActionBar (1084)
    • Implementacja obiektu nasłuchującego zdarzeń z zakładek (1087)
    • Implementacja aktywności przechowującej pasek zakładek (1088)
    • Przewijalny układ graficzny zawierający widok debugowania (1090)
    • Pasek działania a interakcja z menu (1091)
    • Plik manifest Androida (1093)
    • Badanie aktywności przechowującej pasek zakładek (1093)
  • Aktywność paska działania w trybie wyświetlania listy (1094)
    • Utworzenie klasy SpinnerAdapter (1095)
    • Utworzenie obiektu nasłuchującego listy (1095)
    • Konfigurowanie paska działania w trybie wyświetlania listy (1096)
    • Zmiany w klasie BaseActionBarActivity (1097)
    • Zmiany w pliku AndroidManifest.xml (1097)
    • Badanie aktywności zawierającej pasek działania w trybie wyświetlania listy (1098)
  • Aktywność przechowująca standardowy pasek działania (1099)
    • Aktywność przechowująca standardowy pasek działania (1100)
    • Zmiany w klasie BaseActionBarActivity (1101)
    • Zmiany w pliku AndroidManifest.xml (1101)
    • Badanie aktywności przechowującej standardowy pasek działania (1102)
  • Odnośniki (1102)
  • Podsumowanie (1104)

Rozdział 31. Dodatkowe zagadnienia związane z wersją 3.0 systemu (1105)

  • Widżety ekranu startowego oparte na listach (1105)
    • Nowe widoki zdalne w wersji 3.0 systemu (1106)
    • Praca z listami stanowiącymi część widoku zdalnego (1107)
    • Działający przykład - testowy widżet ekranu startowego oparty na liście (1121)
    • Testowanie widżetu wyświetlającego listę (1130)
  • Funkcja przeciągania (1131)
    • Podstawowe informacje o funkcji przeciągania w wersji 3.0 Androida (1131)
    • Przykładowa aplikacja prezentująca funkcję przeciągania (1133)
    • Testowanie przykładowej aplikacji wykorzystującej funkcję przeciągania (1145)
  • Odnośniki (1146)
  • Podsumowanie (1147)

Skorowidz (1149)

  • Tytuł: Android 3. Tworzenie aplikacji
  • Autor: Satya Komatineni, Dave MacLean, Sayed Hashimi
  • Tytuł oryginału: Pro Android 3
  • Tłumaczenie: Krzysztof Sawka
  • ISBN: 978-83-246-4184-0, 9788324641840
  • Data wydania: 2012-04-26
  • Format: Ebook
  • Identyfikator pozycji: and3ta
  • Wydawca: Helion