Классический форум-трекер
canvas not supported
Нас вместе: 4 269 385


Устойчивый VPN, который не нужно выключать! Работает с белыми списками

Пьер-Оливье Лоранс, Аманда Хинчман-Домингес, Дж. Блэйк Мик и др. | Программирование на Kotlin для Android (2024) [PDF]


 
 
RSS
Начать новую тему   Ответить на тему    Торрент-трекер NNM-Club -> Компьютерная литература -> Программирование
Автор Сообщение
sinoptik500 ®
Стаж: 10 лет 1 мес.
Сообщений: 8290
Ratio: 47.835
Поблагодарили: 501978
100%
Откуда: с рыбалки
Пьер-Оливье Лоранс, Аманда Хинчман-Домингес, Дж. Блэйк Мик и др. | Программирование на Kotlin для Android (2024) [PDF]
Автор: Пьер-Оливье Лоранс, Аманда Хинчман-Домингес, Дж. Блэйк Мик и др.
Перевод: Дмитрий Беликов
Издательство: БХВ-Петербург
ISBN: 978-5-9775-0944-2
Жанр: ОС Android, Программирование, Разработка мобильных приложений, Разработка приложений, Разработка программного обеспечения, Язык Kotlin

Формат: PDF
Качество: Изначально электронное (ebook)
Иллюстрации: Цветные и черно-белые

Описание:
Книга посвящена разработке мобильных приложений для Android на языке Kotlin. Рассмотрены основные структуры и элементы языка, подробно описан фреймворк коллекций Kotlin. Показана архитектура операционной системы Android, приложений и их контейнеров, изучаются основы параллельного программирования. Рассказано о потокобезопасности, работе с параллелизмом с использованием обратных вызовов. Отдельная глава посвящена специальным конструкциям Kotlin – сопрограммам, с акцентом на структурированный параллелизм. Рассматриваются каналы, использование потоков для асинхронной обработки данных. Изучаются вопросы повышения производительности приложений с использованием инструментов профилирования Android и снижения потребления ресурсов за счет оптимизации производительности.
Оглавление:
ОБ АВТОРАХ ................................................................................................................ 11
ПРЕДИСЛОВИЕ ............................................................................................................. 13
Кому адресована эта книга ........................................................................................... 14
Почему мы написали эту книгу....................................................................................... 15
Как организована эта книга .......................................................................................... 15
Условные обозначения и соглашения ............................................................................. 16
Примеры кода .............................................................................................................. 17
Благодарности.............................................................................................................. 17
ГЛАВА 1. Основы языка Kotlin........................................................................................ 19
Система типов Kotlin ..................................................................................................... 20
Примитивные типы........................................................................................................ 20
Null-безопасность ......................................................................................................... 21
Тип Unit........................................................................................................................ 23
Функциональные типы .................................................................................................. 24
Обобщенные типы ......................................................................................................... 25
Переменные и функции ................................................................................................. 25
Переменные .................................................................................................................. 26
Лямбда-выражения ........................................................................................................ 26
Функции-расширения.................................................................................................... 27
Классы ........................................................................................................................ 29
Инициализация класса................................................................................................... 29
Свойства.......................................................................................................................... 31
Модификатор lateinit ..................................................................................................... 32
Свойства с отложенной инициализацией ......................................................................... 34
Делегаты ......................................................................................................................... 35
Объекты-компаньоны.................................................................................................... 36
Классы данных ............................................................................................................... 37
Классы перечислений .................................................................................................... 38
Запечатанные классы..................................................................................................... 40
Модификаторы видимости ................................................................................................... 41
Резюме .................................................................................................................................... 42
ГЛАВА 2. Фреймворк коллекций Kotlin ............................................................................ 45
Основные понятия................................................................................................................. 45
Совместимость с Java .................................................................................................... 46
Изменяемость ................................................................................................................. 46
Перегруженные операторы ........................................................................................... 48
Создание контейнеров................................................................................................... 49
Функциональное программирование .................................................................................. 50
Сравнение функционального и процедурного программирования:
простой пример .............................................................................................................. 50
Функциональное программирование в Android.................................................................... 51
Функции-преобразователи ................................................................................................... 52
Булевы функции............................................................................................................. 52
Фильтры.......................................................................................................................... 53
Функция map .................................................................................................................. 53
Функция flatMap .............................................................................................................. 55
Группировка ................................................................................................................... 56
Сравнение итераторов и последовательностей.................................................................... 57
Пример.................................................................................................................................... 59
Проблема ........................................................................................................................ 59
Реализация ...................................................................................................................... 60
Резюме .................................................................................................................................... 66
ГЛАВА 3. Основы Android ................................................................................................ 67
Стек Android........................................................................................................................... 67
Аппаратное обеспечение............................................................................................... 67
Ядро................................................................................................................................. 68
Системные службы ........................................................................................................ 68
Среда выполнения Android ........................................................................................... 69
Приложения.................................................................................................................... 69
Прикладное окружение Android........................................................................................... 69
Намерения и фильтры намерений ................................................................................ 70
Контекст.......................................................................................................................... 73
Компоненты приложения Android: строительные блоки .................................................. 75
Компонент Activity и его друзья ................................................................................... 76
Службы ........................................................................................................................... 80
Провайдеры контента .................................................................................................... 85
BroadcastReceiver ........................................................................................................... 86
Архитектуры приложений Android...................................................................................... 88
MVC: основы.................................................................................................................. 88
Виджеты.......................................................................................................................... 89
Локальная модель .......................................................................................................... 89
Паттерны Android .................................................................................................................. 90
Model-View-Intent .......................................................................................................... 90
Model-View-Presenter....................................................................................................... 90
Model-View-ViewModel...................................................................................................... 91
Резюме .................................................................................................................................... 92
ГЛАВА 4. Параллельное программирование в Android......................................................... 94
Потокобезопасность.............................................................................................................. 95
Атомарность ................................................................................................................... 95
Видимость....................................................................................................................... 96
Модель многопоточного выполнения Android...................................................................... 97
Пропуск кадров...................................................................................................................... 98
Утечка памяти...................................................................................................................... 101
Инструменты для управления потоками ........................................................................... 103
Looper/Handler ............................................................................................................. 104
Исполнители Executors и объекты ExecutorService ........................................................... 106
Инструменты для управления заданиями ......................................................................... 107
JobScheduler.................................................................................................................. 109
WorkManager ................................................................................................................ 111
Резюме .................................................................................................................................. 112
ГЛАВА 5. Потокобезопасность ....................................................................................... 113
Пример проблемы, связанной с потокобезопасностью ................................................... 113
Инварианты.......................................................................................................................... 115
Мьютексы ..................................................................................................................... 116
Потокобезопасные коллекции .................................................................................... 116
Привязка к потоку ............................................................................................................... 119
Конфликт потоков ............................................................................................................... 120
Сравнение блокирующего и неблокирующего вызовов.................................................. 121
Очереди работ...................................................................................................................... 122
Противодавление................................................................................................................. 123
Резюме .................................................................................................................................. 125
ГЛАВА 6. Организация параллелизма с использованием обратных вызовов ......................... 127
Пример: функция обработки покупок ............................................................................... 128
Создание приложения ......................................................................................................... 130
Компонент ViewModel ................................................................................................ 130
Представление.............................................................................................................. 131
Реализация логики ....................................................................................................... 135
Обсуждение .................................................................................................................. 136
Ограничения модели многопоточного выполнения ........................................................ 138
Резюме .................................................................................................................................. 139
ГЛАВА 7. Сопрограммы .................................................................................................. 141
Что такое сопрограмма? ..................................................................................................... 141
Наша первая сопрограмма .................................................................................................. 142
Функция async .............................................................................................................. 144
Краткий обзор структурированного параллелизма .................................................. 146
Связь "родитель — потомок" в структурированном параллелизме ............................... 148
CoroutineScope и CoroutineContext .................................................................................... 150
Функции, поддерживающие возможность приостановки ............................................... 155
Функции, поддерживающие возможность приостановки, "под капотом"..................... 156
Использование сопрограмм и функций, поддерживающих возможность
приостановки: практический пример ................................................................................ 160
Не ошибитесь с модификатором suspend.......................................................................... 163
Резюме .................................................................................................................................. 164
ГЛАВА 8. Структурированный параллелизм и сопрограммы ................................ 166
Функции, поддерживающие возможность приостановки ............................................... 166
Настройка места действия........................................................................................... 167
Традиционный подход с использованием java.util.concurrent.ExecutorService ..... 168
Вспомним, что такое HandlerThread.......................................................................... 172
Использование приостанавливаемых функций и сопрограмм ................................ 175
Сравнение приостанавливаемых и традиционной многопоточности: итоги ......... 179
Отмена .................................................................................................................................. 179
Жизненный цикл сопрограмм....................................................................................... 180
Отмена сопрограммы................................................................................................... 182
Отмена задачи, делегированной сторонней библиотеке.................................................. 184
Сопрограммы, которые действуют согласованно, чтобы их можно было
отменить........................................................................................................................ 188
Функцию delay() можно отменить ................................................................................. 190
Обработка отмены ....................................................................................................... 191
Причины отмены.......................................................................................................... 192
Супервизия........................................................................................................................ 195
Функция supervisorScope .................................................................................................... 197
Параллельная декомпозиция .............................................................................................. 197
Автоматическая отмена ...................................................................................................... 199
Обработка исключений....................................................................................................... 199
Необработанные и открытые исключения ................................................................ 199
Открытые исключения ................................................................................................ 201
Необработанные исключения ..................................................................................... 204
Резюме ............................................................................................................................. 207
Размышления напоследок................................................................................................... 208
ГЛАВА 9. Каналы.............................................................................................................. 209
Обзор каналов ................................................................................................................. 209
Рандеву-канал............................................................................................................... 211
Неограниченный канал................................................................................................ 215
Объединенный канал................................................................................................... 216
Буферизованный канал................................................................................................ 217
Функция produce .......................................................................................................... 218
Взаимодействующие последовательные процессы.......................................................... 219
Модель и архитектура ................................................................................................. 219
Первая реализация ....................................................................................................... 220
Выражение select.......................................................................................................... 225
Собираем все воедино ................................................................................................. 227
Мультиплексор и демультиплексор ............................................................................. 228
Проверка производительности ................................................................................... 229
Противодавление ......................................................................................................... 231
Сходства с моделью акторов ...................................................................................... 232
Последовательное выполнение внутри процесса .......................................................... 232
Размышления напоследок ........................................................................................... 233
Взаимоблокировки в CSP ................................................................................................... 233
Каналы и взаимоблокировки.............................................................................................. 236
Ограничения каналов................................................................................................... 236
"Горячие" каналы......................................................................................................... 238
Резюме ........................................................................................................................... 239
ГЛАВА 10. Потоки ............................................................................................................ 241
Введение в потоки ........................................................................................................... 241
Более реалистичный пример....................................................................................... 242
Операторы .................................................................................................................... 244
Терминальные операторы ........................................................................................... 245
Примеры использования холодного потока ..................................................................... 246
Вариант 1: интерфейс с API на базе функции обратного вызова............................ 246
Вариант 2: параллельное преобразование потока значений.................................... 251
Вариант 3: создание собственного оператора........................................................... 253
Обработка ошибок.......................................................................................................... 257
Блок try/catch ................................................................................................................ 257
Разделение ответственности важно............................................................................ 260
Нарушение прозрачности исключения ...................................................................... 260
Оператор catch ............................................................................................................. 261
Материализация исключений ..................................................................................... 264
Горячие потоки и SharedFlow ............................................................................................ 267
Создаем SharedFlow..................................................................................................... 268
Регистрируем подписчика........................................................................................... 268
Отправляем значения в SharedFlow ........................................................................... 269
Использование SharedFlow для потоковой передачи данных ................................. 269
Использование SharedFlow в качестве шины событий ............................................ 275
StateFlow: специализированная версия SharedFlow ................................................. 276
Пример использования StateFlow............................................................................... 277
Резюме ......................................................................................................................... 279
ГЛАВА 11. Вопросы производительности и инструменты
профилирования Android ................................................................................................ 280
Android Profiler ............................................................................................................... 282
Network Profiler ............................................................................................................ 285
CPU Profiler................................................................................................................... 291
Energy Profiler............................................................................................................... 301
Memory Profiler............................................................................................................. 303
Обнаружение утечек памяти с помощью LeakCanary........................................................ 308
Резюме ........................................................................................................................... 312
ГЛАВА 12. Снижение потребления ресурсов за счет оптимизации
производительности.......................................................................................................... 314
Достижение плоской иерархии представлений с помощью ConstraintLayout........................... 315
Сокращение количества операций рисования с помощью экземпляров
класса Drawable .............................................................................................................. 319
Минимизация данных в сетевых вызовах........................................................................... 324
Организация пула и кэширование объектов Bitmap ............................................................ 324
Избавляемся от ненужной работы ..................................................................................... 326
Использование статических функций ............................................................................... 329
Минификация и обфускация с R8 и ProGuard ..................................................................... 329
Резюме ........................................................................................................................... 331
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ ................................................................................................. 333
Скриншоты:


Время раздачи: с 10 до 20 (минимум до появления первых 3-5 скачавших)
[NNMClub.to]_Lorans P'er-Oliv'e i dr. - Programmirovanie na Kotlin dlya Android - 2024.pdf.torrent
 Торрент:   Зарегистрирован
 
Зарегистрируйтесь и скачайте торрент!
4.07 KB
Free Leech
Примагнититься
 Зарегистрирован:   25 Июл 2026 15:48:23
 Размер:   12.2 MB  (
 Рейтинг:   4.9 (Голосов: 27)
 Поблагодарили:   166
 Проверка:   Оформление проверено модератором 25 Июл 2026 17:15:56
Как cкачать  ·  Как раздать  ·  Правильно оформить  ·  Поднять ратио!  
sinoptik500 ®
Стаж: 10 лет 1 мес.
Сообщений: 8290
Ratio: 47.835
Поблагодарили: 501978
100%
Откуда: с рыбалки
Пьер-Оливье Лоране и др. | Программирование на Kotlin для Android (2024) [PDF] обработанный скан с OCR
Пьер-Оливье Лоранс, Аманда Хинчман-Домингес, Дж. Блэйк Мик и др. | Программирование на Kotlin для Android (2024) [PDF] Изначально электронное (ebook)
Показать сообщения:   
Начать новую тему   Ответить на тему    Торрент-трекер NNM-Club -> Компьютерная литература -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1