Об авторе
О рецензенте
Packt ищет авторов
Предисловие
Для кого предназначена эта книга?
Структура книги
Как получить максимум пользы от книги?
Загрузите файлы примеров кода
Загрузите цветные изображения
Используемые условные обозначения
Обратная связь
Отзывы
Глава 1. Основы
Начало работы с Kotlin
Установка JDK
Установка для Windows
Установка для macOS
Установка для Linux
Компиляция программ Kotlin
Установка компилятора командной строки в macOS
Установка компилятора командной строки в Linux
Установка компилятора командной строки в Windows
Запуск вашей первой программы Kotlin
Написание сценариев с помощью Kotlin
Применение REPL
Работа в IDE
Установка IntelliJ IDEA
Настройка проекта Kotlin с помощью IntelliJ
Основы языка программирования Kotlin
Базовые понятия
Переменные
Операнды и операторы
Типы переменной
Int
Float
Double
Boolean
String (строка)
Char
Array (массив)
Функции
Объявление функций
Вызов функций
Возвращаемые значения
Соглашение об именовании функций
Комментарии
Однострочные комментарии
Многострочные комментарии
Комментарии Doc
Управление потоком выполнения программы
Условные выражения
Циклы
Обнуляемые значения
Пакеты
Ключевое слово import
Концепция объектно-ориентированного программирования
Базовые понятия
Работа с классами
Создание объектов
Сопутствующие объекты
Свойства класса
Преимущества языка Kotlin
Разработка с помощью Kotlin приложений для Android
Установка Android Studio
Создание первого приложения для Android
Создание интерфейса пользователя
Запуск приложения
Основы работы в Интернете
Что такое сеть?
Протокол передачи гипертекста
Клиенты и серверы
Запросы и отклики HTTP
Методы HTTP
Подведем итоги
Глава 2. Создание Android-приложения Tetris
Знакомство с Android
Компоненты приложения Android
Действия
Намерения
Фильтры намерений
Фрагменты
Службы
Загрузчики
Провайдеры контента
Tetris — правила игры
Создание интерфейса пользователя
Реализация макета
Элемент ConstraintLayout
Определение ресурсов измерений
Представления (Views)
Группы представлений (View groups)
Определение ресурсов строк
Обработка событий ввода данных
Слушатели событий
Использование интерфейса SharedPreferences
Реализация макета игрового действия
Манифест приложения
Структура файла манифеста приложения
Элемент
Элемент
Элемент
Элемент
Элемент
Элемент
Подведем итоги
Глава 3. Реализация логики и функциональности игры Tetris
Реализация игрового процесса Tetris
Моделирование тетрамино
Характеристики блока
Поведения блока
Моделирование формы тетрамино
Создание модели приложения
Создание представления Tetris View
Реализация класса ViewHandler
Реализация класса Dimension
Реализация класса TetrisView
Завершение разработки действия GameActivity
Введение в шаблон Model-View-Presenter (MVP)
Что такое MVP?
Модель
Представление
Презентатор
Различные реализации MVP
Подведем итоги
Глава 4. Разработка и реализация серверной части интернет-мессенджера с помощью фреймворка Spring Boot 2.0
Разработка API Messenger
Интерфейсы прикладного программирования
REST
Разработка системы API Messenger
Инкрементная разработка
Spring Boot
Задачи системы Messenger
Реализация серверной части приложения Messenger
PostgreSQL
Установка PostgreSQL
Создание нового приложения Spring Boot
Знакомство со Spring Boot
Создание моделей
Создание репозиториев
Сервисы и реализации сервисов
Ограничение доступа к API
Spring Security
JSON Web Tokens
Конфигурирование веб-безопасности
Доступ к ресурсам сервера через конечные точки RESTful
Развертывание API Messenger на Amazon Web Services
Установка PostgreSQL на AWS
Развертывание Messenger API в Amazon Elastic Beanstalk
Подведем итоги
Глава 5. Создание Android-приложения Messenger: часть 1
Разработка Android-приложения Messenger
Включение зависимостей проекта
Разработка интерфейса входа в систему (Login UI)
Создание представления входа в систему
Создание сервиса Messenger API и репозиториев данных
Хранение данных локально с помощью хранилища SharedPreferences
Создание объектов значений
Получение удаленных данных
Связь с удаленным сервером
Создание сервиса Messenger API
Реализация репозиториев данных
Создание интеракторов входа
Создание презентатора входа
Завершение работы с LoginView
Разработка интерфейса регистрации (SignUp UI)
Создание интерактора регистрации
Создание презентатора регистрации
Создание представления регистрации
Подведем итоги
Глава 6. Создание Android-приложения Messenger: часть 2
Создание основного интерфейса пользователя (Main UI)
Разработка основного представления MainView
Создание интерактора Mainlnteractor
Создание презентатора MainPresenter
Реализация MainView
Создание меню MainActivity
Создание пользовательского интерфейса чата
Создание макета чата
Подготовка моделей чата для интерфейса пользователя
Создание интерактора Chatlnteractor и презентатора ChatPresenter
Создание действия по настройке приложения
Тестирование Android-приложения
Выполнение фоновых операций
AsyncTask
IntentService
Подведем итоги
Глава 7. Средства хранения данных
Внутреннее хранилище
Запись файлов во внутреннее хранилище
Чтение файлов из внутреннего хранилища
Пример приложения, использующего внутреннее хранилище
Сохранение кэшированных файлов
Внешнее хранилище
Получение разрешения на доступ к внешнему хранилищу
Проверка доступности носителя данных
Хранение общедоступных файлов
Кэширование файлов с помощью внешнего хранилища
Сетевое хранилище
Работа с базой данных SQLite
Работа с контент-провайдерами
Подведем итоги
Глава 8. Защита и развертывание приложений Android
Обеспечение безопасности приложения Android
Хранение данных
Использование внутреннего хранилища
Использование внешнего хранилища
Использование провайдеров контента
Сетевая безопасность
IP-сети
Сетевая телефония
Валидация вводимых данных
Работа с учетными данными пользователя
Запутывание кода
Защита широковещательных приемников
Динамически загружаемый код
Службы обеспечения безопасности
Запуск и публикация Android-приложения
Уточнение политик разработчиков программ для Android
Подготовка учетной записи разработчика Android
Планирование локализации
Планирование одновременного выпуска
Тестирование на соответствие руководству по качеству
Создание подготовленного к выпуску пакета приложения (АРК)
Подготовка списка ресурсов вашего приложения для его включения в Play Store
Загрузка пакета приложения на альфа- или бета-канал
Определение совместимости устройства
Предварительные отчеты
Ценообразование и настройка распространения приложения
Выбор варианта распространения
Настройка продуктов и подписок в приложении
Определение рейтинга контента вашего приложения
Публикация вашего приложения
Создание учетной записи разработчика Google Play
Создание подписи приложения для выпуска
Выпуск приложения для Android
Подведем итоги
Глава 9. Создание серверной части веб-приложения Place Reviewer на основе платформы Spring
Шаблон проектирования MVC
Модель
Представление
Контроллер
Разработка и реализация серверной части (бэкэнда) веб-приложения Place Reviewer
Варианты использования
Необходимые данные
Установка базы данных
Реализация серверной части веб-приложения
Подключение бэкэнда приложения Place Reviewer к базе данных Postgres
Создание моделей
Создание репозиториев данных
Реализация бизнес-логики Place Reviewer
Обеспечение безопасности бэкэнда Place Reviewer
Обслуживание веб-контента с помощью Spring MVC
Управление журналами приложений Spring с помощью ELK
Создание журналов с помощью Spring
Установка Elasticsearch
Установка Kibana
Установка Logstash
Настройка Kibana
Подведем итоги
Глава 10. Реализация веб-интерфейса приложения Place Reviewer
Создание представлений с помощью библиотеки шаблонов Thymeleaf
Реализация представления регистрации пользователей
Реализация представления входа
Настройка приложения Place Reviewer с помощью веб-службы Google Places API
Получение ключа API
Включение Google Places API в веб-приложение
Реализация домашнего представления
Реализация веб-страницы создания обзора
Тестирование приложений Spring
Добавление в проект необходимых тестовых зависимостей
Создание класса конфигурации
Настройка тестового класса для применения пользовательской конфигурации
Создание первого теста
Подведем итоги
Что дальше?
Другие книги, которые могут вам пригодиться
Оставьте отзыв — сообщите другим читателям свое мнение о книге
Предметный указатель