Программирование под Android. Для профессионалов Программирование под Android. Для профессионалов Эта книга научит вас всем тонкостям разработки приложений для мобильных устройств, работающих на популярной операционной системе Android. Основанное на учебном курсе известного образовательного IT-проекта Big Nerd Ranch, это издание содержит ключевые концепции программирования в Android, разъяснение API и множество примеров кода и упражнений. В процессе работы с книгой читатель самостоятельно разработает восемь Android-приложений разной сложности и тематики, включая клиент для загрузки фотографий из базы Flickr, приложение, имитирующее телевизионный пульт дистанционного управления, а также сервис геолокации, отслеживающий перемещения пользователя по всему свету и отображающий их на карте. Все учебные приложения были спроектированы таким образом, чтобы продемонстрировать важные концепции и приемы программирования под Android и дать опыт их практического применения. Питер 978-5-496-00502-9
654 руб.
Russian
Каталог товаров

Программирование под Android. Для профессионалов

Временно отсутствует
?
  • Описание
  • Характеристики
  • Отзывы о товаре
  • Отзывы ReadRate
Эта книга научит вас всем тонкостям разработки приложений для мобильных устройств, работающих на популярной операционной системе Android. Основанное на учебном курсе известного образовательного IT-проекта Big Nerd Ranch, это издание содержит ключевые концепции программирования в Android, разъяснение API и множество примеров кода и упражнений. В процессе работы с книгой читатель самостоятельно разработает восемь Android-приложений разной сложности и тематики, включая клиент для загрузки фотографий из базы Flickr, приложение, имитирующее телевизионный пульт дистанционного управления, а также сервис геолокации, отслеживающий перемещения пользователя по всему свету и отображающий их на карте. Все учебные приложения были спроектированы таким образом, чтобы продемонстрировать важные концепции и приемы программирования под Android и дать опыт их практического применения.

Оставить заявку на описание
?
Содержание
Благодарности
Изучение Android,
Глава 1. Первое приложение Android
Основы построения приложения
Создание проекта Android
Навигация в Eclipse
Построение макета пользовательского
интерфейса
Иерархия представлений
Атрибуты виджетов
android:layout_width и android:layout_height
android :onentation
android :text
Создание строковых ресурсов
Предварительный просмотр макета
От разметки XML к объектам View
Ресурсы и идентификаторы ресурсов
Подключение виджетов к программе
Организация импорта
Получение ссылок на виджеты
Назначение слушателей
Анонимные внутренние классы
Уведомления
Автозавершение
Выполнение в эмуляторе
Для любознательных: процесс построения
приложений Android
Средства построения программ Android
Глава 2. Android и MVC,
Создание нового класса
Генерирование get- и set-методов
Архитектура
"Модель-Представление-Контроллер" и Android
Преимущества MVC
Обновление уровня представления
Обновление уровня контроллера
Запуск на устройстве
Подключение устройства
Настройка устройства для разработки
Добавление значка
Добавление ресурсов в проект
Ссылки на ресурсы в XML
Упражнения
Упражнение. Добавление слушателя для TextView
Упражнение. Добавление кнопки возврата
Упражнение. От Button к ImageButton
Глава 3. Жизненный цикл Activity
Регистрация событий жизненного цикла Activity
Создание сообщений в журнале
Использование LogCat
Повороты и жизненный цикл активности
Конфигурации устройств и альтернативные
ресурсы
Создание макета для альбомной ориентации
Сохранение данных между поворотами
Переопределение onSavelnstanceState(Bundle)
Снова о жизненном цикле Activity
Для любознательных: тестирование
onSavelnstanceState(Bundle).
Для любознательных: методы и уровни
регистрации
Глава 4. Отладка приложений Android
Перспектива DDMS
Исключения и трассировка стека
Диагностика ошибок поведения
Сохранение трассировки стека
Установка точек прерывания
Прерывания по исключениям
File Explorer
Особенности отладки Android
Android Lint
Проблемы с классом R
Глава 5. Вторая активность
Создание второй активности
Создание нового макета
Создание нового субкласса активности
Объявление активностей в манифесте
Добавление кнопки Cheat в QuizActivity
Запуск активности
Передача информации через интенты
Интенты явные и неявные
Передача данных между активностями
Дополнения интентов
Получение результата от дочерней активности
Передача результата
Возвращение интента
Обработка результата
Ваши активности с точки зрения Android
Упражнение
Глава 6. Версии Android SDK и совместимость,
Версии Android SDK
Совместимость и программирование Android
Трудности с Honeycomb
Минимальная версия SDK (Minimum Required SDK)
Целевая версия SDK (Target SDK)
Версия SDK для построения (Compile With)
Безопасное добавление кода для более поздних
версий API
Подавление ошибок совместимости Lint
Документация разработчика Android
Упражнение. Вывод версии построения
Глава 7. UI-фрагменты и FragmentManager,
Гибкость пользовательского интерфейса
Знакомство с фрагментами
Начало работы над Criminallntent
Создание нового проекта
Фрагменты и библиотека поддержки
Создание класса Crime
Хостинг UI-фрагментов
Жизненный цикл фрагмента
Два способа организации хостинга
Определение контейнерного представления
Создание UI-фрагмента
Определение макета CrimeFragment
Создание класса CrimeFragment
Реализация методов жизненного цикла фрагмента
Подключение виджетов в фрагменте
Добавление UI-фрагмента в FragmentManager
Транзакции фрагментов
FragmentManager и жизненный цикл фрагмента
Почему все наши активности используют
фрагменты
Для любознательных: разработка для Honeycomb,
ICS, Jelly Bean и т. д.
Глава 8. Макеты и виджеты
Обновление Crime
Обновление макета
Подключение виджетов
Подробнее об атрибутах макетов XML
Стили, темы и атрибуты тем
Плотность пикселов, dp и sp
Рекомендации по проектированию интерфейсов
Android
Параметры макета
Поля и отступы
Использование графического конструктора
Добавление нового виджета
Редактирование атрибутов в свойствах
Реорганизация виджетов на панели структуры
Обновление параметров макета потомков
Как работает android:layout_weight
Графический конструктор макетов
Идентификаторы виджетов и множественные
макеты
Упражнение. Форматирование даты
Глава 9. Вывод списков и ListFragment
Обновление уровня модели Criminallntent
Синглеты и централизованное хранение данных
Создание ListFragment
Абстрактная активность для хостинга фрагмента
Обобщенный макет для хостинга фрагмента
Абстрактный класс Activity
Использование абстрактного класса
Объявление CrimeListActivity
ListFragment, ListView и ArrayAdapter
Создание ArrayAdapter<T>
Щелчки на элементах списка
Настройка элементов списка
Создание макета элемента списка
Создание субкласса адаптера
Глава 10. Аргументы фрагментов
Запуск активности из фрагмента
Включение дополнения
Чтение дополнения
Обновление представления CrimeFragment
данными Crime
Недостаток прямой выборки
Аргументы фрагментов
Присоединение аргументов к фрагменту
Получение аргументов
Перезагрузка списка
Получение результата с использованием
фрагментов
Глава 11. ViewPager
Создание CrimePagerActivity
Формирование макетов представлений в коде
Автономные идентификаторы ресурсов
ViewPager и PagerAdapter
Интеграция CrimePagerActivity
FragmentStatePagerAdapter и FragmentPagerAdapter
Для любознательных: как работает ViewPager
Глава 12. Диалоговые окна
Создание DialogFragment
Отображение DialogFragment
Назначение содержимого диалогового окна
Передача данных между фрагментами
Передача данных DatePickerFragment
Возвращение данных CrimeFragment
Назначение целевого фрагмента
Передача данных целевому фрагменту
Больше гибкости в представлении DialogFragment
Упражнение. Новые диалоговые окна
Глава 13. Воспроизведение звука и MediaPlayer
Добавление ресурсов
Определение макета HelloMoonFragment
Сброс темы приложения
Создание класса HelloMoonFragment
Использование фрагмента макета
Воспроизведение аудио
Подключение кнопок воспроизведения и
остановки
Упражнение. Приостановка воспроизведения
Для любознательных: воспроизведение видео
Упражнение. Воспроизведение видео в HelloMoon
Глава 14. Сохранение фрагментов
Сохранение фрагмента
Повороты и сохраненные фрагменты
Сохранение фрагментов: действительно так
хорошо?
Повороты и onSavelnstanceState(Bundle)
Для любознательных: повороты до появления
фрагментов
Глава 15. Локализация
Локализация ресурсов
Ресурсы по умолчанию
Плотность пикселов и ресурсы по умолчанию
Конфигурационные квалификаторы
Приоритеты альтернативных ресурсов
Множественные квалификаторы
Поиск наиболее подходящих ресурсов
Исключение несовместимых каталогов
Перебор таблицы приоритетов
Дополнительные правила использования ресурсов
Имена ресурсов
Структура каталогов ресурсов
Тестирование альтернативных ресурсов
Глава 16. Панель действий
Командное меню
Определение командного меню в XML
Использование системных значков
Создание командного меню
Реакция на выбор команд
Включение иерархической навигации
Включение значка приложения
Обработка кнопки Up
Альтернативная команда меню
Создание альтернативного файла меню
Переключение текста команды
"Да, и еще одно "
Упражнение. Пустое представление для списка
Глава 17. Сохранение и загрузка локальных
файлов
Сохранение и загрузка данных в Criminallntent
Сохранение преступлений в файле JSON
Создание класса CriminallntenUSONSeriahzer
Поддержка сериализации JSON в классе Crime
Сохранение объектов Crime в CrimeLab
Сохранение данных приложения в onPause()
Загрузка данных из файловой системы
Упражнение. Использование внешнего хранилища
Для любознательных: файловая система Android и
средства ввода-вывода Java
Обращение к файлам и каталогам
Глава 18. Контекстные меню и режим контекстных
действий
Определение ресурса контекстного меню
Реализация контекстного меню
Создание контекстного меню
Регистрация контекстного меню
Реакция на действие
Реализация режима контекстных действий
Множественное выделение
Методы обратного вызова режима действий в
представлении списка
Изменение фона выделенных элементов
Реализация режима контекстных действий в
других представлениях
Совместимость: отход или дублирование?
Упражнение. Удаление из CrimeFragment
Для любознательных: ActionBarSherlock
Упражнение. Использование ActionBarSherlock
Базовая интеграция ABS в Crimmallntent
Интеграция более высокого уровня
Интеграция еще более высокого уровня
Глава 19. Камера I: Viewfinder
Создание макета фрагмента
Создание класса CrimeCameraFragment
Создание класса CrimeCameraActivity
Включение активности и разрешений камеры в
манифест
Использование API камеры
Открытие и освобождение камеры
SurfaceView, SurfaceHolder и Surface
Определение размера области предварительного
просмотра
Запуск CrimeCameraActivity из CrimeFragment
Скрытие панели состояния и панели действий
Для любознательных: запуск активностей из
командной строки
Глава 20. Камера II: Съемка и обработка
изображений
Получение снимка
Реализация обратных вызовов камеры
Назначение размера изображения
Передача данных CrimeFragment
Запуск CrimeCameraActivity с возвращением
результата
Назначение результата в CrimeCameraFragment
Получение имени файла в CrimeFragment
Обновление уровня модели
Добавление класса Photo
Включение в Crime свойства для хранения
фотографии
Сохранение ссылки на фотографию
Обновление представления CrimeFragment
Добавление ImageView
Обработка изображения
Добавление масштабированных фотографий в
ImageView
Выгрузка изображения
Отображение полноразмерных изображений в
DialogFragment
Упражнение. Ориентация изображения в Crime
Упражнение. Удаление фотографий
Для любознательных: устаревшие конструкции в
Android
Глава 21. Неявные интенты
Добавление кнопок
Добавление имени в уровень модели
Форматные строки
Использование неявных интентов
Компоненты неявного интента
Отправка отчета
Запрос контакта у Android
Получение данных из списка контактов
Разрешения контактов
Проверка реагирующих активностей
Упражнение. Другой неявный интент
Глава 22. Двухпанельные интерфейсы
Гибкость макета
Модификация SingleFragmentActivity
Создание макета с двумя контейнерами
фрагментов
Использование ресурса-псевдонима
Создание альтернативы для планшета
Активность: управление фрагментами
Интерфейсы обратного вызова фрагментов
Реализация CrimeFragment.Callbacks
Для любознательных: подробнее об определении
размера экрана.
Глава 23. Подробнее об интентах и задачах
Создание приложения NerdLauncher
Обработка неявного интента
Создание явных интентов на стадии выполнения
Задачи и стек возврата
Использование NerdLauncher в качестве
домашнего экрана
Упражнение. Значки, изменение порядка задач
Для любознательных: процессы и задачи
Глава 24. Стили и включения
Создание проекта RemoteControl
Создание RemoteControl Activity
Создание RemoteControl Fragment
Стили и компактность разметки
Завершение разметки
Для любознательных: include и merge
Упражнение. Наследование стилей
Глава 25. Графические объекты
Графические объекты XML
Списки состояний
Списки слоев и смещение
9-зонные изображения
Глава 26. HTTP и фоновые задачи
Создание приложения PhotoGallery
Основы сетевой поддержки
Разрешение на работу с сетью
Использование AsyncTask для выполнения в
фоновом потоке
Главный программный поток
Кроме главного потока
Загрузка XML из Fhckr
Использование XmlPullParser
От AsyncTask к главному потоку
Для любознательных: подробнее об AsyncTask
Уничтожение AsyncTask
Упражнение. Страничная навигация
Глава 27. Looper, Handler и HandlerThread
Подготовка GndView к выводу изображений
Множественные загрузки
Взаимодействие с главным потоком
Создание фонового потока
Сообщения и обработчики сообщений
Строение сообщения
Строение обработчика
Использование обработчиков
Передача Handler
Для любознательных: AsyncTask и потоки
Упражнение. Предварительная загрузка и
кэширование
Глава 28. Поиск
Поиск в Fhckr
Диалоговое окно поиска
Создание поискового интерфейса
Поисковые активности
Аппаратная кнопка поиска
Как работает поиск
Режимы запуска и новые интенты
Простое сохранение с использованием механизма
общих настроек
Использование SearchView в Android версий выше
3.0
Упражнения
Глава 29. Фоновые службы
Создание IntentService
Зачем нужны службы
Безопасные сетевые операции в фоновом режиме
Поиск новых результатов
Отложенное выполнение и AlarmManager
Pendmglntent
Управление сигналами с использованием
Pendmglntent
Управление сигналом
Обновление элемента командного меню
Оповещения
Для любознательных: подробнее о службах
Что делают (и чего не делают) службы
Жизненный цикл службы
Незакрепляемые службы
Закрепляемые службы
Привязка к службам
Локальная привязка к службам
Удаленная привязка к службе
Глава 30. Широковещательные интенты
Пробуждение при загрузке
Широковещательные приемники в манифесте
Использование приемников
Фильтрация оповещений переднего плана
Отправка широковещательных интентов
Динамические широковещательные приемники
Закрытые разрешения
Подробнее об уровнях защиты
Получение результатов с упорядоченной
широковещательной рассылкой
Приемники и продолжительные задачи
Глава 31. Просмотр веб-страниц и WebView
И еще один блок данных Fhckr
Простой способ: неявные интенты
Более сложный способ: WebView
Класс WebChromeChent
Повороты в WebView
Для любознательных: внедрение объектов
JavaScript
Глава 32. Пользовательские представления и
события касания
Создание проекта DragAndDraw
Создание класса DragAndDrawActivity
Создание класса DragAndDrawFragment
Создание нестандартного представления
Создание класса BoxDrawingView
Обработка событий касания
Отслеживание перемещений между событиями
Рисование внутри onDraw( )
Упражнение: повороты
Глава 33. Отслеживание местоположения
устройства
Создание приложения RunTracker
Создание класса RunActivity
Класс RunFragment
Добавление строк
Файл макета
Создание класса RunFragment
Местоположение и LocationManager
Получение широковещательных обновлений
местоположения
Обновление пользовательского интерфейса
данными местоположения
Ускорение отклика: последнее известное
местоположение
Тестирование на реальных и виртуальных
устройствах
Глава 34. Локальные базы данных и SQLite
Хранение серий и позиций в базе данных
Запрос списка серий из базы данных
Вывод списка серий с использованием
CursorAdapter
Создание новых серий
Работа с существующими сериями
Упражнение: выделение текущей серии
Глава 35. Асинхронная загрузка данных
Loader и LoaderManager
Использование загрузчиков в RunTracker
Загрузка списка серий
Загрузка одной серии
Загрузка последней позиции в серии
Глава 36. Карты
Добавление Maps API в приложение RunTracker
Тестирование на реальном устройстве
Установка и использование Google Play services
SDK
Получение ключа Google Maps API
Обновление манифеста RunTracker
Вывод местоположения пользователя на карте
Вывод маршрута
Добавление маркеров начала и конца маршрута
Упражнение: оперативное обновление
Глава 37. Послесловие
Последнее упражнение
Бессовестная самореклама
Спасибо
Штрихкод:   9785496005029
Аудитория:   12 лет и старше
Бумага:   Офсет
Масса:   692 г
Размеры:   235x 163x 23 мм
Оформление:   Частичная лакировка
Тираж:   1 700
Литературная форма:   Самоучитель
Тип иллюстраций:   Черно-белые
Переводчик:   Матвеев Е.
Составитель:   Сергиенко Ю.
Метки:  Близкие метки
Отзывы
Найти пункт
 Выбрать станцию:
жирным выделены станции, где есть пункты самовывоза
Выбрать пункт:
Поиск по названию улиц:
Подписка 
Введите Reader's код или e-mail
Периодичность
При каждом поступлении товара
Не чаще 1 раза в неделю
Не чаще 1 раза в месяц
Мы перезвоним

Возникли сложности с дозвоном? Оформите заявку, и в течение часа мы перезвоним Вам сами!

Captcha
Обновить
Сообщение об ошибке

Обрамите звездочками (*) место ошибки или опишите саму ошибку.

Скриншот ошибки:

Введите код:*

Captcha
Обновить