Android 3 для профессионалов. Создание приложений для планшетных компьютеров и смартфонов

Сатия Коматинени, Дэйв Маклин, Саид Хашими

Эта книга посвящена построению реальных мобильных приложений с использованием новой версии Android 3.0 SDK. В ней раскрываются все аспекты, начиная с основ создания приложений для встроенных устройств, телефонов и планшетных ПК и заканчивая расширенными концепциями, такими как построение трехмерных компонентов и реализация многозадачности. Кроме того, вы научитесь работать с картами, реализовывать средства поиска, использовать виджеты домашнего экрана и ActionBar.

Благодаря этому руководству и многочисленным советам экспертов, вы быстро научитесь создавать современные мобильные приложения и запускать их на десятках основанных на платформе Android смартфонов. Вы освоите множество API-интерфейсов Android, включая интерфейсы, которые предназначены для работы с медиа и датчиками. Вы ознакомитесь с новыми возможностями Android 3.0, в числе которых улучшенный пользовательский интерфейс для всех платформ Android, интеграция с WebM и многое другое, и обретете знания, которые помогут строить великолепные передовые приложения и быстро реагировать на изменения в будущем.

В книге рассматриваются следующие темы

  • Как использовать Android для построения мобильных Java-приложений для телефонов Google с сенсорными экранами или клавиатурами
  • Как спроектировать и реализовать неотразимые пользовательские интерфейсы для сенсорных экранов с помощью представлений и компоновок
  • Как заполнить приложение данными из источников данных с использованием поставщиков контента
  • Как создавать трехмерную графику с помощью OpenGL и специальных компонентов
  • Как построить мультимедиа- и игровые приложения с применением Media API и OpenGL из Android
  • Как использовать службы, основанные на местоположении, сетевые службы и средства безопасности
  • Как использовать новые средства Android 3.0, такие как фрагменты и ActionBar

Книга рассчитана на профессиональных разработчиков программного обеспечения, стремящихся перенести свои знания и приложения в мобильный мир Android. Предполагается наличие хороших знаний языка Java, включая умение создавать классы и работать с базовыми структурами наследования.

Издательство: Вильямс, 2012 г.

ISBN 978-5-8459-1746-1

Количество страниц: 1024.

Содержание книги «Android 3 для профессионалов. Создание приложений для планшетных компьютеров и смартфонов»:

  • 21 Вступление
  • 22 Об авторах
  • 22 О техническом рецензенте
  • 23 Благодарности
  • 23 Предисловие
  • 24 От издательства
  • 25 Глава 1. Введение в вычислительную платформу Android
    • 25 Новая платформа для нового персонального компьютера
    • 27 История Android
    • 29 Знакомство с Dalvik VM
    • 30 Стек программ Android
    • 31 Разработка приложений для конечных пользователей с помощью Android SDK
      • 31 Эмулятор Android
      • 32 Пользовательский интерфейс Android
      • 33 Основные компоненты Android
      • 34 Более сложные концепции пользовательского интерфейса
      • 36 Компоненты служб Android
      • 36 Компоненты Android для работы с носителями и телефонией
      • 37 Java-пакеты для Android
    • 40 Использование исходного кода Android
    • 41 Примеры проектов для настоящей книги
    • 41 Резюме
  • 42 Глава 2. Настройка среды разработки
    • 42 Настройка среды
      • 43 Загрузка JDK 6
      • 44 Загрузка Eclipse 3.6
      • 44 Загрузка Android SDK
      • 45 Изменение переменной среды PATH
      • 46 Окно инструментов
      • 46 Установка Android Development Tools (ADT)
    • 48 Основные компоненты
      • 48 Представление
      • 48 Действие
      • 49 Намерение
      • 49 Поставщик контента
      • 49 Служба
      • 49 Файл AndroidManifest.xml
      • 50 Виртуальные устройства Android
      • 50 Приложение «Hello World!»
    • 55 Виртуальные устройства Android
    • 56 Структура Android-приложения
    • 58 Приложение Notepad
      • 58 Загрузка и выполнение приложения Notepad
      • 59 Анализ приложения
    • 65 Жизненный цикл Android-приложения
    • 68 Отладка приложения
      • 70 Запуск эмулятора
      • 71 Режим StrictMode
    • 75 Ссылки
    • 75 Резюме
  • 76 Глава 3. Ресурсы Android
    • 76 Понятие ресурсов
      • 76 Строковые ресурсы
      • 78 Ресурсы компоновки
      • 80 Синтаксис ссылок на ресурсы
      • 81 Определение собственных идентификаторов ресурсов для дальнейшего использования
      • 82 Компилированные и не компилированные ресурсы Android
    • 83 Перечисление основных ресурсов Android
      • 85 Строковые массивы
      • 86 Множественные числа
      • 87 Еще о строковых ресурсах
      • 88 Цветовые ресурсы
      • 89 Ресурсы размеров
      • 90 Ресурсы изображений
      • 91 Ресурсы цветных фигур
    • 93 Работа с произвольными ресурсными XML-файлами
    • 94 Необработанные ресурсы
    • 95 Работа с активами
    • 95 Обзор структуры ресурсных каталогов
    • 96 Ресурсы и изменения конфигурации
    • 99 Ссылки
    • 99 Резюме
  • 100 Глава 4. Поставщики контента
    • 101 Знакомство с поставщиками, встроенными в Android
      • 102 Базы данных на эмуляторе и доступных устройствах
      • 105 Небольшое введение в SQLite
    • 106 Архитектура поставщиков контента
      • 107 Структура URI контента в Android
      • 108 Структура MIME-типов в Android
      • 109 Чтение данных с помощью URI
      • 112 Использование курсора Android
      • 113 Работа с конструкцией where
      • 115 Вставка записей
      • 116 Добавление файла к поставщику контента
      • 116 Изменения и удаления
    • 117 Реализация поставщиков контента
      • 117 Планирование базы данных
      • 119 Расширение класса ContentProvider
      • 124 Обеспечение контрактов MIME-типов
      • 124 Реализация метода query
      • 125 Реализация метода insert
      • 125 Реализация метода update
      • 125 Реализация метода delete
      • 125 Определение URI с помощью класса UriMatcher
      • 127 Использование карт проекций
      • 127 Регистрация поставщика
    • 127 Использование поставщика книг
      • 128 Добавление книги
      • 128 Удаление книги
      • 129 Получение количества книг
      • 129 Вывод списка книг
    • 130 Ссылки
    • 130 Резюме
  • 131 Глава 5. Намерения
    • 131 Понятие намерений в Android
    • 132 Намерения, доступные в Android
    • 134 Знакомство со структурой намерения
      • 135 Намерения и URI данных
      • 135 Обобщенные операции
      • 136 Использование дополнительной информации
      • 138 Непосредственный вызов действия с помощью компонентов
      • 139 Категории намерений
      • 141 Правила для определения соответствия намерений и их компонентов
    • 143 Действие ACTION_PICK
    • 146 Операция GET_CONTENT
    • 147 Отложенные намерения
    • 148 Ссылки
    • 148 Резюме
  • 149 Глава 6. Создание пользовательских интерфейсов и использование графических элементов
    • 149 Разработка пользовательского интерфейса в Android
      • 151 Создание пользовательского интерфейса полностью в коде
      • 153 Создание пользовательского интерфейса полностью в XML
      • 154 Создание пользовательского интерфейса в XML с кодом
    • 155 FILL_PARENT и MATCH_PARENT
    • 155 Распространенные элементы управления Android
      • 156 Текстовые элементы
      • 159 Кнопочные элементы управления
      • 166 Элемент ImageView
      • 167 Элементы указания даты и времени
      • 169 Элемент MapView
    • 170 Адаптеры
      • 171 Знакомство с SimpleCursorAdapter
      • 172 Знакомство с ArrayAdapter
    • 174 Использование адаптеров с элементами AdapterView
      • 174 Простейший элемент работы со списками – ListView
      • 182 Элемент GridView
      • 183 Элемент Spinner
      • 185 Элемент Gallery
      • 185 Создание собственных адаптеров
      • 190 Другие элементы управления Android
    • 191 Стили и темы
      • 191 Использование стилей
      • 193 Использование тем
    • 194 Диспетчеры компоновки
      • 194 Диспетчер компоновки LinearLayout
      • 197 Диспетчер компоновки TableLayout
      • 201 Диспетчер компоновки RelativeLayout
      • 202 Диспетчер компоновки FrameLayout
      • 204 Настройка компоновки для различных конфигураций устройства
    • 206 Отладка и оптимизация компоновок с помощью Hierarchy Viewer
    • 209 Ссылки
    • 209 Резюме
  • 210 Глава 7. Работа с меню
    • 210 Меню в Android
      • 211 Создание меню
      • 212 Работа с группами меню
    • 213 Реагирование на выбор пунктов меню
      • 213 Реагирование на выбор пунктов меню с помощью метода onOptionsItemSelected
      • 214 Реагирование на выбор пунктов меню с помощью слушателей
      • 214 Реагирование на выбор пунктов меню с помощью намерения
    • 215 Создание тестовой оснастки для опробования меню
      • 216 Создание XML-компоновки
      • 216 Создание действия
      • 217 Создание меню
      • 217 Добавление обычных пунктов меню
      • 218 Добавление вторичных пунктов
      • 218 Реагирование на щелчки на пунктах меню
      • 220 Корректировка файла AndroidManifest.xml
    • 221 Работа с другими видами меню
      • 221 Расширенные меню
      • 221 Меню со значками
      • 222 Работа с подменю
      • 222 Добавление системных меню
      • 223 Работа с контекстными меню
      • 226 Работа с альтернативными меню
      • 229 Работа с меню в ответ на изменение данных
    • 229 Загрузка меню из XML-файлов
      • 229 Структура ресурсного XML-файла меню
      • 230 Распаковка ресурсных XML-файлов меню
      • 231 Реагирование на пункты меню, созданных из XML
      • 232 Краткое введение в дополнительные XML-дескрипторы меню
    • 233 Ссылки
    • 233 Резюме
  • 234 Глава 8. Работа с диалоговыми окнами
    • 234 Использование диалоговых окон в Android
      • 234 Проектирование диалогового окна оповещения
      • 236 Создание диалогового окна приглашения
      • 241 Природа диалоговых окон в Android
      • 241 Переделка диалогового окна приглашения
    • 242 Работа с управляемыми диалоговыми окнами
      • 242 Протокол управляемых диалоговых окон
      • 243 Переделка неуправляемого диалогового окна в управляемое
      • 244 Упрощение протокола управляемых диалоговых окон
    • 252 Работа с Toast
    • 252 Ссылки
    • 253 Резюме
  • 254 Глава 9. Работа с предпочтениями и сохранение состояния
    • 254 Знакомство со средой настроек
      • 254 Элемент ListPreference
      • 263 Элемент CheckBoxPreference
      • 265 Элемент EditTextPreference
      • 266 Элемент RingtonePreference
    • 268 Организация настроек
    • 270 Программная работа с настройками
    • 271 Сохранение состояния с помощью настроек
    • 272 Ссылки
    • 272 Резюме
  • 273 Глава 10. Безопасность и права доступа
    • 273 Знакомство с моделью безопасности в Android
      • 273 Обзор концепций безопасности
      • 274 Подписание приложений для развертывания
    • 279 Проверки безопасности во время выполнения
      • 280 Защита на границах процессов
      • 280 Объявление и использование прав доступа
      • 281 Специальные права доступа и их использование
      • 287 Права доступа к URI и их применение
    • 289 Ссылки
    • 289 Резюме
  • 290 Глава 11. Построение и использование служб
    • 290 Потребление HTTP-служб
      • 291 Использование HttpClient для HTTP-запросов GET
      • 292 Использование HttpClient для HTTP-запросов POST (пример многоэлементного запроса)
      • 295 Анализаторы SOAP, JSON и XML
      • 296 Обработка исключений
      • 298 Проблемы, связанные с многопоточностью
      • 300 Обработка тайм-аутов
      • 301 Использование HttpURLConnection
      • 301 Использование AndroidHttpClient
      • 303 Использование фоновых потоков (AsyncTask)
      • 308 Обработка изменений в конфигурации в AsyncTask
      • 313 Получение файлов с использованием DownloadManager
      • 318 Использование служб Android
      • 318 Что собой представляют службы в Android
      • 319 Что собой представляют локальные службы
      • 326 Что собой представляют службы AIDL
      • 326 Определение интерфейса службы в AIDL
      • 329 Реализация AIDL-интерфейса
      • 331 Вызов службы из клиентского приложения
      • 335 Передача составных типов службе
    • 344 Реальный пример использования служб
      • 344 Google Translate API
      • 345 Использование Google Translate API
    • 353 Ссылки
    • 353 Резюме
  • 354 Глава 12. Исследование пакетов
    • 354 Пакеты и процессы
      • 354 Детали спецификации пакета
      • 355 Трансляция имени пакета в имя процесса
      • 355 Вывод списка установленных пакетов
      • 356 Удаление пакета с помощью браузера пакетов
    • 356 Еще раз о процессе подписания пакетов
      • 356 Цифровые подписи: сценарий 1
      • 357 Цифровые подписи: сценарий 2
      • 357 Шаблон для понимания цифровых подписей
      • 357 Как создать цифровую подпись?
      • 358 Последствия процесса подписания
    • 358 Разделение данных между пакетами
      • 359 Природа разделяемых идентификаторов пользователей
      • 359 Шаблон кода для разделения данных
    • 360 Библиотечные проекты
      • 361 Что собой представляет библиотечный проект?
      • 361 Особенности библиотечных проектов
      • 363 Создание библиотечного проекта
      • 366 Создание проекта Android, который использует библиотечный проект
    • 371 Ссылки
    • 371 Резюме
  • 372 Глава 13. Исследование обработчиков
    • 372 Компоненты и потоки Android
    • 373 Действия выполняются в главном потоке
    • 373 Широковещательные приемники выполняются в главном потоке
    • 374 Службы выполняются в главном потоке
    • 374 Поставщик контента выполняется в главном потоке
    • 374 Последствия наличия единственного главного потока
    • 374 Пулы потоков, поставщики контента и компоненты внешних служб
    • 374 Потоковые утилиты: исследование потоков
    • 375 Обработчики
    • 377 Последствия удержания главного потока
    • 377 Использование обработчика для откладывания работы в главном потоке
    • 378 Пример исходного кода обработчика, который откладывает работу
    • 379 Конструирование подходящего объекта сообщения
    • 380 Отправка объектов сообщений в очередь
    • 380 Реагирование на обратный вызов handleMessage()
    • 381 Использование рабочих потоков
    • 381 Активизация рабочего потока из меню
    • 382 Взаимодействие между рабочим и главным потоками
      • 382 Реализация WorkerThreadRunnable
      • 384 Реализация ReportStatusHandler
    • 385 Краткий обзор поведения потока
    • 385 Классы примера обработчиков управляющего действия
    • 386 Файл с управляющим действием
    • 389 Файл компоновки
    • 389 Файл меню
    • 389 Файл манифеста
    • 390 Время жизни компонентов и процессов
      • 390 Жизненный цикл действия
      • 391 Жизненный цикл службы
      • 392 Жизненный цикл приемника
      • 392 Жизненный цикл поставщика
    • 393 Инструкции по компиляции кода
      • 393 Создание проекта из ZIP-файла
      • 393 Создание проектов из листингов
    • 394 Ссылки
    • 394 Резюме
  • 395 Глава 14. Широковещательные приемники и длительно выполняющиеся службы
    • 395 Широковещательные приемники
      • 396 Отправка широковещательных рассылок
      • 396 Кодирование простого приемника: пример кода
      • 398 Регистрация приемника в файле манифеста
      • 398 Отправка тестовой широковещательной рассылки
      • 401 Использование нескольких приемников
      • 403 Проект для внепроцессных приемников
    • 404 Использование уведомлений, поступающих от приемника
      • 404 Отслеживание уведомлений с помощью диспетчера уведомлений
      • 405 Отправка уведомления
    • 408 Длительно выполняющиеся приемники и службы
      • 408 Протокол длительно выполняющегося широковещательного приемника
      • 409 Служба IntentService
      • 410 Исходный код IntentService
    • 412 Расширение IntentService для широковещательного приемника
      • 413 Абстракция длительно выполняющейся широковещательной службы
      • 415 Длительно выполняющийся приемник
      • 417 Абстрагирование блокировки пробуждения с помощью LightedGreenRoom
      • 418 Освещенная зеленая комната
      • 418 Реализация освещенной зеленой комнаты
    • 423 Реализация длительно выполняющейся службы
      • 423 Детали, связанные с nonsticky-службами
      • 424 Детали, связанные со sticky-службами
      • 424 Разновидность nonsticky-служб: повторная доставка намерений
      • 424 Указание флагов службы в OnStartCommand
      • 425 Выбор подходящего режима службы
      • 425 Управление блокировкой пробуждения из двух мест
      • 425 Реализация длительно выполняющейся службы
      • 427 Тестирование длительно выполняющихся служб
    • 428 Инструкции по компиляции кода
      • 428 Создание проектов из ZIP-файла
      • 428 Создание проектов из листингов
    • 430 Ссылки
    • 431 Резюме
  • 432 Глава 15. Исследование диспетчера оповещений
    • 432 Основы диспетчера оповещений: установка простого оповещения
      • 432 Получение доступа к диспетчеру оповещений
      • 433 Установка времени оповещения
      • 434 Установка приемника для оповещения
      • 434 Создание намерения PendingIntent, соответствующего оповещению
      • 435 Установка оповещения
      • 436 Тестовый проект
    • 442 Альтернативные сценарии с диспетчером оповещений
      • 442 Повторная установка оповещения
      • 444 Компиляция кода примера
      • 444 Отмена оповещения
      • 446 Компиляция кода примера
      • 446 Работа с несколькими оповещениями
      • 449 Компиляция кода примера
      • 450 Приоритетность намерения при установке оповещений
      • 451 Компиляция кода примера
      • 453 Постоянство оповещений
    • 453 Основные факты, связанные с диспетчером оповещений
    • 454 Ссылки
    • 454 Резюме
  • 455 Глава 16. Исследование двухмерной анимации
    • 456 Покадровая анимация
      • 456 Планирование покадровой анимации
      • 457 Создание действия
      • 458 Добавление анимации к действию
    • 461 Анимация компоновки
      • 461 Базовые типы анимации с построением промежуточных кадров
      • 462 Планирование теста анимации компоновки
      • 463 Создание действия и ListView
      • 464 Анимация ListView
      • 468 Использование интерполяторов
    • 470 Анимация представления
      • 470 Суть анимации представления
      • 472 Добавление анимации
      • 476 Использование камеры для имитации глубины в двухмерном пространстве
      • 477 Исследование класса AnimationListener
      • 478 Некоторые замечания о трансформации матриц
    • 479 Ссылки
    • 479 Резюме
  • 480 Глава 17. Исследование карт и служб местоположения
    • 481 Что такое пакет картографии
      • 481 Получение ключа map-api от Google
      • 482 Классы MapView и MapActivity
    • 492 Пакет location
      • 492 Геокодирование в Android
      • 505 Отображение местоположения с использованием MyLocationOverlay
      • 509 Использование сигналов о приближении
    • 513 Ссылки
    • 513 Резюме
  • 514 Глава 18. Использование API-интерфейсов телефонии
    • 514 Работа с SMS
      • 514 Отправка SMS-сообщений
      • 517 Мониторинг входящих SMS-сообщений
      • 520 Работа с папками SMS
      • 521 Отправка электронной почты
    • 522 Работа с диспетчером телефонии
    • 525 Протокол установления сеанса (SIP)
    • 527 Ссылки
    • 527 Резюме
  • 528 Глава 19. Платформы для работы с медиа
    • 528 Использование API-интерфейсов для работы с медиа
      • 528 Использование SD-карт
    • 533 Воспроизведение медиа-контента
      • 533 Воспроизведение аудиоконтента
      • 537 Метод setDataSource
      • 538 Использование SoundPool для одновременного воспроизведения треков
      • 542 Воспроизведение звуков с помощью JetPlayer
      • 542 Воспроизведение фоновых звуков с помощью AsyncPlayer
      • 543 Низкоуровневое воспроизведение аудио с использованием AudioTrack
    • 543 Особенности MediaPlayer
    • 544 Воспроизведение видеоконтента
    • 546 Запись медиаконтента
      • 546 Аудиозапись с помощью MediaRecorder
      • 550 Аудиозапись с помощью AudioRecord
    • 554 Видеозапись
      • 563 Класс MediaStore
      • 564 Запись аудио с использованием намерения
      • 567 Добавление медиаконтента в хранилище медиа
      • 569 Запуск MediaScanner для всей SD-карты
    • 569 Ссылки
    • 570 Резюме
  • 571 Глава 20. Программирование трехмерной графики с помощью OpenGL
    • 572 История появления и основы OpenGL
    • 573 Стандарт OpenGL ES
    • 573 OpenGL ES и Java ME
    • 574 M3G: еще один стандарт трехмерной графики Java ME
    • 574 Основы OpenGL
    • 575 Рисование с помощью OpenGL ES
      • 576 glVertexPointer и указание вершин для рисования
      • 580 Камера и координаты OpenGL
      • 584 Взаимодействие OpenGL ES с Android
      • 584 Использование GLSurfaceView и связанных классов
      • 584 Реализация интерфейса Renderer
      • 587 Использование GLSurfaceView внутри действия
      • 592 Изменение настроек камеры
      • 593 Использование индексов для добавления еще одного треугольника
      • 595 Анимация простого треугольника OpenGL
    • 597 Формы и текстуры OpenGL
      • 597 Рисование прямоугольника
      • 598 Работа с фигурами
      • 610 Работа с текстурами
      • 611 Абстрагирование общей обработки текстур
      • 614 Рисование множества фигур
    • 618 OpenGL ES 2.0
    • 618 Java-привязки для OpenGL ES 2.0
    • 621 Шаги визуализации
      • 622 Построители текстур
      • 623 Компиляция построителей текстур в программу
      • 625 Получение доступа к переменным программы построителя текстуры
      • 625 Простой треугольник ES 2.0
      • 629 Дополнительные сведения по OpenGL ES 2.0
      • 629 Инструкции по компиляции кода
    • 629 Ссылки
    • 630 Резюме
  • 631 Глава 21. Исследование живых папок
    • 631 Знакомство с живыми папками
      • 632 Живые папки с точки зрения пользователя
      • 635 Построение живой папки
      • 645 Инструкции по компиляции кода
    • 645 Ссылки
    • 645 Резюме
  • 646 Глава 22. Виджеты домашнего экрана
    • 647 Архитектура виджетов домашнего экрана
      • 647 Что собой представляют виджеты домашнего экрана?
      • 647 Виджеты домашнего экрана с точки зрения пользователя
      • 650 Жизненный цикл виджета
    • 655 Пример приложения с виджетом
      • 656 Определение поставщика виджета
      • 658 Файлы, относящиеся к компоновке виджета
      • 660 Реализация поставщика виджета
      • 663 Реализация моделей виджетов
    • 673 Ограничения и расширения виджетов
    • 674 Ссылки
    • 674 Резюме
  • 675 Глава 23. Поиск в Android
    • 675 Средства поиска в Android
      • 676 Глобальный поиск в Android
      • 680 Включение поставщиков подсказок для глобального поиска
    • 682 Действия и связь с клавишей поиска
      • 683 Поведение клавиши поиска в обычном действии
      • 690 Поведение действия, отключившего поиск
      • 691 Явный вызов поиска через меню
      • 694 Локальный поиск и связанные с ним действия
      • 699 Включение режима type-to-search
      • 700 Реализация простого поставщика подсказок
      • 701 Планирование простого поставщика подсказок
      • 701 Файлы реализации простого поставщика подсказок
      • 702 Реализация класса SimpleSuggestionProvider
      • 705 Поисковое действие простого поставщика подсказок
      • 710 Действие, вызывающее поиск
      • 711 Пользовательский интерфейс простого поставщика подсказок
    • 714 Реализация специального поставщика подсказок
      • 714 Планирование специального поставщика подсказок
      • 714 Файлы реализации проекта поставщика SuggestionURLProvider
      • 715 Реализация класса SuggestUrlProvider
      • 729 Файл манифеста для специального поставщика подсказок
      • 730 Пользовательский интерфейс специальных подсказок
    • 732 Использование клавиш операций и специфичных для приложения поисковых данных
      • 732 Использование клавиш операций в поиске Android
      • 735 Работа с поисковым контекстом, специфичным для приложения
    • 736 Ссылки
    • 737 Адаптации для планшетов
    • 737 Резюме
  • 738 Глава 24. Исследование API-интерфейса TextToSpeech
    • 738 Основы средств речевого воспроизведения в Android
    • 742 Использование фрагментов для отслеживания речи
    • 744 Использование звуковых файлов для голосового воспроизведения
    • 750 Расширенные средства механизма TTS
      • 750 Настройка аудиопотоков
      • 751 Использование звуковых значков
      • 752 Воспроизведение тишины
      • 752 Выбор другого механизма речевого воспроизведения
      • 752 Использование методов для работы с другими языками
    • 754 Ссылки
    • 754 Резюме
  • 755 Глава 25. Сенсорные экраны
    • 755 События, связанные с перемещением
      • 755 Объект MotionEvent
      • 766 Удаление MotionEvent
      • 767 Использование класса VelocityTracker
      • 769 Исследование перетаскивания
    • 771 Функция мультитач
      • 772 Мультитач до Android 2.2
      • 779 Мультитач после Android 2.2
    • 780 Касания и карты
    • 782 Жесты
      • 783 Жест сдвигания/раздвигания пальцев
      • 786 Класс GestureDetector и интерфейс OnGestureListener
      • 789 Специальные жесты
      • 789 Приложение Gestures Builder
      • 796 Ссылки
      • 796 Резюме
  • 797 Глава 26. Использование датчиков
    • 797 Что такое датчик?
      • 798 Обнаружение датчиков
      • 798 Какие сведения можно получить о датчике?
    • 800 Получение событий датчика
    • 803 Проблемы с получением данных от датчиков
      • 803 Метод onAccuracyChanged() все время сообщает одно и то же
      • 803 Отсутствует прямой доступ к значениям датчиков
      • 803 Значения датчика не отправляются достаточно быстро
      • 803 В версии Android 2.1 датчики выключаются вместе с экраном
    • 809 Интерпретация данных от датчиков
      • 810 Датчики освещенности
      • 810 Датчики приближения
      • 811 Датчики температуры
      • 811 Датчики давления
      • 811 Датчики типа гироскопов
      • 812 Акселерометры
      • 817 Датчики магнитного поля
      • 818 Совместное использование акселерометров и датчиков магнитного поля
      • 818 Датчики ориентации
      • 824 Магнитное склонение и GeomagneticField
      • 825 Датчик гравитации
      • 825 Датчики линейного ускорения
      • 825 Датчики вектора поворота
      • 825 Датчики NFC
    • 836 Ссылки
    • 836 Резюме
  • 837 Глава 27. Исследование API-интерфейса для работы с контактами
    • 838 Учетные записи
      • 838 Краткий тур по экранам, связанным с учетными записями
      • 839 Отношения между учетными записями и контактами
      • 840 Перечисление учетных записей
    • 841 Освоение приложения Contacts
      • 841 Просмотр контактов
      • 841 Просмотр деталей контакта
      • 841 Редактирование деталей контакта
      • 842 Установка фотографии для контакта
      • 844 Экспорт контактов
      • 845 Различные типы данных контактов
    • 846 Что собой представляют контакты
      • 846 Исследование баз данных контактов SQLite
      • 847 Низкоуровневые контакты
      • 848 Таблица данных
      • 849 Агрегированные контакты
      • 851 Представление view_contacts
      • 852 Представление contact_entities_view
    • 853 Работа с API-интерфейсом контактов
      • 853 Просмотр учетных записей
      • 854 Файл меню
      • 854 Файлы тестера функций для учетных записей
      • 856 Классы, связанные с управляющим действием
      • 859 Запуск программы на выполнение
      • 860 Просмотр агрегированных контактов
      • 868 Просмотр низкоуровневых контактов
      • 873 Просмотр данных низкоуровневого контакта
      • 877 Добавление контакта и его деталей
    • 879 Управление агрегированием
    • 880 Влияние синхронизации
    • 881 Ссылки
    • 881 Резюме
  • 882 Глава 28. Развертывание готового приложения: Android Market и другие возможности
    • 883 Как стать издателем
      • 883 Следование правилам
      • 886 Консоль разработчика
    • 889 Подготовка приложения к продаже
      • 889 Тестирование на различных устройствах
      • 889 Поддержка экранов разных размеров
      • 890 Подготовка файла AndroidManifest.xml к загрузке
      • 891 Локализация приложения
      • 891 Подготовка значка приложения
      • 892 Соображения по поводу того, как зарабатывать на приложениях
      • 893 Перенаправление пользователей обратно на Android Market
      • 893 Служба лицензирования Android
      • 894 Подготовка файла .apk для загрузки
    • 895 Загрузка приложения
    • 898 Пользовательский интерфейс Android Market
    • 899 Другие возможности, отличные от Android Market
    • 900 Ссылки
    • 900 Резюме
  • 901 Глава 29. Фрагменты для планшетов и других устройств
    • 901 Что собой представляет фрагмент?
    • 903 Когда использовать фрагменты
    • 903 Структура фрагмента
    • 904 Жизненный цикл фрагмента
      • 906 Обратный вызов onInflate()
      • 906 Обратный вызов onAttach()
      • 906 Обратный вызов onCreate()
      • 907 Обратный вызов onCreateView()
      • 908 Обратный вызов onActivityCreated()
      • 908 Обратный вызов onStart()
      • 908 Обратный вызов onResume()
      • 908 Обратный вызов onPause()
      • 908 Обратный вызов onStop()
      • 909 Обратный вызов onDestroyView()
      • 909 Обратный вызов onDestroy()
      • 909 Обратный вызов onDetach()
      • 909 Использование setRetainInstance()
    • 910 Пример приложения, использующего фрагмент, для демонстрации жизненного цикла
    • 918 Класс FragmentTransaction и стек возврата фрагментов
    • 919 Переходы и анимации транзакций фрагментов
    • 921 Класс FragmentManager
    • 922 Предостережение относительно ссылок на фрагменты
    • 923 ListFragment и <fragment>
    • 926 Вызов отдельного действия при необходимости
    • 929 Постоянство фрагментов
    • 929 Понимание фрагментов диалоговых окон
      • 930 Основы DialogFragment
      • 930 Создание фрагмента диалогового окна
      • 932 Отображение фрагмента диалогового окна
      • 933 Освобождение фрагмента диалогового окна
      • 934 Сложности, связанные с освобождением диалогового окна
    • 935 Пример приложения DialogFragment
      • 935 Пример диалогового окна: MainActivity
      • 938 Пример диалогового окна: OnDialogDoneListener
      • 938 Пример диалогового окна: PromptDialogFragment
      • 943 Пример диалогового окна: HelpDialogFragment
      • 945 Пример диалогового окна: AlertDialogFragment
      • 947 Пример диалогового окна: файл главной компоновки main.xml
    • 947 Дополнительные способы обмена данными с фрагментами
    • 948 Использование методов startActivity() и setTargetFragment()
    • 949 Реализация нестандартных анимаций с помощью класса ObjectAnimator
    • 952 Ссылки
    • 952 Резюме
  • 953 Глава 30. Исследование API-интерфейса ActionBar
    • 954 Структура интерфейса ActionBar
    • 955 Действие с панелью операций с навигацией посредством вкладок
      • 956 Реализация базовых классов действия
      • 958 Обеспечение унифицированного поведения для ActionBar
      • 960 Реализация слушателя вкладок
      • 962 Реализация действия с панелью операций с вкладками
      • 963 Компоновка текстового представления отладки с возможностью прокрутки
      • 964 Взаимодействие панели операций и меню
      • 966 Файл манифеста Android
      • 967 Исследование действия TabNavigationActionBarActivity
    • 967 Действие с панелью операций со списковой навигацией
      • 968 Создание SpinnerAdapter
      • 969 Создание слушателя списка
      • 969 Настройка панели операций со списковой навигацией
      • 970 Внесение изменений в BaseActionBarActivity
      • 970 Внесение изменений в AndroidManifest.xml
      • 971 Исследование действия ListNavigationActionBarActivity
    • 972 Действие с панелью операций со стандартной навигацией
      • 973 Настройка действия с панелью операций со стандартной навигацией
      • 974 Внесение изменений в BaseActionBarActivity
      • 974 Внесение изменений в AndroidManifest.xml
      • 974 Исследование StandardNavigationActionBarActivity
    • 976 Ссылки
    • 976 Резюме
  • 978 Глава 31. Дополнительные темы, связанные с версией Android 3.0
    • 978 Списковые виджеты домашнего экрана
      • 979 Новые удаленные представления в выпуске 3.0
      • 980 Работа со списками в удаленных представлениях
      • 982 Подготовка удаленной компоновки
      • 984 Загрузка удаленной компоновки
      • 985 Настройка RemoteViewsService
      • 986 Настройка RemoteViewsFactory
      • 990 Настройка событий onClick
      • 992 Реагирование на события onClick
      • 994 Работающий пример: списковый виджет домашнего экрана
      • 994 Создание тестового поставщика виджетов
      • 997 Создание фабрики удаленных представлений
      • 999 Реализация службы удаленных представлений
      • 1000 Файл основной компоновки виджета
      • 1000 Компоновка для индивидуальных элементов списка
      • 1000 Метаданные поставщика виджетов
      • 1000 Файл AndroidManifest.xml
      • 1001 Тестирование спискового виджета
    • 1003 Перетаскивание
      • 1003 Основы перетаскивания в выпуске 3.0
      • 1004 Пример приложения с возможностями перетаскивания
      • 1015 Тестирование примера приложения с возможностями перетаскивания
    • 1016 Ссылки
    • 1017 Резюме
  • 1018 Предметный указатель

Инструкция как скачать книгу Сатия Коматинени, Дэйв Маклин, Саид Хашими: Android 3 для профессионалов. Создание приложений для планшетных компьютеров и смартфонов в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.
Android 3 для профессионалов. Создание приложений для планшетных компьютеров и смартфонов
Рейтинг книги:
0 голосов
961

Поиск книг:




При поиске учитываются только слова, длина которых больше 3-х символов.

Статистика: