Программирование простых программ для андроид. Программирование для Android - это просто! Android для начинающих ч.I

Вы знаете, как стать программистом Android всего за 8 месяцев и получать не менее 100 000 рублей в месяц, работая из дома и без конца путешествуя? Хотите открыть собственный бизнес и чтобы вас все уважали и ценили?

Тогда я хочу в какой-то мере предостеречь вас от попытки заняться самообразованием с помощью многочисленных платных интернет-курсов, на которых очень часто разводят лохов. Если вы интересуетесь поисковой оптимизацией, веб-дизайном и программированием, то вам необходимо понимать простую вещь...

Во-первых, все отзывы вроде «Я продавал CD-диски в переходе, но купив доступ к лекциям на Geek brains, через 3 месяца упорного труда стал программистом. Ребята, главное, верить!» пишутся копирайтерами. Во-вторых, ни один из продавцов курсов не предупредит вас о том, какой уровень знаний уже нужно иметь, чтобы приступить к обучению. Велик шанс, что вы откроете учебники и…не поймёте даже то, как инсталлировать программу для создания кода. А деньги вам назад не вернут.

Говорят, что тот же сайт Java rush, где преподаётся Java в качестве игры и довольно сумбурно, может иметь какую-то пользу, но при условии, что вы уже…тут я попрошу минуточку, знаете другие языки программирования. Сколько лет нужно, чтобы изучить язык Java досконально? Профессиональный программист, получивший образование в институте, сказал мне, что пишет на нём и продолжает его учить уже 5 лет, но всё ещё не овладел им в совершенстве. За спиной уже собственный небольшой бизнес, знание нескольких других языков, множество реализованных проектов, а Java он всё учит и учит!

Ключевые навыки:

Знание Java Core

Знание Android SDK

Опыт работы в IntelliJ IDEA, Eclipse, Android Studio

Опыт разработки Android-приложений на Java

Опыт работы с XML, JSON, HTTP, sockets

Знание Android API, понимание архитектуры Android, пользовательский интерфейс, меню, диалоги, ресурсы, logcat, MVC

Intents, Fragments, Контент-провайдеры, бродкаст-ресиверы, Google Maps, виджеты, телефония, сенсоры, блютуз, графика и анимация

SQLite, Web, Concurrency

Базовое знакомство с гайд-лайнами Android последней версии

Понимание особенностей работы мобильного приложения в условиях слабого сигнала связи

Уверенное владение базовыми паттернами проектирования

Творческий подход к поставленным задачам

Умение писать чистый код и правильно создавать и использовать модульные тесты

Умение и желание приобретать новые навыки и осваивать новые технологии

Умение быстро разбираться в чужом коде‚ если это понадобится

А вот сколько денег обещают на Geek brains в итоге. То есть, они уверяют, что столько будут получать большинство из вас уже в процессе обучения:

Программист Android — 100 000 рублей

Мобильный разработчик — 130 000 рублей

Веб-разработчик — 100 000 рублей

Программист Java — 110 000 рублей

Разработка мобильных приложений под Android (Уровень 1, начальный):

Вы уже уверенно программируете на одном или нескольких языках и хотите разрабатывать приложения под Android? Сегодня это весьма престижная и хорошо оплачиваемая профессия, которая находится на пике популярности. Однако чтобы стать хорошим разработчиком, необходимо научиться писать качественные и функциональные приложения. Пройдя данный курс, вы получите практические навыки создания приложений и будете эффективно использовать возможности платформы и ресурсов Android.

Допустим, вы мечтаете стать программистом. Вы приходите и говорите:

— Запишите меня учиться на программиста Android!

А вам отвечают:

— Пока нет. Ну тогда запишите на Java SE8, а уже потом…

— А вы знаете Си и C++ ?

— Эээ…Нет.

— Запишите меня на Си!

— Если вы знаете основы программирования и баз данных и имеете эквивалентную подготовку…

Это означает, что до курса программирования Android вам придётся пройти ещё 3-5 разных курсов. И после прохождения вы уже сможете записаться на 6-й. Заметьте, это только первый уровень, начальный. Ни о каком трудоустройстве через полгода или год в качестве «программиста Android» речь вообще не идёт.

То есть, может получиться так, что вы пришли учиться писать стихи, но вас забыли предупредить, что для этого нужно знать хотя бы алфавит. О начальной подготовке на Geek Brains, разумеется, не говорят. Их цель - собрать деньги. Сайт полон пустышек-отзывов, причем, под одним и тем же именем (!) пишутся как комментарии с оценкой «средне» так и «отлично». Курсы при Бауманке работают больше двадцати лет. При этом, они не обещают зарплату по 130 тысяч рублей в месяц, мгновенное трудоустройство и совершенно честно пишут, что нужно очень много знать для прохождения курса программирования. Если вы никогда не учились программировать, то хвататься не то что за Java, а даже за Phyton, который считается самым пустяковым языком, — пустая трата времени и денег.

Веб-программист — 69 000 руб

Программист — 51 800 руб

Разработчик мобильных приложений — 60 000 руб

Некоторое время назад официальной IDE для Android был Eclipse (как стандарт де-факто для Java) с плагином ADT. Некоторое время спустя среди Java-программистов начала набирать популярность IDE от JetBrains, потом для нее появился плагин для разработки под Android, и народ начал потихоньку переходить на нее с Eclipse.

Еще чуть позже Google объявляет о том, что будет делать Android Studio на базе IDEA. И вот на подходе уже вторая версия Android Studio, и Eclipse вспоминается разве что как страшный сон:)

Android Studio — официальная среда разработки под Android. По сути, Android Studio — это известная Java IDE IntelliJ IDEA с плагинами.

На данный момент существуют следующие опции при выборе IDE для Android:

  1. Eclipse . Самая популярная какое-то время назад IDE для Java, сейчас использовать ее для разработки под Android крайне не рекомендуется .
  2. IntelliJ IDEA . Отличная IDE, хорошо подходит для Android.
  3. Android Studio . Лучшая IDE для Android . От IDEA отличается мелочами, но эти мелочи очень-очень приятны и сильно облегчают наш труд:) Именно на ней мы и остановимся.

В первую очередь, нужно убедиться, что у вас установлен JDK (Java Development Kit). Это обязательный компонент для разработки на Java, а поскольку разработка под Android ведется на Java — то и для разработки под Android тоже.

Во-вторых , поставьте галочки «show line numbers» и «show method separators»:


Первая будет отображать номера строк слева от текста, вторая — будет рисовать разделители между методами в коде.

Эти две опции невероятно важны, а особенно для новичков, и я не понимаю, почему они выключены по-умолчанию.

В-третьих , настройте автодополнение. Для этого в «Case sensitive completion» выберите «None»:


Поясню, почему именно так. Опция по-умолчанию подразумевает срабатывание автодополнения только в том случае, если первая буква набрана в правильном регистре. Опция None будет вызывать автодополнение независимо от того, в каком регистре вы начали набирать код.

Стандартное значение этой опции, как и прошлых двух, вызывает у меня недоумение.

Создание первого проекта

Что ж, с настройкой и установкой Android Studio мы разобрались, пришло время создать наш первый проект.

В главном окне Android Studio нажмите на «Start a new Android Studio project «:


Появится новое окно, в котором нам нужно выполнить несколько действий.

В первом нужно задать имя приложения, домен компании (из этих двух параметров будет создано имя пакета), и расположение проекта на диске:


В Android, как и в Java, основным идентификатором приложения является имя пакета. Если вы ранее работали с Java, вы знаете, что это такое. Тем же, кто не знает, рекомендую гугл, или, например, вот .

Далее Android Studio спросит нас, какие и каких версий SDK мы хотим использовать. Пока что нам хватит «Phone and Tablet» SDK, версию API поставьте 16 вместо рекомендуемой 15-й, поскольку API 15 уже неактуально и совсем не распространено:


На следующем экране нас спросят, какие компоненты приложения мы хотим создать. Выберите «Empty Activity»:


На следующем шаге просто нажмите «Finish», ничего не меняя.

По завершению этого процесса вы увидите, наконец-то, свой первый проект:


Он уже вполне работоспособен, но чтобы его запустить, нам понадобится эмулятор Android.

Создание эмулятора Android

Для создания эмулятора Android нам понадобится Android AVD Manager (AVD = Android Virtual Device). Не беспокойтесь, ставить больше ничего не потребуется. Просто нажмите на эту кнопочку:


Потом на эту кнопочку:


А потом просто несколько раз кликните «Next» и, наконец, «Finish»

Запуск Hello World

Пришло время запустить наш первый проект, созданный в Android Studio !

Нажмите на вот эту кнопку (или Shift-F10):


После этого вы увидите диалог, в котором вам будет предложено выбрать девайс, на котором IDE должна запустить собранное приложение:


Поставьте выделенную стрелкой галочку и нажмите «ОК». Начнется сборка проекта, запуск эмулятора, установка приложения на эмулятор, и запуск приложения.

На это уйдет некоторое время (чем мощнее ваш компьютер — тем меньше времени понадобится), поскольку эмулятор — вещь достаточно медлительная, несмотря на колоссальные улучшения в последние пару лет.

И вот, по прошествии 1-10 минут (после запуска эмулятора проекты, конечно же, будут собираться и запускаться быстрее), вы, наконец, увидите свой Hello World на экране эмулятора!

На этом все, а в следующем уроке мы рассмотрим .

Новые уроки добавляются каждый день! Чтобы ничего не пропустить, подпишитесь на нашу

Мы подготовили для вас подборку мобильных приложений, благодаря которым вы сможете изучать программирование где угодно. Делитесь приложениям, которые не попали в этот список, в комментариях!

Udacity


Khan Academy

SoloLearn

SoloLearn представляет собой целый ряд мобильных приложений, которые обучают пользователя программированию при помощи специальных игр. Приложения SoloLearn доступны бесплатно для платформ iOS и Android .

Coursera: Online courses

Бесплатные курсы ведущих университетов мира на Coursera теперь доступны и в виде приложений для Android и iOS .


EdX - Online Courses


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

CodeCombat

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


CodeWars

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


Если эти ресурсы показались вам интересными, советуем ознакомиться с нашей бесплатных онлайн игр, которые обучат вас программировать.

К операционной системе №1 на рынке мобильных устройств в мире (см. публикацию , статью Википедии ) сегодня приковано внимание широкого круга ИТ-специалистов, в том числе и разработчиков программного обеспечения (ПО). В настоящее время в хранилище Google Play доступно более 700 000 различных приложений, многие из которых распространяются бесплатно, обеспечивая популярность этой операционной системе среди пользователей. Без преувеличения можно сказать, что секрет успеха этой свободной мобильной платформы - сплав удобства и надежности использования системы с развитыми и современными средствами разработки.

Несмотря на свою молодость, Android дает разработчику широкие возможности по использованию в своих проектах самых современных технологий. Это и стандарты связи - GSM/EDGE, CDMA, UMTS, Bluetooth, Wi-Fi, LTE, WiMax, USB, графическая библиотека 2D/3D, основанная на OpenGL, реляционная СУБД SQLite, различные медиа-форматы - H.263, H.264, MPEG4, AMR, AAC, MP3, MIDI, OGG, WAV, JPEG, PNG, GIF,BMP, потоковое видео, технологии Multi-touch и Multitasking, Google Maps и GPS и многое, многое другое.

Целью нашей статьи будет обзор инструментария для тех, кто интересуется программированием и хочет начать писать приложения для Android. А может это и действительно не так сложно!?

Рис.1 Симпатичный дроид от Google - Всегда готов быть запрограммированным! (рисунок с презентации возможностей работы с интерфейсом USB в Android)

Сразу скажем, что тем, кто имеет базовые навыки программирования на языке Java повезло, так как именно этот язык был выбран в качестве основы API (Application Programming Interface) - прикладного интерфейса программирования ОС Android. Для этого была разработана виртуальная машина Dalvik, специально оптимизированная для мобильных устройств (см. ). Однако тем кто не слишком знаком с Java не стоит отчаиваться, можно знакомиться с языком по ходу изучения «материала» (примеров решения различных задач), двигаясь от простого к сложному и постепенно повышая свой уровень. Ведь как говорит пословица: «Аппетит приходит во время еды». Именно по такому принципу построены занятия курса

В сети Интернет можно легко найти материал различного уровня сложности, посвященный нашей теме. При этом нельзя не упомянуть первоисточник - сайт Google для разработчиков Android (на английском) . Из русскоязычных сайтов, можно порекомендовать уникальный, в своем роде, ресурс , где подобран отличный практический материал, и его можно скачать, к тому же, в pdf формате. Для любителей печатных изданий скажу, что разобраться во многом, в том числе с ресурсами Android-приложений, поможет книга С.Хашими . (прим. Спустя несколько лет после написания этих строк, можно добавить, что литературы и ресурсов в Интернет по Андроид-программированию теперь достаточно, литературу можно подобрать согласно своему уровню в книжном магазине или учиться с помощью запросов в поисковике).

Однако практически весь материал в сети и в литературе ориентирован на использование интегрированной среды разработки (IDE) Eclipse, а точнее плагина для нее - ADT или Android Developer Tools (см. ). Хотя преимущества среды разработки IDE Eclipse очевидны (мощный редактор кода, интерактивная справка, мастера для создания проектов и классов, различные варианты представлений информации, компоновки, плагины и проч.). Но познакомившись поближе с Android SDK (Software Development Kit - комплект средств разработки) и с работой утилит SDK в командной строке начинаешь глубже понимать весь процесс создания приложения. Ведь различные IDE используют незаметно для нас именно эти утилиты, а некоторые разработчики (в основном работающие в Unix/Linux) неспроста предпочитают традиционные vi/Emacs, подключая к текстовому редактору мощь shell-скриптов и конвейерной обработки этих операционных систем.

Установка SDK и обзор инструментария

Начнем с того, что на машине, предназначенной для экспериментов, должен быть установлен JDK 6 или выше, затем нужно скачать сам SDK для своей ОС. В зависимости от операционной системы (Linux, MacOS, Windows), это может быть архивный или exe-файл (для Windows). Установив SDK или распаковав нужный файл в удобный каталог, можно начать исследование инструментария для работы программиста. В операционной системе Linux после распаковки архива в каталог ~/android, для удобства, чтобы не вводить полный путь к командам, следует добавить такой путь к переменной окружения PATH в файл ~/.profile:

PATH="$HOME/android/android-sdk-linux/tools:$HOME/android/android-sdk-linux/platform-tools:$PATH"

После установки SDK в распоряжении программиста находятся три основные утилиты командной строки, но они умеют «почти все»:

Android Emulator (tools/emulator) - запускает приложения на эмуляторе платформы в виртуальных устройствах (Android Virtual Devices - AVDs). Эмулятор позволяет тестировать программы не загружая их на реальное устройство, что существенно сокращает время разработки.

Android (tools/android) - эта утилита создает проекты и управляет виртуальными устройствами с помощью графической утилиты AVDs Manager.

Android Debug Bridge (platform-tools/adb) - интерфейс с виртуальным устройством AVD или реальным устройством Android, подключенным к компьютеру. Позволяет устанавливать приложения, получать доступ к командной строке и выполнять различные команды на устройстве (обеспечивает shell-доступ).

Основные этапы разработки

Установив SDK, мы выполнили первый шаг в разработке ПО для Android (см. Таблица 1 и ресурс ). Инженеры Google условно разбили создание приложения на следующие этапы:

Таблица 1. Этапы разработки Android-приложения

Установка Установка нужного инструментария Инсталляция Android SDK, Android Development Tools, настройка переменных среды
Установка AVDs и подключение устройств Создание виртуальных устройств (Android Virtual Devices) и подключение реальных устройств для тестирования
Разработка Создание приложения Создание проекта используя Java-код, ресурсные файлы, файл манифеста
Тестирование и отладка Построение и запуск приложения Построение и запуск приложения в режиме отладки
Отладка приложения Отладка приложения с использованием инструментов отладки
Тестирование приложения Тестирование приложения с помощью инструментария Android и дополнительных инструментов
Публикация Подготовка приложения к публикации Построение и тестирование приложения в режиме релиза
Выпуск приложения Попытка подарить всем или продать приложение

На этапах разработки, отладки и публикации приложения SDK активно использует следующие вспомогательные утилиты: Ant (Apache Ant) - для автоматизации процесса сборки установочного apk-файла, Keytool и Jarsigner (входят в состав JDK) - для генерирования ключа и создания цифровой подписи apk-файла. Именно такой формат принят для распространения программного обеспечения в данной операционной системе и используется для размещения на Google Play.

Создание среды исполнения

Последний подготовительный этап разработки - создание виртуального устройства для запуска и тестирования будущего приложения. Фактически AVD (Android Virtual Devices) - это конфигурация эмулятора Android, отражающая параметры реального устройства. Простейший способ создать виртуальное устройство в эмуляторе - набрать в консоли команду:

Эта команда запускает графическую оболочку инструмента AVD Manager. Отсюда можно создать, запустить или изменить параметры виртуального устройства (см. рис.2)


Рис.2 Окно создания (изменения параметров) виртуального устройства AVD Manager

Вы можете менять выбрать параметры виртуального устройства самостоятельно (для примера см. рис.2) или выбрать на вкладке Device Definitions окна AVD Manager конфигурацию для создания виртуального устройства его из шаблона, соответствующего параметрам реального планшета или телефона.

Отметим также, что эти же действия по созданию виртуального устройства можно с успехом осуществить из консоли с помощью такой команды:

$android create avd -n em1 -t 1 -c 512M

Параметры этой команды: -n - имя устройства, -c - размер карты памяти в байтах, -t - среда исполнения (target runtime), значение параметра необходимо устанавливать в зависимости от нужной для программиста версии Android. Узнать его можно с просмотрев вывод:

$android list targets

Созданное устройство запускается из AVD Manager. Для этого нужно его выделить его и нажать “Start”, или то же самое можно сделать с помощью командной строки:

Где “em1” имя нашего устройства. В результате мы на экране монитора увидим эмулятор Android в действии (см. рис. 3). Не упустите шанса посмотреть погоду в «виртуальном устройстве браузере» через поиск от Google!


Рис.3 Эмулятор от Android SDK