جزییات کتاب
От издателя:Книга предназначена для профессиональных программистов, желающих создавать приложения для iPhone 3G и iPod Touch с помощью Apple SDK. Освоение материала не требует предварительного изучения языка Objective-C - его основы даются в начале книги. В книге подробно описываются основы iPhone SDK. Значительная часть материала посвящена разработке пользовательских интерфейсов, механизму баз данных SQLite и библиотеке обработки XML Hbxml2. Большое внимание уделено возможностям iPhone как GPS-навигатора. Содержание: --> Содержание: Введение11Для кого предназначена книга12Что вам необходимо13Структура книги14Глава 1. Objective-C и Cocoa171.1.Классы181.1.1.Объявление класса181.1.2.Как использовать другие объявления191.1.3.Определение класса201.1.4.Определение и вызов методов201.1.5.Важные типы211.1.6.Важные классы Cocoa221.2.Управление памятью231.3.Протоколы261.4.Свойства281.5.Категории341.6.Позиционирование351.7.Исключения и ошибки361.7.1.Исключения361.7.2.Ошибки401.8.Кодирование «ключ-значение»421.9.Многопотоковость501.10.Резюме54Задачи54Глава 2. Коллекции582.1.Массивы582.1.1.Неизменяемое копирование622.1.2.Изменяемое копирование642.1.3.Расширенное копирование652.1.4.Сортировка массива692.2.Множества742.2.1.Неизменяемые множества742.2.2.Изменяемые множества752.2.3.Дополнительные важные методы772.3.Словари782.4.Резюме80Глава 3. Анатомия iPhone-приложения823.1.Приложение HelloWorld823.2.Создание приложения HelloWorld85Глава 4. Представление904.1.Геометрия представления904.1.1.Определения полезных геометрических типов данных904.1.2.Класс UlScreen914.1.3.Атрибуты frame и center934.1.4.Атрибут bounds944.2.Иерархия представлений964.3.Multitouch-интерфейс964.3.1.Класс UITouch974.3.2.Класс UI Event984.3.3.Класс UIResponder984.3.4.Обработка скольжений1044.3.5.Более совершенное распознавание жестов1084.4.Анимация1134.4.1.Использование поддержки анимации в классе UlView1134.4.2.Анимация перехода1174.5.Рисование120Глава 5. Элементы управления1225.1.Основа всех элементов управления1225.1.1.Атрибуты UlControl1235.1.2.Механизм «цель-действие»1235.2.UITextField1265.2.1.Взаимодействие с клавиатурой1285.2.2.Делегат1315.2.3.Создание и работа с UITextField1325.3.Слайдеры1335.4.Переключатели1345.5.Кнопки1355.6.Сегментированные элементы управления1365.7.Страничные элементы управления1405.8.Элементы выбора даты1415.9.Резюме142Глава 6. Контроллеры представлений1436.1.Простейший контроллер представления1436.1.1.Контроллер представления1436.1.2.Представление1466.1.3.Делегат приложения1466.1.4.Резюме1486.2.Радиоинтерфейсы1496.2.1.Детальный пример1506.2.2.Некоторые комментарии к контроллерам панелей закладок1556.3.Контроллеры навигации1606.3.1.Пример поведения класса навигации1606.3.2.Настройка1666.4.Модальные контроллеры представления1706.5.Резюме176Глава 7. Специализированные представления1777.1.Представления подбора значений1777.1.1.Делегат1777.1.2.Пример1797.2.Представления индикаторов деятельности1837.3.Текстовое представление....1867.3.1.Делегат1867.3.2.Пример1877.4.Представление предупреждения1907.5.Списки действий1927.6.Веб-представления1937.6.1.Простое приложение с веб-представлением1947.6.2.Просмотр локальных файлов1977.6.3.Выполнение javascript2027.6.4.Делегат веб-представления208Глава 8. Табличное представление2148.1.Обзор2148.2.Простейшее приложение с табличным представлением2158.3.Табличное представление, содержащее изображения и текст2198.4.Табличное представление с верхним и нижним колонтитулами секции2208.5.Табличное представление с возможностью удалять строки2228.6.Табличное представление с возможностью вставки строк2298.7.Упорядочивание табличных строк2358.8.Вывод иерархической информации2408.9.Сгруппированные табличные представления2498.10.Индексированные табличные представления2528.11.Резюме257Глава 9. Управление файлами2589.1.Домашняя директория2589.2.Поиск в директории2599.3.Создание и удаление директории2609.4.Создание файлов2629.5.Считывание и изменение атрибутов2659.6.Работа с ресурсами и низкоуровневый доступ к файлам2699.7.Резюме272Глава 10. Работа с базами данных27310.1.Основные операции с базой данных27310.2.Обработка результирующих строк27710.3.Подготавливаемые выражения27910.3.1.Подготовка27910.3.2.Выполнение28010.3.3.Финализация28010.4.Пользовательские функции28210.5.Хранение BLOB-значений28610.6.Получение BLOB-значений28910.7.Резюме291Глава 11. Обработка XML29211.1.XML и RSS29211.1.1.XML29211.1.2.RSS29411.2.Объектная модель документа29611.3.Простой интерфейс для XML30211.4.Приложение для чтения RSS31011.5.Резюме313Задачи315Глава 12. Информация о местоположении31712.1.Фреймворк Core Location31712.2.Простейшее приложение, предоставляющее информацию о местоположении32112.3.Google Maps API32612.4.Отслеживающее приложение с картами местности33112.5.Работа с почтовыми индексами33612.6.Резюме339Глава 13. Работа с устройствами34013.1.Работа с акселерометром34013.2.Аудио34513.3.Видео34713.4.Информация об устройстве34713.5.Производство и просмотр снимков34813.5.1.Общий подход34913.5.2.Подробный пример34913.6.Резюме357Приложение А. Сохранение и восстановление состояния программы358Приложение Б. Запуск внешних программ361Ссылки и библиография363Алфавитный указатель364 Структура книги: --> Структура книги:Глава 1. Описывает основные свойства языка Objective-C в среде Cocoa. Вы ознакомитесь с основными идеями в управлении классами в Objective-C и научитесь объявлять, определять и использовать новый класс. Вас также познакомят с основными классами и типами данных Cocoa. Еще вы узнаете об управлении памятью в iPhone OS, научитесь создавать и удалять новые объекты и изучите правила применения объектов из Сосоа-платформы или других платформ. Вы ознакомитесь с темой протоколов в Objective-C, научитесь использовать существующие протоколы и объявлять новые. Эта глава также описывает такие свойства языка, как атрибуты, категории и позиционирование. Здесь же представлены исключения и техники обработки ошибок. Еще вы ознакомитесь с концепцией программирования «ключ-значение» (key-value coding, KVC) и научитесь использовать многопоточность в вашем iPhone-приложении. Глава 2. Посвящена коллекциям в Cocoa. В ней рассматриваются массивы, множества и словари. Вы узнаете о неизменяемых и изменяемых коллекциях, различных подходах, используемых для наполнения коллекций, а также некоторых методах сортировки. Глава 3. В ней рассматриваются основные шаги при построении простейшего iPhone-приложения — описана основная структура простого iPhone-приложения и этапы разработки программы с применением Xcode. Глава 4. Здесь разъясняются основные концепции видов. Вы узнаете о геометрии и иерархии видов, multitouch-интерфейсе, анимации и основах рисования в Quartz 2D. Глава 5. Из нее вы узнаете о базовом классе для всех элементов управления — UIControl — и важном механизме «цель-действие» (target-action). Эта глава также представит некоторые важные графические элементы управления, которые можно использовать для построения интересных iPhone-приложений. Глава 6. Описывает доступные контроллеры представлений, имеющиеся в iPhone SDK. Можно создать iPhone-приложение, не используя этих контроллеров, однако делать этого не стоит — контроллеры представлений упрощают приложение. Эта глава предлагает введение в использование контроллеров представлений и подробное описание применения контроллеров панелей закладок, контроллеров навигации и модальных контроллеров. Глава 7. Познакомит вас с несколькими важными подклассами класса UIview. Вы узнаете об элементах выбора и их использовании для выбора каких-либо значений. Мы рассмотрим компоненты отображения прогресса, компоненты индикации деятельности и текстовые компоненты, применяемые для отображения многострочного текста. Вы узнаете, как использовать компоненты уведомлений для отображения уведомительных сообщений пользователю. Будут также рассмотрены диалоговые окна. Глава 8. Эта глава шаг за шагом проведет вас через мир таблиц. Мы начнем с обзора основных концепций табличных представлений данных, затем рассмотрим простейшее приложение с таблицей и обязательные методы накопления и обработки данных взаимодействия пользователя с таблицей. Вы узнаете, как добавлять изображения в строки таблицы, и ознакомитесь с концепцией секций и приложением с таблицей, содержащей секции с собственными заголовками и подвалами. В этой главе также представлен метод редактирования таблиц и описана программа, позволяющая удалять строки в таблице. Мы обратимся к способам вставки новых строк в таблицу и обсудим приложение, дающее возможности просмотра отдельной записи данных и добавления в таблицу новых записей. Мы продолжим обсуждение режима редактирования и рассмотрим приложение с возможностью перестановки записей в таблице. Затем обсудим механизм отображения пользователю информации в иерархическом виде, а также приложение, использующее таблицу для представления трех уровней иерархии. На примерах займемся сгруппированными таблицами, а затем ознакомимся с основными идеями касательно индексированных таблиц. Глава 9. Эта глава раскрывает тему управления файлами. Вы научитесь использовать высоко- и низкоуровневые методы сохранения и извлечения данных из файлов. Мы поговорим о домашнем каталоге приложения, а затем вы научитесь перечислять содержимое директории, используя высокоуровневые методы файлового менеджера NSFileManager. Вы узнаете больше о структуре домашнего каталога и местах возможного хранения файлов. Вы научитесь создавать и удалять каталоги, ознакомитесь с методами создания файлов и изучите атрибуты файлов и каталогов. В этой главе мы расскажем, как считывать и устанавливать атрибуты, а также использовать пакеты приложений и низкоуровневого доступа к файлам. Глава 10. В ней рассматриваются основы механизма баз данных SQLite, доступного в iPhone SDK. SQLite является встроенной базой данных, то есть отдельно работающего сервера нет — весь механизм баз данных встроен в ваше приложение. Вы изучите основные выражения языка SQL, их реализацию с использованием вызовов функций SQLite и обработку результирующих множеств, генерируемых выражениями SQL. Мы также обратимся к темам предкомпилированных выражений, расширений SQLite API на примере пользовательских функций и хранения и считывания BLOB-полей из базы данных.Глава 11. Здесь вы научитесь эффективному использованию XML в вашем iPhone-приложонии. Глава развивает предшествующую тематику и описывает принципы работы iPhone-приложения для чтения RSS-ленты. Мы рассмотрим синтаксический анализ DOM и SAX, табличное приложение для чтения RSS-ленты, а в качестве итога будут описаны основные этапы, которые нужно пройти для эффективного использования XML в вашем iPhone-приложении. Глава 12. В ней мы обратимся к теме определения местоположения — рассмотрим технологию Core Location и ее использование для построения приложений, определяющих местоположение, и обсудим простейшее приложение с определением местности. Затем вы ознакомитесь с геокодированием. Вы научитесь переводить почтовые адреса в географические, определять движение устройства и отражать эту информацию на картах и узнаете о способах соотношения почтовых индексов и географической информации. Глава 13. В этой главе вы ознакомитесь с использованием некоторых внутренних устройств iPhone. Вы узнаете, как применять акселерометр, проигрывать небольшие звуковые и видеофайлы, получать техническую информацию об устройстве iPhone/iPod Touch и использовать встроенную камеру и фотобиблиотеку. Приложение А. В нем описано использование списков свойств для сохранения и восстановления состояния приложения. Это создает видимость, что ваше приложение не завершается, когда пользователь нажимает кнопку Ноmе (Домой). Приложение Б. Здесь вы научитесь программно вызывать приложения iPhone из вашего собственного и публиковать службы, которые могут быть использованы другими приложениями iPhone. Еще книги по теме: Objective-C 2.0 и программирование для Mac iPhone. Разработка приложений с открытым кодом
درباره نویسنده
مهرعلی برجستهترین نقاش دربار فتحعلیشاه قاجار به شمار میآید. فعالیت هنری او در سالهای ۱۲۴۵- ۱۲۱۰ ه.