May 17, 2024

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" в файл манифеста для указания главного экрана приложения.

44:50 Создание файла верстки

• Создание директории "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 и плагина для сборки.

01:12:46 Обзор проекта

• Обсуждение различных версий Android SDK и их использования в проекте.
• Упоминание о том, что для компиляции проекта необходимо, чтобы все зависимости были доступны.

01:17:34 Сборка и тестирование

• Обсуждение различных режимов сборки и их использования.
• Упоминание о необходимости оптимизации кода для релиза.

01:24:20 Создание активности и взаимодействие с пользователем

• Создание новой активности и добавление поля ввода для пользователя.
• Обсуждение использования строчек для создания уникальных названий для активностей.
• Создание строчек для использования в ресурсах и их использование в разных местах проекта.

01:31:04 Создание двух активностей в приложении

• В Android Studio, в файле манифеста, создаются две активности, которые будут отображаться на домашнем экране.
• В коде, создается файл ресурсов с версткой, где определяются элементы интерфейса, такие как текст, кнопка и поле ввода.

01:41:11 Обработка кликов и работа с текстом

• В коде, используется интерфейс onclicklistener для обработки кликов на кнопку и метод get текст для получения текста из поля ввода.
• Для скрытия и отображения текста используется свойство видимости view.

01:46:59 Локализация строк

• В коде, строки, которые могут быть прочитаны пользователем, хранятся в ресурсах.
• Для локализации строк, используется метод get string с аргументами, которые указывают на номер и тип аргумента.
• Создаются альтернативные версии ресурсов для разных языков интерфейса пользователя.

01:53:38 Локализация приложений

• В видео обсуждается, как добавить поддержку нескольких языков в приложение, используя альтернативные ресурсы.
• Это позволяет приложению работать с любым языком, выбранным пользователем в настройках устройства.

01:59:20 Создание эффекта огня

• В видео демонстрируется, как создать эффект огня, используя алгоритм, описанный в статье на английском языке.
• Алгоритм включает в себя использование случайных чисел для определения температуры пикселей и их положения на экране.

02:11:52 Создание анимации огня

• Обсуждение использования массива пикселей для создания анимации огня.
• Создание класса для работы с массивом пикселей и его использование для отрисовки на холсте.

02:20:30 Использование bitmap для отрисовки пикселей

• Обсуждение использования bitmap для отрисовки пикселей вместо drop point.
• Создание bitmap с использованием метода create bitmap и передача его в метод set pixels.

02:24:22 Распространяем огонь

• Обсуждение алгоритма распространения огня, где пиксели меняются в каждом кадре.
• Создание переменных для смещения пикселей и случайное изменение температуры.

02:30:59 Использование метода invalidate для перерисовки кадров

• Обсуждение использования метода invalidate для перерисовки кадров.
• Android не перерисовывает кадры чаще, чем 60 раз в секунду.

02:32:52 Оптимизация анимации огня

• В видео обсуждается оптимизация анимации огня, которая выполняется с использованием метода canvas.
• Для уменьшения количества пикселей, которые нужно перерисовать, предлагается уменьшить разрешение изображения.
• Это позволяет уменьшить количество инструкций процессора и памяти, используемых для рисования.

02:37:47 Использование метода масштабирования

• Для масштабирования изображения используется метод scale, который позволяет равномерно растянуть изображение на весь экран.
• Это позволяет оптимизировать использование памяти и процессора.

02:41:39 Альтернативные пути и компромиссы

• В мобильной разработке часто приходится идти на компромиссы, чтобы получить приемлемое поведение приложения.
• В данном случае, уменьшение разрешения изображения позволило ускорить анимацию, но привело к снижению качества изображения.

02:44:32 Использование рендер скрипта

• Рендер скрипт - это язык, похожий на Java, который позволяет выполнять код на графическом процессоре.
• Это может быть более эффективным способом выполнения вычислений с пикселями, но требует использования других технологий и языков.

02:45:30 Домашнее задание

• Домашнее задание включает в себя создание анимации огня, но с использованием других технологий и языков.
• Рекомендуется прочитать документацию и другие материалы, связанные с темой, для успешного выполнения задания.