Книга посвящена разработке мобильных приложений для Android на языке Kotlin. Рассматриваются основные элементы языка, такие как функции и классы, приемы объектно-ориентированного программирования. Рассказывается о разработке микросервисов Restful для приложений Android, о методах реализации шаблона архитектуры Mvc. Описаны способы централизации, преобразования и хранения данных с применением Logstash, защиты приложений с использованием Spring Security. Изучается управление зависимостями с помощью Kotlin. Уделено внимание развертыванию микроcервисов Kotlin для Aws и приложений Android в Play Store. Файлы для книги можно скачать по ссылке Ftp://ftp.bhv.ru/9785977566735.zip Об авторе О рецензенте 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 Добавление в проект необходимых тестовых зависимостей Создание класса конфигурации Настройка тестового класса для применения пользовательской конфигурации Создание первого теста Подведем итоги Что дальше? Другие книги, которые могут вам пригодиться Оставьте отзыв — сообщите другим читателям свое мнение о книге Предметный указатель