iOS 5. Programowanie. Receptury - ebook
iOS 5. Programowanie. Receptury - ebook
Gotowe rozwiązania i przykłady aplikacji dla urządzeń iPhone, iPad i iPod touch
Szeroki wachlarz urządzeń mobilnych Apple sprawia, że łatwo jest dzięki nim dotrzeć do wielkiej liczby użytkowników. Z drugiej strony stawia jednak przed programistami nowe wyzwania - różne rozdzielczości ekranu i różne wyposażenie urządzeń to tylko niektóre z nich. Jak sobie poradzić z codziennymi problemami w trakcie tworzenia aplikacji dla iOS-a?
Jeżeli znasz iOS SDK, dzięki tej książce nauczysz się stosować setki technik z zakresu tworzenia oprogramowania na platformie iOS oraz pokonasz wiele uciążliwych problemów, które pojawiają się podczas tworzenia aplikacji dla urządzeń iPhone, iPad i iPod touch. Dowiesz się, jak zaimplementować procedurę rozpoznawania gestów, odtwarzania plików audio i wideo oraz wybierania konkretnych kontaktów i grup z książki adresowej. Ponadto znajdziesz gotowe do wdrożenia przykłady, korzystające z wielowątkowości, geolokalizacji i aparatu fotograficznego. Książka ta jest idealną pozycją dla wszystkich osób tworzących oprogramowanie dla platformy iOS. Zawarte w niej przykłady zaoszczędzą Ci mnóstwo czasu. Ta inwestycja się opłaca!
- Używanie różnych podejść podczas tworzenia interfejsu użytkownika
- Tworzenie aplikacji wykorzystujących informacje o bieżącym położeniu urządzenia iOS
- Implementacje procedur rozpoznawania gestów
- Odtwarzanie plików audio i wideo oraz uzyskiwanie dostępu do biblioteki wbudowanej aplikacji Muzyka
- Pobieranie poszczególnych kontaktów i grup kontaktów z książki adresowej
- Określanie dostępności kamery w urządzeniu iOS oraz uzyskiwanie dostępu do biblioteki wbudowanej aplikacji Zdjęcia
- Tworzenie aplikacji wykorzystujących możliwość wielozadaniowości systemu iOS
- Stosowanie i obsługa trwałego magazynu danych w aplikacjach
- Używanie struktury Event Kit do zarządzania kalendarzami i wydarzeniami
- Wykorzystanie możliwości oferowanych przez strukturę Core Graphics
- Uzyskiwanie dostępu do informacji pochodzących z przyśpieszeniomierza i żyroskopu
- Wykorzystanie możliwości oferowanych przez usługę iCloud
Zaoszczędź czasu dzięki pomocnym przykładom!
Spis treści
Wprowadzenie (11)
1. Podstawy (17)
- 1.0. Wprowadzenie (17)
- 1.1. Utworzenie prostej aplikacji iOS w Xcode (18)
- 1.2. Zrozumienie modułu Interface Builder (21)
- 1.3. Kompilacja aplikacji iOS (24)
- 1.4. Uruchomienie aplikacji iOS w symulatorze (26)
- 1.5. Uruchomienie aplikacji iOS w urządzeniu iOS (28)
- 1.6. Przygotowanie aplikacji iOS do dystrybucji (30)
- 1.7. Deklarowanie zmiennych w Objective-C (35)
- 1.8. Alokacja i tworzenie ciągu tekstowego (37)
- 1.9. Porównywanie wartości w Objective-C za pomocą polecenia if (40)
- 1.10. Implementacja pętli za pomocą polecenia for (43)
- 1.11. Implementacja pętli while (45)
- 1.12. Tworzenie własnej klasy (48)
- 1.13. Zdefiniowanie funkcjonalności klasy (51)
- 1.14. Definiowanie dwóch lub wielu metod o tej samej nazwie (55)
- 1.15. Alokacja i inicjalizacja obiektów (58)
- 1.16. Dodawanie właściwości do klasy (60)
- 1.17. Przejście od ręcznego do automatycznego zarządzania licznikiem użycia (63)
- 1.18. Rzutowanie i technologia Automatic Reference Counting (68)
- 1.19. Delegacja zadań za pomocą protokołów (71)
- 1.20. Ustalenie, czy dostępna jest dana metoda klasy lub egzemplarza (76)
- 1.21. Ustalenie, czy klasa jest dostępna podczas działania aplikacji (79)
- 1.22. Alokacja i używanie liczb (80)
- 1.23. Alokacja i używanie tablic (82)
- 1.24. Alokacja i używanie słowników (86)
- 1.25. Alokowanie i używanie zbiorów (89)
- 1.26. Tworzenie tzw. pakietu (91)
- 1.27. Wczytywanie danych z pakietu głównego (92)
- 1.28. Wczytywanie danych z innych pakietów (95)
- 1.29. Wysyłanie powiadomień za pomocą NSNotificationCenter (98)
- 1.30. Nasłuchiwanie powiadomień wysyłanych przez NSNotificationCenter (100)
2. Implementacja kontrolera i widoku (105)
- 2.0. Wprowadzenie (105)
- 2.1. Wyświetlanie komunikatów za pomocą UIAlertView (106)
- 2.2. Tworzenie i używanie przełączników za pomocą klasy UISwitch (114)
- 2.3. Wybór wartości za pomocą klasy UIPickerView (117)
- 2.4. Wybór daty i godziny za pomocą UIDatePicker (124)
- 2.5. Implementacja możliwości wyboru wartości z zakresu za pomocą UISlider (129)
- 2.6. Grupowanie opcji za pomocą UISegmentedControl (132)
- 2.7. Prezentowanie widoków i zarządzanie nimi za pomocą klasy UIViewController (138)
- 2.8. Implementacja nawigacji za pomocą klasy UINavigationController (142)
- 2.9. Operacje na tablicy kontrolerów widoku (147)
- 2.10. Wyświetlenie obrazu na pasku nawigacyjnym (148)
- 2.11. Dodawanie przycisku do paska nawigacyjnego przy użyciu UIBarButtonItem (149)
- 2.12. Wyświetlenie wielu kontrolerów widoku za pomocą UITabBarController (156)
- 2.13. Wyświetlanie tekstu statycznego za pomocą UILabel (162)
- 2.14. Akceptacja tekstowych danych wejściowych użytkownika wprowadzanych przez UITextField (166)
- 2.15. Wyświetlanie długich wierszy tekstu w UITextView (173)
- 2.16. Dodawanie przycisków do interfejsu użytkownika za pomocą klasy UIButton (178)
- 2.17. Wyświetlanie obrazów za pomocą UIImageView (182)
- 2.18. Utworzenie przewijanej treści za pomocą UIScrollView (186)
- 2.19. Wczytywanie stron internetowych za pomocą UIWebView (191)
- 2.20. Przedstawianie widoków typu główny-szczegółowy za pomocą UISplitViewController (195)
- 2.21. Włączenie stronicowania w UIPageViewController (201)
- 2.22. Wyświetlanie okna typu Popover za pomocą UIPopoverController (205)
- 2.23. Wyświetlanie paska postępu za pomocą UIProgressView (214)
- 2.24. Nasłuchiwanie powiadomień klawiatury i reagowanie na nie (216)
3. Konstruowanie i używanie widoku tabeli (231)
- 3.0. Wprowadzenie (231)
- 3.1. Utworzenie widoku tabeli (231)
- 3.2. Przypisanie delegata widokowi tabeli (233)
- 3.3. Wypełnianie widoku tabeli danymi (235)
- 3.4. Pobieranie i obsługa zdarzeń widoku tabeli (238)
- 3.5. Używanie w komórce widoku tabeli różnego rodzaju przycisków pomocniczych (240)
- 3.6. Tworzenie własnych przycisków pomocniczych w komórce widoku tabeli (242)
- 3.7. Wyświetlanie danych hierarchicznych w widoku tabeli (244)
- 3.8. Usunięcie komórki widoku tabeli za pomocą gestu machnięcia (245)
- 3.9. Utworzenie nagłówków i stopek w widoku tabeli (247)
- 3.10. Wyświetlanie menu kontekstowego w komórce widoku tabeli (255)
- 3.11. Przenoszenie komórek i sekcji w widoku tabeli (259)
- 3.12. Usuwanie komórek i sekcji z widoku tabeli (265)
4. Storyboard (275)
- 4.0. Wprowadzenie (275)
- 4.1. Utworzenie projektu z funkcją Storyboard (276)
- 4.2. Dodanie kontrolera nawigacyjnego do aplikacji, w której wykorzystano funkcję Storyboard (278)
- 4.3. Przekazywanie danych pomiędzy ekranami (286)
- 4.4. Dodanie funkcji Storyboard do istniejącego projektu (289)
5. Współbieżność (291)
- 5.0. Wprowadzenie (291)
- 5.1. Tworzenie obiektu bloku (296)
- 5.2. Uzyskanie dostępu do zmiennych obiektu bloku (300)
- 5.3. Wywoływanie obiektu bloku (305)
- 5.4. Przekazywanie zadań do technologii Grand Central Dispatch (306)
- 5.5. Wykorzystanie GCD do wykonywania zadań związanych z interfejsem użytkownika (307)
- 5.6. Synchroniczne wykonywanie zadań niepowiązanych z interfejsem użytkownika (311)
- 5.7. Asynchroniczne wykonywanie zadań niepowiązanych z interfejsem użytkownika (313)
- 5.8. Wykonywanie zadań w GCD po upłynięciu pewnego czasu (318)
- 5.9. Tylko jednorazowe wykonanie zadania za pomocą technologii GCD (321)
- 5.10. Grupowanie zadań w GCD (322)
- 5.11. Tworzenie własnej kolejki w technologii GCD (326)
- 5.12. Synchroniczne wykonywanie zadań wraz z operacjami (328)
- 5.13. Asynchroniczne wykonywanie zadań wraz z operacjami (334)
- 5.14. Tworzenie zależności pomiędzy operacjami (340)
- 5.15. Tworzenie licznika czasu (342)
- 5.16. Zapewnienie współbieżności przy użyciu wątków (346)
- 5.17. Wywoływanie metod w tle (351)
- 5.18. Istniejące wątki i liczniki czasu (352)
6. Core Location i mapy (355)
- 6.0. Wprowadzenie (355)
- 6.1. Utworzenie widoku mapy (357)
- 6.2. Obsługa zdarzeń widoku mapy (359)
- 6.3. Zaznaczanie na mapie położenia urządzenia iOS (360)
- 6.4. Wyświetlanie pinezek na mapie (362)
- 6.5. Wyświetlanie w widoku mapy pinezek w różnych kolorach (365)
- 6.6. Wyświetlanie własnych pinezek w widoku mapy (370)
- 6.7. Konwersja adresu na współrzędne geograficzne (373)
- 6.8. Konwersja współrzędnych geograficznych na rzeczywisty adres (374)
7. Implementacja rozpoznawania gestów (377)
- 7.0. Wprowadzenie (377)
- 7.1. Wykrywanie gestu machnięcia (379)
- 7.2. Wykrywanie gestu obrotu (381)
- 7.3. Wykrywanie gestów przesunięcia i przeciągnięcia (384)
- 7.4. Wykrywanie gestu długiego naciśnięcia (386)
- 7.5. Wykrywanie gestu stuknięcia (389)
- 7.6. Wykrywanie gestu uszczypnięcia (390)
8. Sieć, JSON, XML i Twitter (393)
- 8.0. Wprowadzenie (393)
- 8.1. Asynchroniczne pobieranie danych za pomocą klasy NSURLConnection (393)
- 8.2. Obsługa przekroczenia czasu oczekiwania dla połączeń asynchronicznych (396)
- 8.3. Synchroniczne pobieranie danych za pomocą klasy NSURLConnection (397)
- 8.4. Modyfikacja żądania URL za pomocą klasy NSMutableURLRequest (399)
- 8.5. Wysyłanie żądań HTTP GET za pomocą klasy NSURLConnection (400)
- 8.6. Wysyłanie żądań HTTP POST za pomocą klasy NSURLConnection (402)
- 8.7. Wysyłanie żądań HTTP DELETE za pomocą klasy NSURLConnection (404)
- 8.8. Wysyłanie żądań HTTP PUT za pomocą klasy NSURLConnection (406)
- 8.9. Serializacja tablic i słowników do obiektu JSON (408)
- 8.10. Deserializacja obiektu JSON na postać słownika i tablicy (410)
- 8.11. Integracja funkcji serwisu Twitter w Twojej aplikacji (413)
- 8.12. Przetwarzanie danych XML za pomocą klasy NSXMLParser (418)
9. Audio i wideo (425)
- 9.0. Wprowadzenie (425)
- 9.1. Odtwarzanie plików audio (425)
- 9.2. Obsługa zakłóceń podczas odtwarzania treści audio (427)
- 9.3. Nagrywanie treści audio (428)
- 9.4. Obsługa zakłóceń podczas nagrywania treści audio (434)
- 9.5. Odtwarzanie treści audio podczas odtwarzania innych dźwięków (435)
- 9.6. Odtwarzanie plików wideo (438)
- 9.7. Tworzenie zrzutu ekranu z odtwarzanego pliku wideo (442)
- 9.8. Uzyskanie dostępu do biblioteki muzycznej (444)
10. Książka adresowa (451)
- 10.0. Wprowadzenie (451)
- 10.1. Pobranie odniesienia do książki adresowej (452)
- 10.2. Pobranie informacji z wszystkich kontaktów w książce adresowej (455)
- 10.3. Pobranie właściwości kontaktu książki adresowej (456)
- 10.4. Wstawienie kontaktu do książki adresowej (460)
- 10.5. Wstawianie grupy do książki adresowej (463)
- 10.6. Dodawanie kontaktów do grupy (466)
- 10.7. Przeszukiwanie książki adresowej (469)
- 10.8. Pobieranie i ustawianie obrazu kontaktu w książce adresowej (473)
11. Aparat i biblioteka zdjęć (479)
- 11.0. Wprowadzenie (479)
- 11.1. Wykrywanie i sprawdzanie możliwości kamery (481)
- 11.2. Wykonywanie zdjęć aparatem (485)
- 11.3. Nagrywanie filmów kamerą (488)
- 11.4. Przechowywanie zdjęć w bibliotece aplikacji Zdjęcia (491)
- 11.5. Przechowywanie filmów w bibliotece aplikacji Zdjęcia (493)
- 11.6. Pobieranie zdjęć i filmów z biblioteki aplikacji Zdjęcia (495)
- 11.7. Pobieranie zasobów z biblioteki zasobów (496)
- 11.8. Edycja pliku filmu w urządzeniu iOS (502)
12. Wielozadaniowość (507)
- 12.0. Wprowadzenie (507)
- 12.1. Wykrywanie obsługi wielozadaniowości (508)
- 12.2. Wykonywanie długotrwałych operacji w tle (509)
- 12.3. Otrzymywanie w tle powiadomień lokalnych (512)
- 12.4. Odtwarzanie dźwięku w tle (519)
- 12.5. Obsługa w tle zmian położenia urządzenia (521)
- 12.6. Zapis i odczyt informacji o stanie w aplikacjach wykorzystujących wielozadaniowość (524)
- 12.7. Obsługa połączeń sieciowych w tle (527)
- 12.8. Obsługa powiadomień dostarczanych aktywowanej aplikacji (530)
- 12.9. Udzielanie odpowiedzi na zmiany w aplikacji Ustawienia (532)
- 12.10. Rezygnacja z wielozadaniowości (534)
13. Core Data (537)
- 13.0. Wprowadzenie (537)
- 13.1. Tworzenie modelu Core Data za pomocą Xcode (540)
- 13.2. Generowanie plików klas dla encji Core Data (543)
- 13.3. Tworzenie i zapisywanie danych za pomocą Core Data (545)
- 13.4. Odczyt danych z Core Data (547)
- 13.5. Usuwanie danych z Core Data (549)
- 13.6. Sortowanie danych w Core Data (552)
- 13.7. Uzyskanie dostępu do danych w widoku tabeli (553)
- 13.8. Implementacja związków w Core Data (564)
14. Daty, kalendarze i wydarzenia (571)
- 14.0. Wprowadzenie (571)
- 14.1. Pobieranie listy kalendarzy (574)
- 14.2. Dodawanie wydarzeń do kalendarzy (576)
- 14.3. Uzyskanie dostępu do treści kalendarzy (578)
- 14.4. Usuwanie wydarzeń z kalendarza (582)
- 14.5. Umieszczanie w kalendarzach powtarzających się wydarzeń (587)
- 14.6. Pobieranie uczestników wydarzenia (589)
- 14.7. Dodawanie alarmu do kalendarza (594)
- 14.8. Obsługa powiadomień informujących o zmianie wydarzenia (596)
- 14.9. Wyświetlenie kontrolera widoku wydarzenia (598)
- 14.10. Wyświetlanie kontrolera widoku wydarzenia umożliwiającego edycję właściwości wydarzenia (603)
15. Grafika i animacja (607)
- 15.0. Wprowadzenie (607)
- 15.1. Wyświetlenie listy czcionek i ich wczytywanie (614)
- 15.2. Wyświetlanie tekstu (616)
- 15.3. Tworzenie, konfigurowanie i używanie koloru (617)
- 15.4. Wyświetlanie obrazów (622)
- 15.5. Rysowanie linii (626)
- 15.6. Tworzenie ścieżek (631)
- 15.7. Rysowanie prostokątów (635)
- 15.8. Dodawanie cienia do kształtu (638)
- 15.9. Rysowanie gradientów (642)
- 15.10. Zmiana położenia kształtów narysowanych w kontekście graficznym (649)
- 15.11. Skalowanie kształtów w kontekście graficznym (652)
- 15.12. Obracanie kształtów rysowanych w kontekście graficznym (654)
- 15.13. Animacja i przesuwanie widoków (655)
- 15.14. Animacja i skalowanie widoku (663)
- 15.15. Animacja i obrót widoku (665)
16. Core Motion (667)
- 16.0. Wprowadzenie (667)
- 16.1. Wykrywanie dostępności przyśpieszeniomierza (668)
- 16.2. Wykrywanie dostępności żyroskopu (670)
- 16.3. Pobieranie danych z przyśpieszeniomierza (671)
- 16.4. Wykrywanie gestu potrząśnięcia w urządzeniu iOS (674)
- 16.5. Pobieranie danych z żyroskopu (677)
17. iCloud (681)
- 17.0. Wprowadzenie (681)
- 17.1. Konfiguracja aplikacji w celu zapewnienia obsługi usługi iCloud (682)
- 17.2. Przechowywanie i synchronizacja słowników w iCloud (686)
- 17.3. Tworzenie katalogów i zarządzanie nimi w usłudze iCloud dla aplikacji (691)
- 17.4. Wyszukiwanie plików i katalogów w usłudze iCloud (697)
- 17.5. Przechowywanie dokumentów użytkownika w usłudze iCloud (705)
- 17.6. Zarządzanie stanem dokumentów w usłudze iCloud (718)
- 17.7. Obsługa błędów w dokumentach iCloud (721)
Skorowidz (731)
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-246-5733-9 |
Rozmiar pliku: | 16 MB |