PRZEDMIOTEM OFERTY JEST KOD DOSTĘPOWY DO KSIĄŻKI ELEKTRONICZNEJ (EBOOK)
KSIĄŻKA JEST DOSTĘPNA NA ZEWNĘTRZNEJ PLATFORMIE. KSIĄŻKA NIE JEST W POSTACI PLIKU.
Wykorzystaj w pe?ni potencja? w?tków! Je?eli chcesz tworzy? aplikacje dostarczaj?ce u?ytkownikom doskona?ych wra?e?, je?eli chcesz wykonywa? skomplikowane zadania szybciej lub po prostu musisz jednocze?nie wykonywa? ró?ne dzia?ania naucz si? korzysta? z w?tków. Tworzenie programów wielow?tkowych jest trudne, ale opanowanie tej sztuki pozwoli Ci osi?gn?? wymierne korzy?ci! Ta ksi??ka w ca?o?ci po?wi?cona jest korzystaniu z w?tków na platformie Android. Dzi?ki niej poznasz przeró?ne sposoby asynchronicznego przetwarzania oraz ich zalety i wady. Jednak na samym pocz?tku zapoznasz si? z podstawowymi informacjami dotycz?cymi wielow?tkowo?ci w j?zyku Java. Dowiesz si?, w jaki sposób w?tki komunikuj? si? ze sob? i synchronizuj? dost?p do zasobów oraz jak nimi zarz?dza?. Kolejne rozdzia?y zawieraj? spor? dawk? wiedzy na temat ró?nych technik asynchronicznych. Zapoznanie si? z ich tre?ci? u?atwi Ci wybór techniki, która spe?ni Twoje wymagania, gdy sam zabierzesz si? za tworzenie aplikacji wielow?tkowej. Ksi??ka ta jest obowi?zkow? lektur? dla programistów chc?cych w pe?ni wykorzysta? mo?liwo?ci platformy Android. Podstawy wielow?tkowo?ci w Javie i systemie Android. Komunikacja w?tków w obr?bie procesu i pomi?dzy procesami. Zastosowanie strategii redukowania ryzyka powstawania wycieków pami?ci. Zarz?dzanie cyklem ?ycia w?tku podstawowego. Sekwencyjne uruchamianie zada? w w?tku t?a za pomoc? klasy HandlerThread. U?ywanie frameworku wykonawcy Javy do kontrolowania i anulowania w?tków. Obs?uga wykonywania zada? w tle za pomoc? klas AsyncTask oraz IntentService. Uzyskiwanie dost?pu do dostawców tre?ci za pomoc? klasy AsyncQueryHandler. U?ywanie ?adowarek do aktualizowania interfejsu u?ytkownika nowymi ASK_FOR_LINK_2 po ?wiecie w?tków platformy Android!
- Autorzy: Anders Goransson
- Wydawnictwo: O'Reilly Media, Inc.
- Data wydania: 2014
- Wydanie: 1
- Liczba stron: 248
- Forma publikacji: ePub (online)
- Język publikacji: polski
- ISBN: 9781457190650
BRAK MOŻLIWOŚCI POBRANIA PLIKU. Drukowanie: OGRANICZENIE DO 2 stron. Kopiowanie: OGRANICZENIE DO 2 stron.
- Android Aplikacje wielowątkowe Techniki przetwarzania
- Dedykacja
- Przedmowa
- Czytelnicy
- Zawartość książki
- Konwencje użyte w tej książce
- Korzystanie z przykładów kodu
- Podziękowania
- 1. Komponenty systemu Android oraz potrzeba przetwarzania wieloprocesorowego
- Stos programowy systemu Android
- Architektura aplikacji
- Aplikacja
- Komponenty
- Komponent Activity
- Komponent Service
- Komponent ContentProvider
- Komponent BroadcastReceiver
- Wykonywanie aplikacji
- Procesy systemu Linux
- Cykl życia
- Uruchamianie aplikacji
- Kończenie działania aplikacji
- Strukturyzacja aplikacji w celu zwiększenia wydajności
- Tworzenie aplikacji responsywnych za pomocą wątków
- Podsumowanie
- I. Podstawy
- 2. Wielowątkowość w Javie
- Podstawy wątków
- Wykonywanie
- Aplikacja jednowątkowa
- Aplikacja wielowątkowa
- Zwiększone zużycie zasobów
- Zwiększona złożoność
- Niespójność danych
- Bezpieczeństwo wątków
- Blokada wewnętrzna i monitor Javy
- Synchronizowanie dostępu do zasobów współdzielonych
- Korzystanie z blokady wewnętrznej
- Korzystanie z jawnego mechanizmu blokowania
- Przykład: konsument i producent
- Strategie wykonywania zadań
- Model wykonywania współbieżnego
- Podsumowanie
- 3. Wątki w systemie Android
- Wątki aplikacji w systemie Android
- Wątki interfejsu użytkownika
- Wątki wiązania
- Wątki w tle
- Proces i wątki systemu Linux
- Szeregowanie
- Priorytet
- Grupy kontrolne
- Podsumowanie
- 4. Komunikacja wątków
- Potoki
- Podstawowe zastosowanie potoków
- Przykład: przetwarzanie tekstu w wątku roboczym
- Pamięć współdzielona
- Sygnalizacja
- Interfejs BlockingQueue
- Przesyłanie komunikatów w systemie Android
- Przykład: podstawowe przesyłanie komunikatów
- Klasy stosowane w przesyłaniu komunikatów
- Klasa MessageQueue
- Klasa ASK_FOR_LINK_2
- Przykład: użycie interfejsu IdleHandler do zakończenia niewykorzystywanego wątku
- Komunikaty
- Zainicjowany
- Oczekujący
- Wysłany
- Odzyskany
- Looper
- Zakończenie obiektu Looper
- Looper wątku interfejsu użytkownika
- Handler
- Konfiguracja
- Tworzenie komunikatu
- Wstawianie komunikatów
- Przykład: dwukierunkowe przesyłanie komunikatów
- Przetwarzanie komunikatów
- Usuwanie komunikatów z kolejki
- Obserwowanie kolejki komunikatów
- Robienie zrzutu bieżącej kolejki komunikatów
- Śledzenie przetwarzania kolejki komunikatów
- Komunikacja z wątkiem interfejsu użytkownika
- Podsumowanie
- 5. Komunikacja między procesami
- RPC systemu Android
- Binder
- Język AIDL
- Synchroniczne wywołanie RPC
- Asynchroniczne wywołanie RPC
- Przekazywanie komunikatów za pomocą obiektu Binder
- Komunikacja jednokierunkowa
- Komunikacja dwukierunkowa
- Podsumowanie
- 6. Zarządzanie pamięcią
- Odzyskiwanie pamięci
- Wycieki pamięci związane z wątkiem
- Wykonywanie wątku
- Klasy wewnętrzne
- Statyczne klasy wewnętrzne
- Niedopasowanie cyklu życia
- Komunikacja wątków
- Wysyłanie komunikatu danych
- Przesyłanie komunikatu zadań
- Unikanie wycieków pamięci
- Korzystanie ze statycznych klas wewnętrznych
- Korzystanie ze słabych referencji
- Zatrzymywanie wykonywania wątku roboczego
- Zachowanie wątków roboczych
- Czyszczenie kolejki komunikatów
- Podsumowanie
- II. Techniki asynchroniczne
- 7. Zarządzanie cyklem życia wątku podstawowego
- Podstawy
- Cykl życia
- Przerwania
- Wyjątki nieprzechwycone
- Zarządzanie wątkami
- Definiowanie i uruchamianie
- Anonimowa klasa wewnętrzna
- Wątek publiczny
- Definiowanie wątku statycznej klasy wewnętrznej
- Podsumowanie opcji definiowania wątku
- Retencja
- Zachowywanie wątku w obiekcie Activity
- Zachowywanie wątku w klasie Fragment
- Podsumowanie
- 8. Klasa HandlerThread: wysokopoziomowy mechanizm kolejkowania
- Podstawy
- Cykl życia
- Przypadki użycia
- Powtarzające się wykonywanie zadania
- Zadania powiązane
- Przykład: persystencja danych z interfejsem SharedPreferences
- Łańcuchowanie zadań
- Przykład: łańcuchowane wywołania sieciowe
- Warunkowe wstawianie zadania
- Podsumowanie
- 9. Kontrola wykonywania wątku za pomocą frameworku wykonawcy
- Interfejs Executor
- Pule wątków
- Predefiniowane pule wątków
- Niestandardowe pule wątków
- Konfiguracja klasy ThreadPoolExecutor
- Projektowanie puli wątków
- Ustalanie rozmiaru
- Dynamika
- Ograniczona lub nieograniczona kolejka zadań
- Konfiguracja wątku
- Rozszerzanie klasy ThreadPoolExecutor
- Cykl życia
- Zamykanie puli wątków
- Przypadki użycia i pułapki pul wątków
- Faworyzowanie tworzenia wątku kosztem kolejkowania
- Obsługa wstępnie załadowanych kolejek zadań
- Niebezpieczeństwo zerowej liczby wątków podstawowych
- Zarządzanie zadaniami
- Reprezentacja zadania
- Zatwierdzanie zadań
- Zatwierdzenie pojedyncze
- Metoda invokeAll
- Metoda invokeAny
- Odrzucanie zadań
- Klasa ExecutorCompletionService
- Podsumowanie
- 10. Wiązanie zadania w tle z wątkiem interfejsu użytkownika za pomocą klasy AsyncTask
- Podstawy
- Tworzenie i uruchamianie
- Anulowanie
- Stany
- Przykład: ograniczenie wykonywania instancji AsyncTask do jednej naraz
- Implementacja klasy AsyncTask
- Przykład: pobieranie obrazów
- Wykonywanie zadania w tle
- Wykonywanie globalne dla aplikacji
- Wykonywanie zadań w różnych wersjach platformy
- Wykonywanie niestandardowe
- Przykład: nieglobalne wykonywanie sekwencyjne
- Alternatywy dla klasy AsyncTask
- Trywialne implementacje klasy AsyncTask
- Zadania w tle wymagające instancji Looper
- Usługa lokalna
- Korzystanie z metody execute(Runnable)
- Podsumowanie
- 11. Usługi
- Dlaczego warto wykorzystać komponent Service do wykonywania asynchronicznego?
- Usługi lokalne, zdalne i globalne
- Tworzenie i wykonywanie
- Cykl życia
- Usługa uruchamiana
- Implementacja metody onStartCommand
- Opcje ponownego uruchamiania
- Usługa kontrolowana przez użytkownika
- Przykład: połączenie Bluetooth
- Usługa kontrolowana przez zadanie
- Przykład: pobieranie współbieżne
- Usługa wiązana
- Wiązanie lokalne
- Wybór techniki asynchronicznej
- Podsumowanie
- 12. Klasa IntentService
- Podstawy
- Dobre sposoby wykorzystania klasy IntentService
- Zadania uporządkowane sekwencyjnie
- Przykład: komunikacja usług sieciowych
- Wykonywanie asynchroniczne w komponencie BroadcastReceiver
- Przykład: okresowe operacje długotrwałe
- Porównanie klas IntentService oraz Service
- Podsumowanie
- 13. Uzyskiwanie dostępu do klasy ContentProvider za pomocą klasy AsyncQueryHandler
- Krótkie wprowadzenie do klasy ContentProvider
- Uzasadnienie dla przetwarzania w tle klasy ContentProvider
- Korzystanie z klasy AsyncQueryHandler
- Przykład: rozszerzanie listy kontaktów
- Klasa AsyncQueryHandler
- Ograniczenia
- Podsumowanie
- 14. Automatyczne wykonywanie w tle za pomocą ładowarek
- Framework ładowarek
- Klasa LoaderManager
- Porównanie metod initLoader oraz restartLoader
- Interfejsy LoaderCallbacks
- Klasa AsyncTaskLoader
- Bezproblemowe ładowanie danych za pomocą ładowarki CursorLoader
- Korzystanie z ładowarki CursorLoader
- Przykład: lista kontaktów
- Dodawanie obsługi operacji CRUD
- Przykład: korzystanie z ładowarki CursorLoader za pomocą klasy AsyncQueryHandler
- Implementowanie niestandardowych ładowarek
- Cykl życia ładowarki
- Ładowanie w tle
- Przykład: prosta ładowarka niestandardowa
- Zarządzanie treścią
- Dostarczanie zbuforowanych rezultatów
- Przykład: niestandardowa ładowarka plików
- Obsługa wielu ładowarek
- Podsumowanie
- 15. Podsumowanie: wybór techniki asynchronicznej
- Zachowanie prostoty
- Zarządzanie zasobami i wątkami
- Wymiana komunikatów w celu uzyskania responsywności
- Unikanie nieoczekiwanego zakończenia zadania
- Łatwy dostęp do klasy ContentProvider
- A. Bibliografia
- Książki
- Artykuły
- Prezentacje
- B. O autorze
- Indeks
- Kolofon
- Copyright
W tej ofercie kupujesz kod dostępowy umożliwiający dostęp do wskazanej treści. Kod umożliwia dostęp do treści za pomocą przeglądarki WWW, dedykowanej aplikacji iOS (Apple) ze sklepu App Store lub dedykowanej aplikacji Android ze sklepu Play. Kod oraz instrukcje otrzymasz pocztą elektroniczną niezwłocznie po zaksięgowaniu płatności. Brak możliwości pobrania pliku.
Na podstawie art. 38 pkt 13 Ustawy z dnia 30 maja 2014 roku o prawach konsumenta realizując kod dostępowy rezygnujesz z prawa do odstąpienia od umowy zawartej na odległość.
Typ licencji: licencja wieczysta.
BRAK MOŻLIWOŚCI POBRANIA PLIKU.
NIE PRZESYŁAMY PLIKÓW E-MAILEM.