уроки создание приложения для андроид
Как сделать приложение для Android самостоятельно
Платформа Android открытая, поэтому каждый может написать своё приложение и распространять его через каталоги программ. Все инструменты бесплатны.
Язык программирования для мобильной разработки на Android очень простой — это Java. Сейчас Google активно продвигает Kotlin как язык, который сможет заменить Java. Приложения пишут и на C++.
Создание простейшего приложения состоит из нескольких этапов:
А пока мы описываем азы, студенты курса «Профессия Мобильный разработчик» уже получают деньги за свои приложения.
Пишет про разработку в Skillbox. Работал главным редактором сайта «Хабрахабр», ведет корпоративные блоги.
Необходимые инструменты
Первым делом установите программу Android Studio. Это официальная среда разработки (IDE) для Android, она работает на Windows, macOS и Linux. Хотя при разработке программ для Android можно использовать и другие среды, кроме Android Studio.
Если на компьютере не установлены Android SDK и другие компоненты, то Android Studio автоматически скачает их. Android SDK — это среда программирования, в которую входят библиотеки, исполняемые файлы, скрипты, документация и т.д.
Полезно установить и эмулятор Android, чтобы запускать и тестировать приложения. Эмулятор поставляется в комплекте с Android Studio.
Когда все инструменты установлены, можно создать первый проект. Но сначала нужно разобраться с основными понятиями.
Из чего состоит приложение
на Android
Android-приложение состоит из четырёх компонентов. Каждый компонент — это точка входа, через которую система или пользователь может получить доступ.
Теперь попробуем сделать своё приложение для Android.
Создаём Android-приложение
в Android Studio
Шаг 1
Выбираем название приложения, домен компании, путь к проекту и название пакета. Указываем, включить ли поддержку опциональных языков программирования C++ и Kotlin.
Шаг 2
Задаём одну или несколько целевых платформ для сборки. Для этого используется SDK и AVD, менеджер виртуальных устройств Android. Инструмент позволяет устанавливать в SDK пакеты, которые поддерживают несколько версий ОС Android и несколько уровней API (интерфейсов программирования приложений).
Чем ниже версия Android, тем больше устройств, на которых приложение запустится. Чем выше версия, тем богаче функциональность API.
Шаг 3
Выбираем основную активность, которая будет запускаться при нажатии на иконку приложения, и даём ей имя.
Шаг 4
После нескольких минут сборки Android Studio открывает интерфейс IDE. Здесь три основных момента.
Уроки
Урок 1. Введение.
Это урок-введение. Здесь мы пока ничего кодить не будем, я распишу причины, которые побудили меня создать этот сайт.
Урок 2. Установка Android Studio
Я буду описывать установку применимо к операционной системе Windows 7.
Урок 3. Создание AVD. Первое приложение. Структура Android-проекта.
Для того, чтобы тестировать приложения, нам понадобится Android Virtual Device (AVD). Это эмулятор Android-смартфона, на который мы сможем устанавливать созданные нами приложения, и запускать их там. Давайте его создадим.
Урок 4. Компоненты экрана и их свойства
Давайте посмотрим, как в Андроид приложениях формируется то, что мы видим на экране.
Урок 5. Layout-файл в Activity. XML представление. Смена ориентации экрана.
На прошлом уроке мы выяснили, что Activity читает layout-файл и отображает то, что в нем сконфигурировано. Теперь выясним, откуда Activity знает, какой именно layout-файл читать.
Урок 6. Виды Layouts. Ключевые отличия и свойства.
Расположение View-элементов на экране зависит от ViewGroup (Layout), в которой они находятся. В этом уроке мы рассмотрим основные виды Layout.
LinearLayout – отображает View-элементы в виде одной строки (если он Horizontal) или одного столбца (если он Vertical). Я использовал это на прошлом уроке, когда демонстрировал использование layout-файлов при смене ориентации.
TableLayout – отображает элементы в виде таблицы, по строкам и столбцам.
RelativeLayout – для каждого элемента настраивается его положение относительно других элементов.
AbsoluteLayout – для каждого элемента указывается явная позиция на экране в системе координат (x,y)
Пишем первое приложение для Android
В любом деле самое сложное — это начало. Часто бывает тяжело войти в контекст, с чем столкнулся и я, решив разработать свое первое Android-приложение. Настоящая статья для тех, кто хочет начать, но не знает с чего.
Статья затронет весь цикл разработки приложения. Вместе мы напишем простенькую игру “Крестики-Нолики” с одним экраном (в ОС Android это называется Activity).
Отсутствие опыта разработки на языке Java не должно стать препятствием в освоении Android. Так, в примерах не будут использоваться специфичные для Java конструкции (или они будет минимизированы на столько, на сколько это возможно). Если Вы пишете, например, на PHP и знакомы с основополагающими принципами в разработке ПО, эта статья будет вам наиболее полезна. В свою очередь так как, я не являюсь экспертом по разработке на Java, можно предположить, что исходный код не претендует на лейбл “лучшие практики разработки на Java”.
Установка необходимых программ и утилит
Утилиты устанавливаются в определенном выше порядке. Ставить все перечисленные IDE смысла нет (разве только если Вы испытываете затруднения с выбором подходящей). Я использую IntelliJ IDEA Community Edition, одну из самых развитых на данный момент IDE для Java.
Запуск виртуального устройства
Запустив AVD Manager и установив дополнительные пакеты (SDK различных версий), можно приступить к созданию виртуального устройства с необходимыми параметрами. Разобраться в интерфейсе не должно составить труда.
Список устройств
Создание проекта
Мне всегда не терпится приступить к работе, минимизируя подготовительные мероприятия, к которым относится создание проекта в IDE, особенно, когда проект учебный и на продакшн не претендует.
Итак, File->New Project:
По нажатию кнопки F6 проект соберется, откомпилируется и запустится на виртуальном девайсе.
Структура проекта
На предыдущем скриншоте видна структура проекта. Так как в этой статье мы преследуем сугубо практические цели, заострим внимание лишь на тех папках, которые будем использовать в процессе работы. Это следующие каталоги: gen, res и src.
В папке gen находятся файлы, которые генерируются автоматически при сборке проекта. Вручную их менять нельзя.
Папка res предназначена для хранения ресурсов, таких как картинки, тексты (в том числе переводы), значения по-умолчанию, макеты (layouts).
src — это папка в которой будет происходить основная часть работы, ибо тут хранятся файлы с исходными текстами нашей программы.
Первые строки
Как только создается Activity (экран приложения), вызывается метод onCreate(). IDE заполнила его 2 строчками:
Метод setContentView (равносильно this.setContentView) устанавливает xml-макет для текущего экрана. Далее xml-макеты будем называть «layout», а экраны — «Activity». Layout в приложении будет следующий:
Для этого приложения идеально подойдет TableLayout. Id можно присвоить любому ресурсу. В данном случае, TableLayout присвоен При помощи метода findViewById() можно получить доступ к виду:
Теперь необходимо реализовать метод buildGameField(). Для этого требуется сгенерировать поле в виде матрицы. Этим будет заниматься класс Game. Сначала нужно создать класс Square для ячеек и класс Player, объекты которого будут заполнять эти ячейки.
Square.java
Player.java
Все классы нашего приложения находятся в папке src.
Game.java
Инициализация Game в конструкторе KrestikinolikiActivity.
Метод buildGameField() класса KrestikinolikiActivity. Он динамически добавляет строки и колонки в таблицу (игровое поле):
В строке 8 создается объект, реализующий интерфейс View.OnClickListener. Создадим вложенный класс Listener. Он будет виден только из KrestikinolikiActivity.
Осталось реализовать логику игры.
Определение победителя
К. О. подсказывает, что в крестики-нолики выирывает тот, кто выстроет X или O в линию длиной, равной длине поля по-вертикали, или по-горизонтали, или по-диагонали. Первая мысль, которая приходит в голову — это написать методы для каждого случая. Думаю, в этом случае хорошо подойдет паттерн Chain of Responsobility. Определим интерфейс
Так как Game наделен обязанностью выявлять победителя, он реализует этот интерфейс. Настало время создать виртуальных «лайнсменов», каждый из которых будет проверять свою сторону. Все они реализует интерфейс WinnerCheckerInterface.
WinnerCheckerHorizontal.java
WinnerCheckerVertical.java
WinnerCheckerDiagonalLeft.java
WinnerCheckerDiagonalRight.java
Проинициализируем их в конструкторе Game:
Победителя проверяем после каждого хода. Добавим кода в метод onClick() класса Listener
Метод gameOver() реализован в 2-х вариантах:
Для Java, gameOver(Player player) и gameOver() — разные методы. Воспользовавшись Builder’ом Toast.makeText, можно быстро создать и показать уведомление. refresh() обновляет состояние поля:
Готово! Надеюсь, эта статья помогла Вам освоиться в мире разработки под OS Android. Благодарю за внимание!
Видео готового приложения
PS: статья была опубликована по просьбе комментаторов этого поста.
Руководство по программированию под Android для начинающих
Android – базирующаяся на ОС Linux операционная система с открытым исходным кодом, предназначенная для мобильных устройств – таких, как, например, смартфоны или планшетные компьютеры.
Это руководство предназначено для введения в основные понятия программирования под Android, так что после его изучения вы будете понимать некоторые базовые концепции программирования под эту ОС.
От вас же, в свою очередь, требуется только желание и базовое понимание программирования на языке Java. Не так много, правда? Что ж, начнём!
Для разработки приложений под Android можно использовать любые из перечисленных операционных систем:
При этом все необходимые инструменты для разработки Android-приложений находятся в свободном доступе и вы можете загрузить их из Интернета. Для того, чтобы начать создавать приложения под Android, вам понадобятся:
Поздравляем, ваше оборудование готово к работе! Однако прежде чем приступить к вашему первому приложению, поговорим о том, что из себя представляет приложение на Android и из чего оно состоит.
Компоненты приложения являются своего рода «строительными блоками» для приложения Android. Эти компоненты связаны файлом-манифестом приложения AndroidManifest.xml, который описывает каждый компонент приложения и взаимодействие этих компонентов между собой.
Есть четыре базовых типа компонентов, которые могут быть использованы в приложении Android:
Помимо четырех базовых типов, существуют дополнительные типы компонентов, используемые для выстраивания взаимодействий и связей как между базовыми типами компонентов, так и между компонентами и внешними элементами. К ним относятся:
Теперь, когда вы получили базовое понимание о структуре приложений на Android, хотелось бы предложить вам самим попробовать создать свое первое приложение.
Итак, давайте приступим к созданию простого Android-приложения, которое будет выводить на экран «Hello World!».
У вас к этому времени уже должен быть установлен Android Studio последней версии. Ниже будет приведена небольшая пошаговая инструкция:
Теперь перед вами открылась привычная среда разработки. К сожалению или к счастью, но сейчас вам не нужно будет писать код – среда разработки уже сделала это за вас, создав файлы для приложения, выводящего «Hello world!» на экран, по умолчанию. Вместо этого хотелось бы обратить ваше внимание на несколько созданных файлов и папок, найти которые вы можете в колонке слева, отображающей все элементы проекта.
Это файл типа «Манифест», который описывает основные характеристики приложения и определяет каждый из его компонентов. Он является своего рода интерфейсом между ОС Android и вашим приложением – если компонент не упомянут в этом файле, он не будет отображен и в операционной системе.
Это автоматически генерируемый файл, содержащий определённые данные касательно приложения – такие, как, например, версия SDK.
Запустить приложение можно двумя способами: на реальном устройстве или на эмуляторе в самой среде разработки. В нашем случае мы рассмотрим более универсальный случай – запуск на эмуляторе, полностью имитирующем работу устройства с операционной системой Android.
Попытайтесь запустить приложение кнопкой «Run» – в появившемся диалоговом окне выберите пункт «Create New Virtual Device». В последующих окнах нужно будет выбрать размер экрана и версию Android – помните, что она должна быть не ниже, чем указанная на этапе создания проекта. В случае, если данная версия Android будет отсутствовать на компьютере, Android Studio предложит ее загрузить. Остальные пункты можно оставить без изменений – на данный момент нет необходимости их изменять. После выбора всех настроек нажмите кнопку «Finish», и если вы увидели на своем мониторе экран телефона с названием вашего приложения сверху и с надписью «Hello world!» на экране, значит, вы можете себя поздравить – вы создали свое первое Android-приложение!
Теперь у вас есть базовое понимание и минимальный опыт в создании приложений на Android. Этого, разумеется, совершенно не хватит, чтобы заниматься разработкой, но это необходимый для дальнейшего развития фундамент – продолжайте изучать и практиковаться! Всего наилучшего!
19 бесплатных курсов по разработке приложений для ОС Android
Привет, друзья! ✋ Ниже я собрал для вас 19 бесплатных онлайн-курсов по разработке приложений на операционную систему Android. Без лишних слов… Приступим к делу! 🚀
1. «Разработка под Android на языке Java» от GeekBrains
Программа обучения
Небольшой курс, предназначенный для ознакомления со спецификой работы OC Android.
Во время его прохождения вы напишете несколько полезных утилит, а также разместите собственное приложение в магазине Google Play.
Материал подходит любому пользователю, который прежде не сталкивался с программированием. По мнению авторов программы, отсутствие опыта работы с Java не должно являться препятствием в создании простейших программ.
Плюсы:
Минусы:
💰 На правах рекламы. «Профессия Android-разработчик» от SkillFactory 💰
Продолжительность курса: 16 месяцев.
Документ об окончании: сертификат.
Формат: видеоуроки + текстовые уроки + тесты + практические задания + вебинары + работа с личным наставником + общение с другими студентами в закрытом Slack-чате + работа над дипломным проектом.
Программа обучения:
Чему научитесь:
2. «Уроки Android Studio» от itProger
Программа обучения
Курс охватывает порядок работы с Android Studio — программой, в которой разрабатываются приложения для данной операционной системой. Во время прохождения материала пользователи научатся программировать на Java.
Каждый урок сопровождается кратким текстовым описанием и кодом, чтобы вам было проще сориентироваться. После просмотра видео вам предстоит выполнить тест. Кроме того, обладателям месячной подписки доступны большие задания по курсу.
Плюсы:
Минусы:
3. «Быстрый старт в разработке Android-приложений» от Coursera
Программа обучения
Первая из трёх частей обширного курса по разработке приложений на ОС Android.
Из неё пользователи узнают базовые элементы работы с Java, что поможет при дальнейшем обучении.
Программа рассчитана на 4 недели, однако вы можете подстроить сроки под себя, повысив или понизив темп работы с материалом.
Партнёрами курса являются: Московский физико-технический институт, компания E-Legion и ФРОО (Фонд развития онлайн-образования).
Автор курса — Марат Тайчинов, с 2015 года работающий в области Android-разработки. За несколько месяцев он прошёл путь от новичка до сотрудника крупной компании. За его плечами призовые места в конкурсах NightHack 2015 и 2016 годов. Именно ему принадлежит работа над этой и двумя следующими образовательными программами. Аналогичная ситуация касается партнёрских организаций.
Плюсы:
Минусы:
4. «Многопоточность и сетевое взаимодействие в Android» от Coursera
Программа обучения
Продолжение предыдущего курса, в рамках которого в полном объёме будет рассмотрено грамотное выстраивание взаимодействия с многопоточностью в приложении.
Вы узнаете о специальных инструментах из Java, которые помогают справиться с поставленной задачей. Также вы поверхностно разберетесь в реактивном программировании. Учтите, что вам понадобятся базовые знания из первого курса для работы с представленным материалом.
Плюсы:
Минусы:
5. «Архитектура Android-приложений» от Coursera
Программа обучения
Последняя часть обширного курса от Coursera, в рамках которой будет рассмотрена работа с наиболее популярными архитектурными подходами.
В результате изучения материала вы узнаете, что такое MVP и MVVM, после чего сможете работать с другими архитектурными компонентами.
На этот раз к Марату Тайчинову присоединится Азрет Магометов — программист компании e-Legion, являющейся партнёрской организацией курса.
Плюсы:
Минусы:
6. «Java для Android-разработчиков» от LoftSchool
Программа обучения
Курс подходит начинающим Android-разработчикам, желающим разобраться в специфике программирования на Java.
Главным преимуществом программы является её практическая направленность, благодаря чему вы достаточно быстро научитесь справляться с поставленными задачами.
Все материалы сопровождаются текстовым описанием и кодом для их более простого изучения. После каждого урока вам будет доступен небольшой тест. Также возможно выполнение больших заданий при наличии подписки.
Плюсы:
Минусы:
7. «Простая игра-лабиринт под Android» от GeekBrains
Программа обучения
Небольшой видеокурс, во время которого вы сможете создать небольшую игру-лабиринт.
В материалах будут рассмотрены все этапы создания приложения, а именно: создание основных классов и каркаса игры, алгоритм генерации лабиринта, а также моделирование пользовательского интерфейса и системы рейтинга. Впоследствии вы сможете перенести полученные знания на выполнение похожих задач.
Плюсы:
Минусы:
8. «Android: погодное приложение» от GeekBrains
Программа обучения
Небольшой курс, во время которого вы сможете разработать собственное приложение, демонстрирующее пользователям актуальный прогноз погоды.
Необходимо учесть, что к его изучению могут приступать только те пользователи, у которых есть опыт работы с си-образными языками. В результате вы создадите программу, использующую API сервиса «Яндекс.Погода». В работе будет использоваться язык Kotlin.
Плюсы:
Минусы:
9. «Разработка Android-приложения» от LoftSchool
Программа обучения
Короткий курс, во время которого вы поймёте специфику разработки приложений под операционную систему Android. После его изучения вы сможете установить и настроить минимальный набор программ, которые требуются любому специалисту по работе с данной ОС. В этот список входят JDK и Android Studio.
Плюсы:
Минусы:
10. «Разработка мобильных приложений для Android» от Stepik
Программа обучения
Краткий курс, предназначенный для пользователей, желающих разрабатывать приложения для операционной системы Android.
Во время изучения материала вы будете пошагово повторять действия преподавателя, после чего сможете написать простейшую программу.
Материал был разработан в партнёрстве с Омским ГТУ. Он идеально подойдёт для студентов, специализирующихся на IT-индустрии. Учтите, что для начала работы с курсом вам нужны базовые знания о программировании и умение работать с Java или Kotlin.
Плюсы:
Минусы:
11. «Базовый курс по Android» от Devcolibri
Программа обучения
Серия видеоуроков от образовательного проекта Devcolibri.com, в рамках которой пользователям предоставляется материал, охватывающий основы разработки на ОС Android.
После просмотра программы вы сможете приступить к изучению более серьёзного и узконаправленного курса, что позволит вам стать профессионалом. Проект Devcolibri направлен на обучение различным навыкам в IT-сфере.
Плюсы:
Минусы:
12. «Уроки по основам разработки Android-приложений на Java» от Start Android
Программа обучения
Курс рассказывает об основах разработки мобильных приложений в Android Studio. После его изучения вы сможете скачать, установить и настроить среду SDK, после чего самостоятельно создадите собственную программу.
Также у вас появится возможность тестирования игр через эмулятор на персональном компьютере.
Несмотря на то, что в курсе 133 видеоурока, каждый из них длится не более 20 минут, что позволит вам смотреть отдельно взятую тему в свободное время. Канал автора курса является образовательным ресурсом, специализирующимся на программировании под Android.
Плюсы:
Минусы:
13. «Kotlin. Уроки по основам разработки Android-приложений» от Start Android
Программа обучения
Ещё один курс от канала Start Android. На этот раз преподаватель расскажет пользователям об основах разработки приложений на языке Kotlin.
Необходимо учесть, что в видеоуроках вы не увидите непосредственно программирования на Kotlin, так как это отдельная спецификация его использования. Материал охватывает ресурсы приложения и создание макетов для экранов. С 4 урока начинается написание программных конструкций.
Плюсы:
Минусы:
14. «Разработка приложений на Android Studio» от N.E.C.O RU
Программа обучения
Обширный курс, в полной мере рассказывающий об основах разработки приложений на Android. Каждый урок охватывает отдельную небольшую тему, в результате чего после изучения материала вы сможете приступить к профессиональному обучению программированию на Java.
Автор канала специализируется на выпуске роликов обо всём, что связано с Android и робототехникой.
Плюсы:
Минусы:
15. «Разработка Android-приложений в Eclipse» от Start Android
Программа обучения
Очередной курс от канала Start Android, на этот раз повествующий о разработке приложений в среде разработки Eclipse.
Уроки отлично подойдут пользователям, которые прежде не сталкивались с созданием программ под Android, однако знающим базовые аспекты программирования на Java. Видеоуроки идут в порядке усложнения материала, что поможет вам без проблем влиться в образовательный процесс.
Плюсы:
Минусы:
16. «Уроки по Kotlin на Android Studio» от N.E.C.O RU
Программа обучения
Подробный курс по программированию на Kotlin поможет вам разобраться в основах разработки приложений под Android. В результате вы самостоятельно создадите несколько полезных программ, после чего сможете исполнять собственные задумки на базе полученных знаний.
Плюсы:
Минусы:
17. «Создаём игру-викторину» от YouTube-канала «Создание игр на Android»
Программа обучения
Большой цикл видео, предназначенный для обучения созданию игр в жанре «викторина». Пользователь будет смотреть за действиями преподавателя и повторять их, что создаёт отличную возможность для получения знаний на практике. Канал преподавателя полностью посвящён созданию игр под Android, что позволяет вам рассчитывать на высокое качество материала.
Плюсы:
Минусы:
18. «Разработка приложений под Android — пишем “Счётчик” с нуля» от AndCoding
Программа обучения
Курс подходит пользователям, прежде не сталкивавшимся с разработкой приложений в Android Studio. После его прохождения вы сможете написать простую программу и разместить её в Google Play.
Главным преимуществом материала является его практическая направленность, что позволит вам сразу запоминать порядок действий преподавателя.
Канал автора курса специализируется на публикации уроков о программировании.
Плюсы:
Минусы:
19. «Android-уроки — Android Studio» от jDroidCoder
Программа обучения
Обширный курс, охватывающий все аспекты разработки приложений в среде Android Studio. Несмотря на большое количество уроков, каждый из них идёт не более 20 минут, благодаря чему вы сможете изучать материал в небольшой промежуток свободного времени. Канал автора курса направлен на обучение разработке под ОС Android.
Плюсы: