обучение программированию с нуля бесплатно на телефоне
Программирование под Android для начинающих. Часть 1
Здравствуйте. Сегодня на глаза попался пост о курсе программирования под Android на сайте Linux Foundation, а вместе с ним — и немало комментариев о том, что хотелось бы видеть и перевод этих уроков. Поскольку я сейчас, после четырех лет разработки под микроконтроллеры, начал изучать и программирование для мобильных устройств, то параллельно решил сделать перевод первой части урока.
Программирование под Android для начинающих. Часть 1
Смартфоны и планшеты на Android все чаше встречаются в наших сумках и карманах, и программирование под Android также становится все популярнее. Это отличная платформа для разработки — API прекрасно документирован и прост в использовании, да и просто интересно создать что-то, что вы cможете запустить на своем смартфоне. Изначально вы можете обойтись и без него, создав и протестировав код с помощью эмулятора на вашем Linux ПК. В первой из двух частей этого введения объясняется как создать простое приложение с таймером, а также даются начальные сведения о Android API. Курс подразумевает наличие начальных представлений о Java, XML и технологиях программирования, но тем не менее не стесняйтесь попробовать даже если вы имеете об этом очень смутное представление.
Начало работы и среда разработки
Немного о версиях: последней версией Android является 4.2 (Jelly Bean), но, как можно выдеть по этой диаграмме, она еще недостаточно распространена. Лучше всего начинать разработку под одну из версий: 4.0 (Ice Cream Sandwich) или 2.3 (Gingerbeard), особенно с учетом того, что версии Android поддерживают обратную совместимость (т.е. ваш код для версии 2.3 будет работать и на 4.2), а приложения, разработанные для более поздней версии, не всегда будут работать и на старой. Приведенный здесь код должен работать на версиях 4.0 и 2.3.
Простейший способ получить среду разработки — установить Android Bundle, который можно скачать здесь. Также вам понадобится JDK 6 (не только JRE). Не забудьте что Android не совместим с gcj. Если вы уже используете Eclipse или другую IDE, то вы можете попробовать настроить ее под Android. Как это сделать — описано здесь. Теперь создайте проект под именем Countdown с помощью Eclipse, или из командной строки. Я установил в настройках BuildSDK 4.0.3 и minimum SDK 2.2, и (в Eclipse) использовал шаблон BlankActivity.
Мой первый проект под Android: интерфейс
Первой нашей программой под Android будет таймер, показывающий обратный отсчет от 10 секунд после нажатия кнопки. Прежде чем писать код, нужно создать интерфейс — то, что пользователь увидит, запустив наше приложение. Нужно открыть res/layout/activity_countdown.xml и создать XML шаблон — с помощью редактора Eclipse или текстового/XML редактора ввести следующее:
Обратите внимание на string/start и string/__00_30. Их значения будут расположены в res/values/strings.xml:
Это общепринятый способ обращения к ресурсам в Android: лучше использовать ссылки на строковые переменные, чем жестко заданные строки.
Мой первый проект под Android: код
Теперь откроем в редакторе файл CountdownActivity.java — и мы готовы писать код нашего приложения. Вы должны увидеть автоматически сгенерированную «заглушку» метода onCreate(). Он всегда вызывается как только создается объект Activity, и в него вы можете поместить какие-либо функции, которые должны выполняться при запуске приложения. (Eclipse также может создать пустой метод onCreateOptionsMenu(), но мы пока не будем обращать на него внимания). Введите следующий код:
Вы видите как просто оказалось создать наш первый проект: Android API включает в себя CountDownTimer, который мы можем использовать. Мы объявили его и поле отображения обратного отсчета как закрытые (private) свойства класса Activity. В методе onCreate() мы использовали метод setContentView, чтобы подключить наш XML-шаблон. Такой R.foo.bar синтаксис — это стандартный способ обращения к XML-ресурсам в Android, и мы встретимся с ним еще много раз.
findViewById — это еще один метод, который вы будете часто использовать. Здесь он возвращает ссылки на поле вывода таймера и кнопку Start, описанные в XML-шаблоне. Для кнопки, чтобы мы могли обработать ее нажатие, должен быть задан «перехватчик» OnClickListener, и его метод onClick(). Здесь он просто вызывает метод showTimer() c заданным числом миллисекунд (сейчас жестко заданным в коде).
Итак, что делает showTimer():
Класс CountDownTimer делает за нас почти всю работу, что очень приятно. В начале мы проверяем, существует ли уже таймер, и, если он есть, то сбрасываем его. Далее мы создаем новый таймер с заданным числом миллисекунд для обратного отсчета (из параметра метода showTimer()) и с заданным числом миллисекунд между интервалами отсчета. По истечении времени между интервалами вызывается метод onTick().
CountDownTimer — абстрактный класс, и методы __onTick() и __onFinish() должны быть реализованы в его подклассе. Мы переопределяем метод onTick(), уменьшающий выводимое число на единицу по истечении каждого интервала, и метод onFinish(), выводящий на дисплей сообщение о окончании обратного отсчета. Потом start() запускает таймер.
С помощью команды «Run» в Eclipse вы можете запустить созданное приложение, при этом будет автоматически запущен эмулятор Android. Посмотрите документацию по Android если вы хотите узнать больше о настройке эмулятора, или о запуске приложений из командной строки.
Поздравляем, вы только что создали свое первое приложение под Android. Во второй части этого введения мы более подробно рассмотрим структуру Android-приложения, и сделаем некоторые улучшения нашей программы: ввод времени обратного отсчета, кнопку Stop и меню. Также мы запустим его на реальном устройстве, а не на эмуляторе.
Более подробную информацию вы можете найти в разделе Android Development Training сайта The Linux Foundation’s Linux training website.
10 лучших приложений на Android для обучения программированию
Если вы хотите попробовать и изучить новый навык в свободное время, вы можете подумать об обучении программированию. Кодирование — не самый сложный навык для освоения, и вы действительно можете сделать карьеру на этом. Практически все, что вам нужно для изучения программирования, доступно в Интернете бесплатно. Благодаря программированию мобильных приложений вам даже не нужно часами сидеть перед экраном компьютера.
В Google Play Store есть множество приложений для написания кода для вашего Android смартфона. В разных приложениях используются разные стили обучения, и все они могут вам не понравиться. Чтобы упростить вашу задачу, мы использовали несколько приложений для программирования и составили список из 10 лучших приложений для программирования для Android.
Просмотрите статью ниже, чтобы получить подробную информацию о каждом приложении, включая описание, требования к версии Android, стоимость покупок в приложении, а также скриншоты или промо-видео, и ссылку для загрузки в Google Play Store.
Топ 10 лучших приложений для программирования на Android
Ниже приводится немного дополнительной информации о каждом приложении, предложение для типа пользователя, которому приложение лучше всего подходит, и прямая ссылка для быстрой загрузки.
SoloLearn
SoloLearn имеет одну из самых больших коллекций бесплатного контента для компьютерного кодирования и программирования. Независимо от того, являетесь ли вы новичком или продвинутым, в этом приложении каждый найдет что-то для себя. Вы можете изучить веб-разработку, включая HTML5, CSS3, JavaScript и JQuery, а также несколько языков программирования, таких как Python, Java, C, C++, C#, PHP, SQL, машинное обучение и многие другие. Новый контент добавляется регулярно, поэтому нет предела тому, что вы можете узнать.
Сообщество дружелюбных программистов готово предоставить вам всю необходимую поддержку, чтобы вы почувствовали себя как дома. Вы можете писать и запускать настоящий код в мобильном редакторе кода приложения. Также существуют различные задания для проверки своих знаний. Вы должны получить проходной балл, чтобы перейти к следующей главе урока кодирования.
Programming Hub
Programming Hub может похвастаться коллекцией из более чем 5000 программ или примеров кода на более чем 20 языках программирования, а также мобильным компилятором, который, по его словам, является самым быстрым в мире. Таким образом, он, по сути, объединяет все ваши потребности в программировании в один пакет, что делает его одним из лучших приложений для программирования для Android.
Это приложение предлагает курсы по HTML, Javascript, C, C++, C#, Swift, Python, программированию R, Java, искусственному интеллекту, CSS и многим другим аналогичным темам. Небольшие интерактивные курсы, созданные экспертами, делают обучение увлекательным и приятным. Уроки представлены в формате рассказов с викторинами после каждого раздела, чтобы проверить свои знания. Центр программирования также имеет функцию преобразования текста в речь.
Цена: Бесплатно
Покупки в приложении: Да
Версия: Android: 5.0+
Mimo позволяет вам выбрать темп, с которым вы хотите научиться программировать, или, другими словами, позволяет вам решить, сколько времени вы хотите посвящать кодированию каждый день. В зависимости от ваших предпочтений и интересов приложение предложит вам индивидуальный трек для достижения ваших целей.
Помимо изучения основ JavaScript, HTML, CSS, Python, SQL и других популярных языков программирования, вы также можете работать над некоторыми реальными проектами, такими как создание веб-сайтов и приложений. Это позволит вам на практике применить свои знания в области программирования.
Также существуют различные типы упражнений, в том числе «определить ошибки» и «расположить элементы сценария в правильном порядке». Mimo также следует игровому подходу с сериями и наградами, чтобы побудить вас к программированию.
Udemy
Udemy — это онлайн-платформа для обучения, содержащая более 130 000 видеокурсов по более чем 2 000 тем. Что касается кодирования, вы получаете курсы по всему, от веб-разработки и разработки игр до основ кодирования и языков программирования (Python, Java, JavaScript, Ruby, Swift, C# и др.).
Поскольку Udemy — это своего рода онлайн-площадка, где эксперты предлагают уроки по разным темам, стили обучения могут сильно отличаться. Мы рекомендуем вам проверить предварительный просмотр перед записью на платный курс. Тем не менее, наличие ментора, с другой стороны, действительно помогает облегчить обучение, так как вы всегда получите правильные ответы на свои вопросы.
После того, как вы зарегистрируетесь на курс на Udemy, у вас будет пожизненный доступ к контенту. Вы также можете скачать курсы для автономного доступа в любое время в любом месте.
ScratchJr
ScratchJr — это среда визуального программирования с перетаскиванием, предназначенная для ознакомления детей с навыками программирования. Есть персонажи и фоны, а также своеобразный программный сценарий в виде блокируемых блоков. Эти блоки заставляют персонажей выполнять определенные действия — двигаться, прыгать, танцевать, исчезать/появляться снова и т. д. Дети могут настраивать цвета, добавлять звуки и создавать анимированные истории.
Хотя интерфейс разработан для детей, блоки программирования объясняются только в текстовых инструкциях. Таким образом, это приложение требует много практики вначале. Однако, как только ваши дети получат массу удовольствия от этого, возможности безграничны, а приложение очень хорошо структурировано, чтобы ваши дети были заняты программированием часами.
Enki — еще одно популярное и успешное приложение для программирования для вашего Android смартфона. Приложение предлагает более 1500 уроков по более чем двум десяткам тем, включая Python, SQL, JavaScript, Blockchain, CSS, HTML, электронные таблицы, Webflow и многое другое.
Каждая тема имеет структурированный учебный план. Вы можете ставить ежедневные цели и следить за своим прогрессом. Приложение предлагает краткое изложение основной концепции каждого урока. Есть также интерактивные викторины, чтобы проверить свои знания. Как и приложение для тренировок, Enki предлагает упражнения каждый день, поэтому вы всегда на пути к достижению своих целей.
Grasshopper
Grasshopper — это приложение для программирования для начинающих, разработанное Google. Приложение полностью бесплатное в использовании и достойно знакомит вас с миром программирования. Он не углубляется в этот мир, но профессионально обучает основам, таким как функции, переменные и методы.
Вам нужно решить головоломки на JavaScript, чтобы перейти в следующий уровень, который сложнее предыдущего. Вы получаете обратную связь в режиме реального времени, которая укажет вам на ошибки. Все это делает Grasshopper идеальным приложением для программирования для школьников.
Programming Hero
Цена: Бесплатно
Покупки в приложении: Да
Версия Android: 4.1+
Programming Hero делает программирование увлекательным и приятным благодаря аккуратно разработанным урокам. В нем есть мини-игры, в которых используется простой и понятный язык, что делает задачи кодирования интересными. Вы можете быстро применить только что изученные концепции программирования и создать свою собственную игру, одновременно обучаясь программированию.
Вы можете практиковаться в программировании на языках Python, HTML, CSS и JavaScript в любое время и в любом месте. Есть более 100 задач кодирования с решениями и объяснениями. А если у вас есть сомнения, вы можете мгновенно получить ответы на свои вопросы от экспертов. Programming Hero также имеет форум сообщества, где вы можете общаться с другими пользователями и обмениваться знаниями.
Codecademy Go
Codecademy Go — это версия веб-курсов Codecademy по программированию для мобильных устройств. Он помогает вам практиковаться в программировании на ходу и пересматривает то, что вы узнали в Интернете, в любом месте и в любое время. Он также предлагает базовые уроки по широкому спектру языков программирования, включая HTML, CSS, JavaScript, Python, SQL и другие.
Существуют карточки, которые можно пролистать, чтобы быстро вспомнить концепцию. Codecademy Go еще не предлагает тот же набор функций, что и веб-версия. Тем не менее, это отличное приложение, которое можно установить на свой смартфон Android, чтобы вы могли практиковаться в программировании, находясь вдали от компьютера.
Codemurai
Codemurai может похвастаться огромной библиотекой, содержащей более 100 уроков и упражнений по программированию, мобильных приложениях (iOS и Android) и разработке игр. Уроки кодирования созданы отраслевыми экспертами и очень увлекательны. Вы можете повышать уровень и зарабатывать монеты, опыт и значки, выполняя уроки и задания.
Приложение предлагает уроки кодирования в HTML, CSS, JavaScript, Python, TypeScript, Angular 2, ES6, MongoDB, Node, React, Java, Android SDK, Swift, iOS SDK, объектно-ориентированном программировании, информатике, C#, Unity 3D, и Phaser.
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.
Плюсы:











