1. Android-разработка. Введение | Технострим
1. Android-разработка. Введение | Технострим
https://www.youtube.com/watch?v=GmZEFB0is6Y
00:04 Введение в Android разработку
• Дмитрий Трунин, разработчик Android, начинает курс по разработке под Android.
• Он объясняет, что курс будет состоять из 10 лекций, каждая из которых будет посвящена определенной теме.
• Дмитрий также упоминает, что курс будет начинаться с основ, и что он будет использовать Java для разработки.
04:56 История Android и версии Android
• Дмитрий рассказывает о том, как Android появился в 2009 году и как он эволюционировал с тех пор.
• Он также объясняет, что Android имеет систему нумерации версий, где каждая версия имеет свое название, основанное на десертах или других продуктах.
09:52 Ресурсы для Android разработки
• Дмитрий рекомендует официальный портал разработчика Android, где можно найти документацию, руководства и другие ресурсы для Android разработки.
• Он также упоминает, что Android Studio - это основной инструмент для разработки под Android, и что его размер составляет 948 мегабайт.
14:46 План курса и домашнее задание
• Дмитрий представляет план курса, который включает в себя изучение жизненного цикла Android приложений, создание падающего снега на экране смартфона и другие темы.
• Он также объявляет домашнее задание, которое заключается в создании приложения, которое будет выглядеть как падающий снег на экране смартфона.
17:44 Создание нового проекта в Android Studio
• Создание нового проекта в Android Studio, выбор шаблона и параметров проекта.
• Выбор имени пакета и минимальной версии Android для приложения.
28:29 Обзор проекта и его компонентов
• Обзор структуры проекта, модулей и файлов.
• Обсуждение важности манифеста и его роли в определении компонентов приложения для операционной системы.
30:26 Работа с файлами и папками проекта
• Обсуждение использования сгенерированных и не сгенерированных файлов в проекте.
• Важность понимания различий между ресурсами и исходным кодом на Java.
34:22 Работа с Gradle и сборкой проекта
• Обсуждение использования Gradle для сборки Android-приложений.
• Важность понимания различий между режимами работы с файлами в Android Studio.
35:21 Создание активности в Android Studio
• Создание нового класса с именем "Технополис" и наследованием от класса "Activity".
• Добавление элемента "Activity" в файл манифеста для указания главного экрана приложения.
• Создание директории "res/layout" для хранения файлов верстки.
• Создание файла верстки с именем "activity_flow_technopolis" и использованием элемента "FrameLayout" для отображения текста "Hello World".
51:28 Связывание файла верстки с кодом
• Импорт аннотации "onCreate" и "setContentView" для загрузки файла верстки в методе "onCreate".
• Передача имени файла верстки в качестве аргумента методу "setContentView".
54:17 Верстка и сборка Android-приложения
• В видео рассказывается о процессе создания Android-приложения и его сборке.
• Обсуждаются различные аспекты работы с кодом и версткой, включая использование атрибутов и layout gravity.
57:12 Структура проекта и сборка
• Видео объясняет структуру проекта и процесс сборки приложения.
• Рассматриваются различные файлы и папки, которые создаются в процессе сборки, включая манифест, ресурсы, классы и build config.
01:05:00 Работа с кодом и сборка
• Видео продолжает обсуждение работы с кодом и сборкой, включая использование констант и build griddle.
• Обсуждается важность обновления Android Studio и плагина для сборки.
• Обсуждение различных версий Android SDK и их использования в проекте.
• Упоминание о том, что для компиляции проекта необходимо, чтобы все зависимости были доступны.
01:17:34 Сборка и тестирование
• Обсуждение различных режимов сборки и их использования.
• Упоминание о необходимости оптимизации кода для релиза.
01:24:20 Создание активности и взаимодействие с пользователем
• Создание новой активности и добавление поля ввода для пользователя.
• Обсуждение использования строчек для создания уникальных названий для активностей.
• Создание строчек для использования в ресурсах и их использование в разных местах проекта.
01:31:04 Создание двух активностей в приложении
• В Android Studio, в файле манифеста, создаются две активности, которые будут отображаться на домашнем экране.
• В коде, создается файл ресурсов с версткой, где определяются элементы интерфейса, такие как текст, кнопка и поле ввода.
01:41:11 Обработка кликов и работа с текстом
• В коде, используется интерфейс onclicklistener для обработки кликов на кнопку и метод get текст для получения текста из поля ввода.
• Для скрытия и отображения текста используется свойство видимости view.
• В коде, строки, которые могут быть прочитаны пользователем, хранятся в ресурсах.
• Для локализации строк, используется метод get string с аргументами, которые указывают на номер и тип аргумента.
• Создаются альтернативные версии ресурсов для разных языков интерфейса пользователя.
01:53:38 Локализация приложений
• В видео обсуждается, как добавить поддержку нескольких языков в приложение, используя альтернативные ресурсы.
• Это позволяет приложению работать с любым языком, выбранным пользователем в настройках устройства.
01:59:20 Создание эффекта огня
• В видео демонстрируется, как создать эффект огня, используя алгоритм, описанный в статье на английском языке.
• Алгоритм включает в себя использование случайных чисел для определения температуры пикселей и их положения на экране.
02:11:52 Создание анимации огня
• Обсуждение использования массива пикселей для создания анимации огня.
• Создание класса для работы с массивом пикселей и его использование для отрисовки на холсте.
02:20:30 Использование bitmap для отрисовки пикселей
• Обсуждение использования bitmap для отрисовки пикселей вместо drop point.
• Создание bitmap с использованием метода create bitmap и передача его в метод set pixels.
• Обсуждение алгоритма распространения огня, где пиксели меняются в каждом кадре.
• Создание переменных для смещения пикселей и случайное изменение температуры.
02:30:59 Использование метода invalidate для перерисовки кадров
• Обсуждение использования метода invalidate для перерисовки кадров.
• Android не перерисовывает кадры чаще, чем 60 раз в секунду.
02:32:52 Оптимизация анимации огня
• В видео обсуждается оптимизация анимации огня, которая выполняется с использованием метода canvas.
• Для уменьшения количества пикселей, которые нужно перерисовать, предлагается уменьшить разрешение изображения.
• Это позволяет уменьшить количество инструкций процессора и памяти, используемых для рисования.
02:37:47 Использование метода масштабирования
• Для масштабирования изображения используется метод scale, который позволяет равномерно растянуть изображение на весь экран.
• Это позволяет оптимизировать использование памяти и процессора.
02:41:39 Альтернативные пути и компромиссы
• В мобильной разработке часто приходится идти на компромиссы, чтобы получить приемлемое поведение приложения.
• В данном случае, уменьшение разрешения изображения позволило ускорить анимацию, но привело к снижению качества изображения.
02:44:32 Использование рендер скрипта
• Рендер скрипт - это язык, похожий на Java, который позволяет выполнять код на графическом процессоре.
• Это может быть более эффективным способом выполнения вычислений с пикселями, но требует использования других технологий и языков.
• Домашнее задание включает в себя создание анимации огня, но с использованием других технологий и языков.
• Рекомендуется прочитать документацию и другие материалы, связанные с темой, для успешного выполнения задания.