Details zum E-Book

iOS 5. Programowanie. Receptury

iOS 5. Programowanie. Receptury

Vandad Nahavandipoor

E-book

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!

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)

  • Titel: iOS 5. Programowanie. Receptury
  • Autor: Vandad Nahavandipoor
  • Originaler Titel: iOS 5 Programming Cookbook: Solutions & Examples for iPhone, iPad, and iPod touch Apps
  • Übersetzung: Robert Górczyński
  • ISBN: 978-83-246-5733-9, 9788324657339
  • Veröffentlichungsdatum: 2012-09-14
  • Format: E-book
  • Artikelkennung: ios5re
  • Verleger: Helion