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

В наличии Цена за шт.

1755

1300

Количество
Купить

Акции и скидки Поделиться


  • Артикул:00-01036679
  • Автор: Филлипс Б., Стюарт К., Мерсикано К., Гарднер Б.
  • ISBN: 978-5-4461-7657-7
  • Тираж: 1000 экз.
  • Обложка: Мягкая обложка
  • Издательство: Питер (все книги издательства)
  • Город: Санкт-Петербург
  • Страниц: 704
  • Формат: 70x100/16 (~170x240 мм)
  • Год: 2021
  • Вес: 1756 г
  • Серия: Для профессионалов (все книги серии)
Развернуть ▼

Познакомьтесь с возможностями программирования Android на языке Kotlin! Множество примеров приложений с четкими объяснениями ключевых концепций и API позволят легко разобраться в самых трудных задачах.
Эта книга посвящена прикладным методам разработки приложений на Kotlin, и подойдет для всех версий Android от 5.0 (Lollipop) до 8.1 (Oreo) и выше. Используйте Android Studio для создания приложений, чтобы проверять код на каждом этапе, интегрировать его с другими приложениями, работать с изображениями, воспроизводить аудио и делать многое другое.
Каждая глава продумана (и протестирована) так, чтобы вы смогли получить максимум опыта и знания, необходимые для разработки под Android.

Содержание
Благодарности
Изучение Android
Подготовка
Что нового в четвертом издании?
Kotlin vs Java
Как работать с книгой
Структура книги
Упражнения
А вы любознательны?
Типографские соглашения
Версии Android
От издательства
Необходимые инструменты.
Загрузка и установка Android Studio
Загрузка старых версий SDK
Аппаратное обеспечение
Глава 1. Первое Android-приложение
Основы разработки приложения
Создание проекта Android
Навигация в Android Studio
Создание макета пользовательского интерфейса
Иерархия представления
Атрибуты виджетов
Создание строковых ресурсов
Предварительный просмотр макета
От разметки XML к объектам View
Ресурсы и идентификаторы ресурсов
Разработка виджетов
Установка ссылок на виджеты
Назначение слушателей
Уведомления
Выполнение в эмуляторе
Для любознательных: процесс сборки Android-приложений
Инструменты сборки
Упражнения
Упражнение. Настройка уведомления
Глава 2. Android и модель MVC
Создание нового класса
Архитектура «Модель - Представление - Контроллер» и Android
Преимущества MVC
Обновление уровня представления
Обновление уровня контроллера
Добавление значка
Добавление ресурсов в проект
Ссылки на ресурсы в XML
Плотность пикселов
Запуск на устройстве
Упражнение. Добавление слушателя для TextView
Упражнение. Добавление кнопки возврата
Упражнение. От Button к ImageButton
Глава 3. Жизненный цикл activity
Поворот GeoQuiz
Обратные вызовы состояния и жизненного цикла activity
Регистрация событий жизненного цикла activity
Создание сообщений в журнале
Панель LogCat
Анализ жизненного цикла activity на примере
Временная остановка activity
Завершение activity
Поворот activity
Конфигурации устройств и жизненный цикл ресурса
Создание макета для альбомной ориентации
Для любознательных: обновление UI и мультиоконный режим
Для любознательных: уровни регистрации
Упражнение. Предотвращение ввода нескольких ответов
Упражнение. Вывод оценки
Глава 4. Сохранение состояния интерфейса
Добавление зависимостей ViewModel
Добавление ViewModel
Жизненный цикл ViewModel и ViewModelProvider
Добавление данных в ViewModel
Сохранение данных после завершения процесса
Переопределение onSavelnstanceState(Bundle)
Сохраненное состояние экземпляра и записи activity
Сравнение ViewModel и сохраненного состояния экземпляра
Для любознательных: компоненты Jetpack, AndroidX и компоненты архитектуры
Для любознательных: как избежать костылей
Глава 5. Отладка Android-приложений
Исключения и трассировка стека
Диагностика ошибок поведения
Сохранение трассировки стека
Установка точек останова
Особенности отладки Android
Android Lint
Проблемы с классом R
Упражнение. Исследуем Layout Inspector
Упражнение. Profiler
Глава 6. Вторая activity
Подготовка к внедрению второй activity
Создание второй activity
Создание подкласса новой activity
Объявление activity в манифесте
Добавление кнопки CHEAT! в MainActivity
Запуск activity
Передача информации через интенты
Передача данных между activity
Дополнения интентов
Получение результата от дочерней activity
Ваши activity с точки зрения Android
Упражнение. Лазейка для читера
Упражнение. Отслеживание читов по вопросу
Глава 7. Версии Android SDK и совместимость
Версии Android SDK
Совместимость и программирование Android
Разумный минимум
Минимальная версия SDK
Целевая версия SDK
Версия SDK для компиляции
Безопасное добавление кода для более поздних версий API
Jetpack-библиотеки
Документация разработчика Android
Упражнение. Вывод версии Android на устройстве
Упражнение. Ограничение подсказок
Глава 8. UI-фрагменты и FragmentManager
Гибкость пользовательского интерфейса
Знакомство с фрагментами
Начало работы над Criminallntent
Создание нового проекта
Создание класса Crime
Создание UI-фрагмента
Определение макета CrimeFragment
Создание класса CrimeFragment
Хостинг UI-фрагментов
Определение контейнерного представления
Добавление UI-фрагмента во FragmentManager
Архитектура приложений с фрагментами
Нужно ли использовать фрагменты
Глава 9. Вывод списков и RecyclerView
Добавление нового фрагмента и ViewModel
Жизненный цикл ViewModel с фрагментами
Добавление RecyclerView
Создание макета представления элемента
Реализация ViewHolder
Реализация адаптера для заполнения RecyclerView
Настройка адаптера RecyclerView
Переработка представлений
Очистка элементов связанного списка
Отклик на нажатия
Для любознательных: ListView и GridView
Упражнение. Типы View в RecyclerView
Глава 10. Создание интерфейсов с использованием макетов и виджетов
Знакомство с ConstraintLayout
Использование графического конструктора макетов
Использование ConstraintLayout
Освобождение пространства
Добавление виджетов
Внутренние механизмы ConstraintLayout
Редактирование свойств
Динамическое поведение элементов списка
Подробнее об атрибутах макетов
Стили, темы и атрибуты тем
Для любознательных: поля и отступы
Для любознательных: нововведения в ConstraintLayout
Упражнение. Форматирование даты
Глава 11. Базы данных и Room Library
Библиотека компонентов архитектуры Room
Создание базы данных
Определение сущностей
Создание класса базы данных
Определение объекта доступа к данным
Доступ к базе данных с помощью шаблона репозитория
Тестирование запросов
Загрузка тестовых данных
Потоки приложения
Фоновые потоки
Использование LiveData
Наблюдение за LiveData
Упражнение. Ошибка доступа к схеме
Для любознательных: синглтоны
Глава 12. Навигация по фрагментам
Одиночная activity: главный фрагмент
Интерфейсы обратного вызова фрагментов
Замена фрагмента
Аргументы фрагментов
Присоединение аргументов к фрагменту
Получение аргументов
Преобразования LiveData
Обновление базы данных
Использование исполнителя
Привязка записи в базу данных к жизненному циклу фрагмента
Для любознательных: зачем использовать аргументы фрагментов?
Для любознательных: библиотека компонентов архитектуры навигации Упражнение. Эффективная перезагрузка RecyclerView
Глава 13. Диалоговые окна
Создание экземпляра DialogFragment
Отображение DialogFragment
Передача данных между фрагментами
Передача данных в DatePickerFragment
Возвращение данных CrimeFragment
Упражнение. Новые диалоговые окна
Глава 14. Панель приложения
Панель приложения AppCompat
Меню
Определение меню в XML
Создание меню
Реакция на выбор команд
Использование Android Asset Studio
Для любознательных: панель приложения/действий/инструментов
Для любознательных: доступ к AppCompat панели приложения
Упражнение. Пустое представление для списка
Глава 15. Неявные интенты
Добавление кнопок
Добавление подозреваемого в уровень модели
Форматные строки
Использование неявных интентов
Строение неявного интента
Отправка отчета
Запрос контакта у Android
Проверка реагирующих activity
Упражнение. Другой неявный интент
Глава 16. Интенты при работе с камерой
Размещение фотографий
Хранилище файлов
Использование FileProvider
Выбор локации фотографии
Использование интента камеры
Отправка интента
Масштабирование и отображение растровых изображений
Объявление функциональности
Упражнение. Вывод увеличенного изображения
Упражнение. Эффективная загрузка миниатюры
Глава 17. Локализация
Локализация ресурсов
Ресурсы по умолчанию
Проверка покрытия локализации в Translations Editor
Региональная локализация
Конфигурационные квалификаторы
Приоритеты альтернативных ресурсов
Множественные квалификаторы
Поиск наиболее подходящих ресурсов
Тестирование альтернативных ресурсов
Для любознательных: подробнее об определении размеров экрана устройства Упражнение. Локализация дат
Глава 18. Специальные возможности
Приложение TalkBack
Функция Explore by Touch
Линейная навигация смахиванием
Чтение нетекстовых элементов
Добавление описаний к контенту
Фокусировка на виджетах
Создание сопоставимого опыта взаимодействия
Для любознательных: Accessibility Scanner
Упражнение. Улучшение списка
Упражнение. Предоставление контекста для ввода данных
Упражнение. Оповещения о событиях
Глава 19, Привязка данных и MWM
Другие архитектуры: зачем они нужны?
Сравнение моделей представления MWM и Jetpack-класса ViewModel
Создание приложения BeatBox
Простая привязка данных
Импорт активов
Доступ к активам
Подключение активов для использования
Установление связи с данными
Создание модели представления
Связывание с моделью представления
Отслеживаемые данные
Для любознательных: подробнее о привязке данных
Лямбда-выражения
Синтаксический сахар
BindingAdapter
Для любознательных: LiveData и привязка данных
Глава 20. Модульное тестирование и воспроизведение звуков
Создание объекта SoundPool
Доступ к активам
Загрузка звуков
Воспроизведение звуков
Зависимости при тестировании
Создание класса теста
Подготовка теста
Настройка тестируемых объектов
Написание тестов
Взаимодействия тестируемых объектов
Обратные вызовы привязки данных
Выгрузка звуков
Для любознательных: интеграционное тестирование
Для любознательных: фиктивные объекты и тестирование
Упражнение. Управление скоростью воспроизведения
Упражнение. Воспроизведение звуков после поворота
Глава 21. Стили и темы
Цветовые ресурсы
Стили
Наследование стилей
Темы
Изменение темы
Добавление цветов в тему
Переопределение атрибутов темы
Исследование тем
Изменение атрибутов кнопки
Для любознательных: подробнее о наследовании стилей
Для любознательных: доступ к атрибутам тем
Глава 22. Графические объекты
Унификация кнопок
Геометрические фигуры
Списки состояний
Списки слоев
Для любознательных: для чего нужны графические объекты XML
Для любознательных: Mipmap
Для любознательных: девятизонные изображения
Упражнение. Темы кнопок
Глава 23. Подробнее об интентах и задачах
Создание приложения NerdLauncher
Обработка неявного интента
Создание явных интентов на стадии выполнения
Задачи и стек возврата
Переключение между задачами
Запуск новой задачи
Использование NerdLauncher в качестве главного экрана
Для любознательных: процессы и задачи
Для любознательных: параллельные документы
Упражнение. Значки
Глава 24. HTTP и фоновые задачи
Создание приложения PhotoGallery
Основы работы с сетью при помощи Retrofit
Определение интерфейса API
Сборка объекта Retrofit и создание экземпляра API
Выполнение веб-запроса
Запрос разрешения на работу с сетью
Переход к шаблону репозитория
Получение JSON-данных от Flickr
Десериализация JSON-текста в объекты модели
Работа с сетью после изменения конфигурации
Отображение результатов в RecyclerView
Для любознательных: альтернативные парсеры и форматы данных
Для любознательных: отмена запросов
Для любознательных: управление зависимостями
Упражнение. Добавление пользовательского десериализатора Gson
Упражнение. Навигация по страницам
Упражнение. Динамическая настройка количества столбцов
Глава 25. Классы Looper, Handler и HandlerThread
Подготовка RecyclerView к выводу изображений
Подготовка к загрузке через URL
Множественные загрузки
Создание фонового потока
Передача информации о жизненном цикле в поток
Запуск и остановка HandlerThread
Сообщения и обработчики сообщений
Структура сообщения
Структура обработчика
Использование обработчиков
Передача обработчиков
Прослушивание жизненного цикла представления
Сохраненные фрагменты
Поворот и сохранение фрагментов
Выполнять ли сохранение
Для любознательных: решение задачи загрузки изображений
Для любознательных: StrictMode
Упражнение. Наблюдение LiveData у LifecycleOwner
Упражнение. Больше информации о жизненном цикле ThumbnailDownloader Упражнение. Предварительная загрузка и кэширование
Глава 26. Поиск: SearchView и SharedPreferences
Поиск во Flickr
Использование SearchView
Реакция SearchView на действия пользователя
Простое сохранение с помощью SharedPreferences
Последний штрих
Редактирование SharedPreferences с помощью Android КТХ
Упражнение. Еще одно усовершенствование
Глава 27. Библиотека WorkManager
Создание класса Worker
Планирование работы
Проверка на наличие новых фотографий
Вывод уведомления пользователю
Управление опросом от пользователя
Глава 28. Широковещательные интенты
Обычные и широковещательные интенты
Отключение уведомлений при открытом приложении
Отправка широковещательных интентов
Создание и регистрация автономного широковещательного приемника
Ограничение широковещательной рассылки
Создание и регистрация динамического приемника
Передача и получение данных с упорядоченной широковещательной рассылкой
Приемники и продолжительные задачи
Для любознательных: локальные события
Использование EventBus
Использование RxJava
Для любознательных: ограничения широковещательных приемников
Для любознательных: проверка видимости фрагмента
Глава 29. Веб-серфинг и WebView
И еще один фрагмент данных Flickr
Простой способ: неявные интенты
Сложный способ: WebView
Класс WebChromeClient
Повороты в WebView
Опасности при обработке изменений конфигурации
Сравнение WebView и пользовательского интерфейса
Для любознательных: внедрение объектов JavaScript
Для любознательных: обновления WebView
Упражнение. Пользовательские вкладки Chrome (еще один простой способ)
Упражнение. Использование кнопки «Назад» для работы с историей просмотра
Глава 30. Пользовательские представления и события касания
Создание проекта DragAndDraw
Создание пользовательского представления
Создание класса BoxDrawingView
Обработка событий касания
Отслеживание событий перемещения
Рендеринг внутри onDraw(Canvas)
Для любознательных: GestureDetector
Упражнение. Сохранение состояния
Упражнение. Повороты прямоугольников
Упражнение. Поддержка специальных возможностей
Глава 31. Анимация свойств
Построение сцены
Простая анимация свойств
Свойства преобразований
Выбор интерполятора
Изменение цвета
Одновременное воспроизведение анимаций
Для любознательных: другие API анимации
Устаревшие средства анимации
Переходы
Упражнения
Послесловие
Последнее упражнение
Спасибо вам!


Оставьте отзыв о товаре
×

Авиационные и военные линейки

Диски

Журналы и бланки

Автодороги, дорожное хозяйствоАЗС и АЗГСАптекиАрхивыАттракционыБанкиБассейныБухгалтерияГазовое хозяйство, газораспределительные системы, ГАЗПРОМГеодезия, геологияГостиницы, общежития, хостелыГрузоподъемные механизмыДелопроизводствоДокументы, относящиеся к нескольким отраслямДрагметаллыЖКХЖурналы для медицинских учрежденийЖурналы для образовательных учрежденийЖурналы для парикмахерских, салонов красоты, маникюрных, педикюрных кабинетовЖурналы и бланки для армии, вооруженных силЖурналы и бланки для нотариусов, юристов, адвокатовЖурналы и бланки для организаций пищевого производства, общепита и пищевых блоковЖурналы и бланки для организаций, занимающихся охраной объектов и частных лицЖурналы и бланки для ФТС РФ (таможни)Журналы и бланки по экологииЖурналы и бланки, используемые в торговле, бытовом обслуживанииЖурналы по санитарии, проверкам СЭСЖурналы, бланки, формы документов для органов прокуратуры и суда, минюста, пенитенциарной системыЖурналы, бланки, формы документов МВД РФ, РосгвардииКадровая работа: Журналы, бланки, формыКанатные дороги, фуникулерыКладбищаКомплекты документов и журналовКонструкторская, научно-техническая документацияЛесное хозяйствоЛифтыМетрологияМЧСНефтебазыНефтепромысел, нефтепроводыОбложки для журналов и удостоверенийОхрана труда и техника безопасностиПожарная безопасностьПроверки и контроль госорганами, контролирующими организациямиПромышленностьПсихологияРаботы с повышенной опасностьюРегулирование алкогольного рынкаСамокопирующиеся бланкиСвязьСельское хозяйство, ветеринарияСкладСнегоплавильные пунктыСтройка, строительствоТепловые энергоустановки, котельныеТранспортТуризмУчреждения культуры, библиотеки, музеиШахты, рудники, метрополитены, подземные сооруженияЭксплуатация зданий и сооруженийЭлектроустановкиЭнергетика

Знаки безопасности, таблички, стенды

Вспомогательные знаки, таблички-наклейкиЗапрещающие знакиЗнаки для инвалидовЗнаки для уборки и сбора мусораЗнаки на автомобильЗнаки пожарной безопасностиЗнаки электробезопасностиИнформационные знаки для строительных площадокМедицинские и санитарные знакиНаклейкиПредписывающие знакиПредупреждающие знакиСтендыУказательные знакиЭвакуационные знакиЮмористические знаки

Календари

Книги

Букинистическая литератураГОСТы, ОСТыДетская литератураДомашний кругДругоеИскусство. Культура. ФилологияКниги в электронном видеКниги издательства "Комсомольская правда"Компьютеры и интернетКосмосНаука. Техника. МедицинаНормативные правовые актыОбщественные и гуманитарные наукиОхрана труда, обеспечение безопасностиПодарочные книгиПутешествия. Отдых. Хобби. СпортРелигия. Оккультизм. ЭзотерикаРостехнадзорСанПины, СП, МУ, МР, ГНСборники рецептур блюд для предприятий общественного питанияСНиП, СП, СО,СТО, РД, НП, ПБ, МДК, МДС, ВСНУчебный годХудожественная литератураЭкономическая литератураЭнциклопедии, справочники, словари

Курвиметры

Ленты с тиснением

Маркировочная продукция

Маркировка трубопровода "Вода"Маркировка трубопровода "Воздух"Маркировка трубопровода "Газ"Маркировка трубопровода "Жидкость"Маркировка трубопровода "Кислота"Маркировка трубопровода "Пар"Маркировка трубопровода "Прочие вещества"Маркировка трубопровода "Щелочь"

Материалы для типографии (мини-типографии)

Металлические изделия (металлическая мебель, конструкции, навесы)

Металлическая мебельМеталлические изделия для дачи и дома

Носки и портянки

Одноразовая одежда

Охрана труда

Печати и штампы

Медицинские печати и штампыОснастки, самонаборные штампыПечати и штампы для бухгалтерии и делопроизводстваПечати и штампы для водителейПечать фирмы (организации, компании, подразделения, отдела)Штампы по техническому контролю, учету и хранению

Плакаты

Погоны министерств и ведомств

Подарки нашим покупателям

Полотенца

Портреты знаменитых людей

Сувениры

Бизнес сувениры, корпоративные подаркиБрелкиГимн России. Эксклюзивное графическое оформление в багетном обрамленииГудки и Рожки охотничьиЗажигалкиКружки для термопереносаПодарочные наборы игрПредметы интерьераСувениры, подарки для мужчин

Тир

Рогатки спортивные

Ткани

Товары для дома и офиса

Грамоты и благодарностиИндикаторы стерилизацииКанцелярские товарыКаски, защитные очки, маскиКухонные принадлежностиОгнетушителиПланы эвакуацииСамоспасателиСредства дезинфекцииФитолампы и прожекторыХозяйственные товарыЭлектроудлинители, тройники, катушкиЭлектроустановочные изделия

Товары для здоровья, БАДы

Аюрведические товарыСредства гигиены, косметика из минералов Мертвого моря

Товары для развития, игрушки

Бумажные модели

Удостоверения, Свидетельства

Зачетные книжки, студенческие билетыУдостоверения для спортивных секцийУдостоверения рабочих различных специальностей

Упаковка, упаковочные материалы

Членские книжки

ГК, ГСК, членские книжки, пропуска и пр.Садоводческие книжки, членские книжки СНТ

Юнармия

Береты
;