Разработка приложения для андроид. Как сделать своё android-приложение

28.07.2019 Интернет

Многие программисты хотят заняться разработкой приложений под Android. Но немногие представляют, какие шаги здесь надо предпринять. Эта подборка призвана помочь новичкам в освоении Android-разработки.

Начало работы

Новичкам в программировании поможет наша .

Для новичков в Android Google сделал хорошее введение в Android на своём сайте. Также есть замечательный краудсорсинговый гид по Android . Кроме того, есть курс от Google на Udacity.

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

Вы всегда можете найти у нас на сайте.

FAQ

Я хочу начать разрабатывать под Android. С чего мне начать?

Первый и важнейший шаг в разработке под Android – это изучение Java и XML. Как только вы более менее познакомитесь и с тем, и с другим, изучите официальную Документацию по Android и пройдите несколько уроков, пока не почувствуете себя достаточно уверенным для создания собственных проектов. Удачи!

Нужно ли мне Android-устройство для разработки?

Вы можете писать приложения без какого-либо Android-устройства, используя включённый в поставку эмулятор (или усовершенствованный Genymotion). Однако для учёта аппаратных требований ничто не заменит тестирование на настоящем устройстве.

Какую IDE мне лучше использовать?

  • Android Studio - официально поддерживаемая IDE для разработки под Android. Именно она используется в современных руководствах и видео, в том числе и от Google.
  • Eclipse была основной IDE для разработки под Android на протяжении многих лет, поэтому большинство устаревших уроков, ресурсов, видео и скриншотов сделаны на ней.
  • IntelliJ IDEA был альтернативой Eclipse, но в настоящее время разумнее начать с Android Studio. Android Studio – это ответвление IntelliJ IDEA, так что вы получите все её преимущества плюс бонусы под Android.

Может, мне стоит забыть про Java и начать учить Kotlin?

Google теперь официально поддерживает Kotlin как язык разработки под Android, но это не значит, что про поддержку Java можно забыть. В ближайшем обозримом будущем документация, инструменты, новые фичи платформы будут поддерживать как Kotlin, так и Java. Хотя Kotlin - более молодой язык с некоторыми приятными особенностями, вы всё ещё можете создавать отличные приложения на Java. Выбор зависит только от вас, но если вам не принципиально или вы новичок, то, возможно, лучше сделать выбор в пользу Kotlin.

Ресурсы

Здесь представлены основные ресурсы по обучению разработке под Android на английском языке. Это далеко не полный список, но достаточный для старта.

Официальные ресурсы Android

Дизайн

  • Красивости для Android – вдохновение для создания графических интерфейсов под Android.

Рассылки

  • Android Weekly – замечательная рассылка, помогающая быть в курсе последних разработок Android.

Коллекции библиотек

Инструменты

  • Genymotion – крайне полезный и функциональный эмулятор.
  • Android Asset Studio – отличная коллекция инструментов для создания/редактирования иконок, изображений и т.д.
  • Codota Plug-in для Android Studio – замечательные примеры кода прямо в Android Studio.

Примеры open source приложений

Идеи для приложений

Итак, у вас есть идея для приложения… Люди каждый день об этом пишут. Но перед тем, как просить помощи в реализации проекта, нужно ответить на следующие ключевые вопросы:

Каков мой бюджет?

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

Какая у меня маркетинговая стратегия?

Вы собираетесь использовать обычное сарафанное радио или готовы платить за известность?

Какой список задач у данного проекта?

А также, какие есть ограничения? Сколько мне нужно разработчиков?

Откуда будут приходить/где будут храниться данные?

А также, как они будут использоваться? Разработана ли у меня соответствующая политика приватности?

Есть ли цель заработать денег?

Если да, как вы собрались её достигать? Через рекламу, IAP , подписки, платные приложения? Всё вышеперечисленное?

Как вы будете платить вашим разработчикам?

Есть ли у вас капитал или вы собрались платить им после того, как приложение начнём приносить доход? Часто независимые контрактники требуют часть полной стоимости авансом. Большинству разработчиков неинтересно разделение доходов, за исключением случаев, когда они сами вкладываются в приложение.

Какой будет способ тестирования?

На какой тип устройства вы собираетесь устанавливать его? Как много итераций вам нужно? Каких людей вы хотите вовлечь?

Как скоро вы хотите опубликовать приложение в магазине?

Это однозначно повлияет на конечный доход.

Будете ли вы требовать или предлагать регистрацию/интеграцию с социальными сетями?

Продумайте реализацию этой функциональности.

Какова ваша целевая аудитория?

Это нишевое приложение или оно может быть распространено повсюду?

Реализована ли уже моя идея?

Если да, как я могу улучшить её или что в ней отсутствует?

Что делать с идеями для приложений, если вы не разработчик?

Вы, возможно, ищете разработчиков в вашу команду для реализации приложения. Если у вас есть деньги и вы можете заплатить разработчику или фирме, то всё просто и понятно. Далее мы поговорим о том, что делать, если у вас недостаточно денег, чтобы платить кому-то.

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

  • Нарисуйте дизайн вашего приложения (внешний вид и функциональность). Он может быть грубым и нарисован на бумаге. Но он должен быть достаточно конкретным, а не размытым.
  • Составьте список своих навыков, связанных с идеей.
  • Составьте список того, что вы вложите в свою идею.

Поймите, что разработка требует значительных усилий. Представьте, что разработчик работает полный рабочий день (8 часов) на протяжении 2 месяцев, чтобы создать ваше приложение. И вы также работаете полный рабочий день. Что вы делаете в это время? Если ваша работа, по вашим представлениям, заканчивается раньше, то нужно пересмотреть идею. В этом сценарии разработчик выполняет большую часть работы, и вы, честно говоря, бесполезны. То, что вы можете дать после того, как приложение закончено, не имеет особого значения и не будет мотивировать разработчика заканчивать продукт.

Пересмотр вашей идеи

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

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

Операционная система Android получила широчайшее распространение – по состоянию на конец 2015-го года, на ней работает более 80% мобильных устройства, а графики показывают неуклонный рост. Не угасает интерес и к мобильным приложениям, судя по количеству новинок в Playmarket’е. Как создать приложение для Android самостоятельно? Нужно ли быть для этого настоящим программистом? Об этом мы поговорим в нашей статье.

Профессиональный подход к программированию на Android

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

  • Книги по программированию;
  • Среда для разработки (включает в себя множество программ и плагинов);
  • Дополнительные мануалы по программированию под Android OS;
  • Знания в построении алгоритмов.

Справившись с установкой среды разработки, необходимо приступить к изучению книг и мануалов. Они помогут получить знания об операторах, классах, массивах, способах взаимодействия с оборудованием мобильных устройств. Также нужно научиться читать чужой код и находить в нем нужные знания и приемы программирования . Глядя на листинг самой небольшой программы, начинает кружиться голова – кажется, что выучить все это невозможно.

На самом деле, для программирования под Android написано немало мануалов и учебных пособий. Поэтому проблем с изучением азов программирования не возникнет – главное, иметь к этому способности.

Конструкторы приложений для Android

Если вас пугают операторы, классы и разработка алгоритмов, а листинги программ повергают в первобытный ужас, то мы готовы предложить вам другое решение – создание приложений в специальных конструкторах. Их количество растет не по дням, а по часам, поэтому проблем с их поиском не возникнет. Конструкторы позволяют писать приложения различного уровня сложности, используя заранее разработанные модули и возможности. На их основе вы сможете создавать:

  • Новостные приложения;
  • Каталоги кулинарных рецептов;
  • Мобильные блоги;
  • Интернет-магазины;
  • Приложения для заказа услуг;
  • Фото- и видеогалереи;
  • Текстовые приложения и многое другое.

Также многие конструкторы предлагают инструменты для базового продвижения созданных приложений.

Конструктор App2b

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

Как и многие другие инструменты для бизнеса, конструктор App2b является платным . На выбор пользователей и разработчиков представлен единственный вариант оплаты — 9900 рублей за одно приложение единоразово. В оплату входят доступ ко всем указанным возможностям, техническая поддержка, инструменты для продвижения, а также размещение приложений в Playmarket.

Справедливости ради стоит отметить, что этот конструктор умеет создавать приложения не только для Android, но и для смартфонов iPhone (с последующей публикацией в AppStore).

Конструктор Appsmakerstore

Это очень мощный многофункциональный конструктор с гигантским количеством шаблонов. С его помощью создаются приложения для отелей, ночных клубов, ресторанов и кафе, государственных служб, торговых сетей, салонов красоты, радиостанций, медицинских учреждений, спортивных клубов, религиозных учреждений, а также для различных событий и мероприятий. Функционал конструктора.

Но сначала мы расскажем, почему пользователи выбирают именно , а не Oreo или Pie:

  • В сравнению с обычной версией Android Oreo, он быстрее
  • Он требует меньше памяти устройства
  • Он требует меньше оперативной памяти.

С причинами разобрались, переходим к принципам разработки приложений.

Проверяйте качество соединения

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

Вы можете сделать это таким образом:

А так можно узнать статус интернет соединения, его качество, а также проверить подключено ли устройство к metered network:

Обратите внимание на количество и качество запросов. Чем хуже соединение, тем ниже должно быть разрешение медиаконтента.

Размер APK файла должен быть, как можно меньшим

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

Старайтесь, чтобы размер APK-файла не превышал 10 mb. Ведь одним из лучших способов уменьшить размер вашего приложения является уменьшение числа задействованных ресурсов.

Теперь о том, как это сделать. Изменить количество и вес ресурсов в APK можно с помощью инструмента Lint. Lint это анализатор кода в Android Studio. Он находит (но не удаляет) ресурсы в папке res/, на которые нет ссылок в коде программы. Однако следует помнить, что Lint не сканирует папку assets/ .

В консоли Lint запускается с помощью команды:

Зависимости, которые вы добавляете в проект, могут содержать неиспользуемые ресурсы. Gradle же их автоматически удаляет, если вы используете shrinkResources в файле build.gradle вашего приложения. Для удаления неиспользуемого кода стоит применить ProGuard minifyEnabled. Для большей оптимизации кода вы можете также попробовать указать файл с правилами ‘proguard-android-optimize.txt’ вместо ‘proguard-android.txt’ :

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

А еще вы можете уменьшить размер PNG ресурсов в папке res/drawable/, с помощью инструмента aapt:

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

Эффективное использование памяти

Для того чтобы приложение не упало по причине Out Of Memory, вы можете узнать какой размер heap для него доступен (memoryClass), а также является ли устройство с низким объемом RAM (1GB или меньше) (isLowRamDevice):

Узнать статус памяти можно с помощью:

Для контроля занимаемой памяти вы можете использовать Memory Profiling Tool in Android Studio. С помощью этого инструмента вы визуализируете происходящие процессы:

На рисунке мы видим, какой объем памяти занимают в приложении графические ресурсы (20.1 Mb). И, разумеется, хорошей практикой является использование изображений с низким разрешением.

Следующий момент. Очищайте память, когда графический интерфейс уходит с экрана или когда ее банально не хватает. Для этого переопределите метод onTrimMemory() интерфейса ComponentCallbacks2 и, в зависимости от типа события, вычищайте лишнее:

Метод onTrimMemory() вызывается, когда операционная система определила необходимость trim (обрезания) ненужной памяти одного из процессов. Например, когда процесс становится фоновым и для других фоновых процессов не хватает ресурсов.

Оптимизируйте использование батареи

Старайтесь ограничить операции, ведущие к быстрой разрядке устройства до тех пор, пока устройство не подключено к источнику питания. Вы можете узнать, когда устройство подключено к питанию и узнать уровень заряда батареи. Объявим в манифесте приложения BroadcastReciever:

Класс PowerReciever:

Также вы можете реагировать на уровень заряда батареи. Объявим в манифесте приложения:

Класс BatteryStateReciever:

Вы можете посмотреть, как приложение использует батарею с помощью Battery Historian:

Приложение должно быть быстрым и отзывчивым

Кроме того, отметим, что пользователь всегда нуждается в обратной связи – приложение должно отвечать на его действия. Что для этого нужно? При запуске приложения предоставляем placeholder или специальный экран загрузки. Таким образом, пользователь скоротает период ожидания. Мелочь, но это гораздо лучше, чем пялиться в пустой экран.

Это значит, что мы будем избегать пустых состояний и заполним экраны placeholder или изображениями. Однако не стоит забывать, что устройства с маленьким экраном имеют маленькие вычислительные ресурсы. И для увеличения производительности следует уменьшить использование объемных изображений и анимаций. Убедитесь, что частота обновления экрана 60 frames per second и используйте для этого средства профилирования Profile GPU Rendering.

Вывод

Выполнение рекомендаций, перечисленных в этой статье, позволяет создать приложение для Android Go, которое поможет пользователю сэкономить ресурсы (память, трафик, заряд батареи) и сделать опыт обращения с приложением приятным во всех смыслах.

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

Учтите, что студия постоянно обновляется, поэтому внешний вид окон и другие детали могут отличаться от данного примера. Большинство уроков на сайте сейчас используют версию 2.3. 25 октября 2017 года вышла версия 3.0, в которой многое поменялось. В этой статье я постарался заменить все картинки под новую версию.

В качестве языка программирования для Android используется Java. Для создания пользовательского интерфейса используется XML.

Здесь следует сделать небольшое отступление. В Android Studio 3.0 добавлена полноценная поддержка нового языка Kotlin, разработанная котанами. Google объявила о своих планах сделать новый "кошачий" язык основным. Но вы должны понимать, что за предыдущие годы было написано огромное количество примеров на Java. Если вы новичок в программировании, то лучше в первый период обучения полностью сосредоточиться на Java, вам будет проще находить ответы на вопросы. Kotlin от вас никуда не денется, перейти потом на него будет проще, а вот обратный процесс будет проходить тяжелее. Когда немного освоитесь в Java, то можете параллельно изучать примеры на Kotlin. Google сейчас активно переписывает документацию под Kotlin, но до полного перехода ещё далеко, даже меньше 50%. Чуть позже я также буду делать уроки под Kotlin, но это будет не скоро.

По традиции, заложенной в прошлом веке, каждый программист должен был написать «Hello World!» (Здравствуй, Мир!) в качестве первой программы. Времена меняются, и программа «Hello World!» уже встроена в среду разработки под Android в целях совместимости, а современные программисты должны писать программу Hello Kitty! (Привет, киска!). Согласитесь, что здороваться с котёнком имеет больше здравого смысла, чем с каким-то миром.

Поэтому разобьём задачу на две части. Сначала запустим готовую программу без написания кода, чтобы убедиться, что весь инструментарий корректно установился, и мы можем создавать и отлаживать программы. А потом уже напишем свою первую программу.

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

Запускаем Студию и выбираем File | New | New Project... . Появится диалоговое окно мастера.

Поле Application name - понятное имя для приложения, которое будет отображаться в заголовке приложения. По умолчанию у вас уже может быть My Application . Заменим на . В принципе вы могли написать здесь и Здравствуй, мир! , но у Android есть замечательная возможность выводить нужные строки на телефонах с разными языками. Скажем, у американца на телефоне появится надпись на английском, а у русского - на русском. Поэтому в первоначальных настройках всегда используются английские варианты, а локализованные строки подготовите позже. Необходимо сразу вырабатывать привычку к правильному коду.

Поле Company Domain служит для указания вашего сайта. По умолчанию там может появиться ваше имя как пользователя компьютера. Если сайт у вас есть, то можете ввести его адрес, либо придумайте какое-нибудь название. Введённое имя запоминается и будет автоматически подставляться в следующих новых проектах. Экономия, однако.

Третье поле Project location позволяет выбрать место на диске для создаваемого проекта. Вы можете создать на своём диске отдельную папку для своих проектов и хранить свои программы в ней. Студия запоминает последнюю папку и будет автоматически предлагать сохранение в ней. В случае необходимости вы можете задать другое местоположение для отдельного проекта через кнопку с тремя точками.

Поле Package name формирует специальный Java-пакет на основе вашего имени из предыдущего поля. В Java используется перевёрнутый вариант для наименования пакетов, поэтому сначала идёт ru , а потом уже название сайта. Пакет служит для уникальной идентификации вашего приложения, когда вы будете его распространять. Если сто человек напишет сто приложений с названием "Cat", то будет непонятно, где приложение, написанное разработчиком Василием Котовым. А приложение с именем пакета ru.vaskakotov.cat проще найти. Обратите внимание, что Гугл в своей документации использует пакет com.example в демонстрационных целях. Если вы будете просто копировать примеры из документации и в таком виде попытаетесь выложить в Google Play, то у вас ничего не выйдет - это название зарезервировано и запрещено к использованию в магазине приложений. Кнопка Edit позволяет отредактировать подготовленный вариант. Например, вы пишете приложение на заказ и вам нужно использовать имя пакета, утверждённое заказчиком, а не ваш вариант по умолчанию.

Ниже представлены два варианта для написания программ на C++ и Kotlin. Эти варианты мы пока не рассматриваем. Когда вы будете писать на Kotlin, то ставьте соответствующий флажок. Впрочем, вы можете сконвертировать проект с Java на Kotlin и позже средствами студии.

Нажимаем на кнопку Next и переходим к следующему окну. Здесь мы выбираем типы устройств, под которые будем разрабатывать своё приложение. В большинстве случае мы будет писать для смартфонов и планшетов, поэтому оставляем флажок у первого пункта. Также вы можете писать приложения для Android TV, Android Wear, Android Auto и Android Things.

Кроме выбора типа устройств, надо выбрать минимальную версию системы, под которую будет работать приложение. Выберите свой вариант. На данный момент Гугл поддерживает версии, начиная с API 7, выпуская специальные библиотеки совместимости для старых устройств. Но вы можете выбрать более современный вариант. У меня в наличии телефон с минимальной версией Android 4.4, поэтому я выставляю этот вариант.

java

Папка java содержит три подпапки - рабочую и для тестов. Рабочая папка имеет название вашего пакета и содержит файлы классов. Сейчас там один класс MainActivity . Папки для тестов можете не трогать. Если вы знаете, как работают пакеты в Java, то можете создавать новые папки и подпапки.

res

Папка res содержит файлы ресурсов, разбитых на отдельные подпапки.

  • drawable - в этих папках хранят графические ресурсы - картинки и xml-файлы, описывающие цвет и фигуры.
  • layout - в данной папке содержатся xml-файлы, описывающие внешний вид форм и различных элементов форм. После создания проекта там уже имеется файл activity_main.xml , который отвечает за внешний вид главного окна приложения.
  • mipmap - здесь хранят значки приложения под разные разрешения экрана
  • values - тут размещаются строковые ресурсы, ресурсы цветов, тем, стилей и измерений, которые мы можем использовать в нашем проекте. Здесь вы можете видеть файлы colors.xml , strings.xml , styles.xml . В старых проектах был ещё файл dimens.xml , сейчас от него отказались

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

Работа с проектом - Здравствуй, Мир!

Как уже говорилось, программа Hello, World! уже встроена в любой новый проект, поэтому вам даже не нужно ничего писать. Просто нужно запустить проект и получить готовую программу!

Для изучения вам нужно открыть два файла - MainActivity (скорее всего он уже открыт) и activity_main.xml (res/layout ) в центральной части Студии. Если файлы не открыты, то откройте их самостоятельно двойным щелчком для редактирования (или просмотра). Таким способом вы можете открыть любой нужный вам файл.

Не будем пока изучать код, а просто нажмём на зелёный треугольник Run (Shift+F10) на панели инструментов в верхней части студии для запуска приложения.

Если вы не настроили эмулятор, значит вы не читали предыдущий урок. Настройте сначала эмулятор и запускайте проект снова. Либо подключайте реальное устройство.

Если всё сделали правильно, то в эмуляторе или на устройстве загрузится ваша программа. Поздравляю!

Итак, если программа запустилась, то увидите окно приложения с надписью . Заголовок у программы будет также . Все эти строки можно найти в файле res/values/strings.xml и отредактировать при желании.

Теперь посмотрим на код. Сначала изучим activity_main.xml .

Смотреть его можно в двух режимах - Design и Text .

Откройте в режиме Text .

Это новый код шаблона, который появился в Android Studio 2.3 в марте 2017 года. Раньше использовался другой код с RelativeLayout (а ещё раньше и другой код с LinearLayout ). Если вам будут попадаться старые примеры, то в студии есть контекстное меню, которое поможет сконвертировать старый код в новый.

Немного о XML-коде. Имеется специальный контейнер ConstraintLayout , в котором размещён компонент TextView , предназначенный для вывода текста.

Теперь посмотрим на Java-код (MainActivity.java )

Package ru.alexanderklimov.helloworld; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }

Перед вами открыт файл класса, где имя класса MainActivity совпадает с именем файла с расширением java (это правило, установленное языком Java). В первой строке идет название пакета - его мы задавали при создании проекта (Package Name ). Далее идут строки импорта необходимых классов для проекта. Для экономии места они свёрнуты в одну группу. Разверните её. Если однажды вы увидите, что имена классов выводятся серым цветом, значит они не используются в проекте (подсказка Unused import statement ) и можете спокойно удалить лишние строки. Также они могут удаляться автоматически (настраивается).

Далее идёт объявление самого класса, который наследуется (extends ) от абстрактного класса Activity . Это базовый класс для всех экранов приложения. Не исключено, что у вас будет AppCompatActivity , если при создании проекта вы оставили поддержку старых устройств (флажок Backwards Compatibilty (App Compat) ). В старых версиях не было плюшек, которые появились после Android 4, поэтому для них была создана специальная библиотека совместимости, которая позволяет использовать новинки от новых версий Android в старых программах. Класс AppCompatActivity как раз и относится к библиотеке совместимости. Считайте её бедным родственником базовой Activity . У неё есть все нужные методы и вспомогательные классы, но названия могут немного различаться. И смешивать названия нельзя. Если уж используете класс из библиотеки совместимости, то методы берите соответствующие.

На разных этапах использовались разные названия класса активности, которые могут вам встретиться в старых проектах. Например, сначала использовался FragmenActivity , затем ActionBarActivity , а 22 апреля 2015 года вышла новая версия библиотеки совместимости и на данный момент используется новый класс AppCompatActivity .

В самом классе мы видим метод onCreate() – он вызывается, когда приложение создаёт и отображает разметку активности. Метод помечен как protected и сопровождается аннотацией @Override (переопределён из базового класса). Аннотация может пригодиться вам. Если вы сделаете опечатку в имени метода, то компилятор сможет предупредить вас, сообщив об отсутствии такого метода у родительского класса Activity .

Разберём код метода.

Строка super.onCreate(savedInstanceState); – это конструктор родительского класса, выполняющий необходимые операции для работы активности. Эту строчку вам не придётся трогать, оставляйте без изменений.

Вторая строчка setContentView(R.layout.activity_main); представляет больший интерес. Метод setContentView(int) подключает содержимое из файла разметки. В качестве аргумента мы указываем имя файла без расширения из папки res/layout . По умолчанию проект создаёт в нём файл activity_main.xml . Вы можете переименовать файл или создать свой файл с именем cat.xml и подключить его к своей активности. Тогда код будет выглядеть так:

SetContentView(R.layout.cat);

Чтобы ваш код был аккуратным, старайтесь придерживаться стандартов. Если вы создаёте разметку для активности, то используйте префикс activity_ для имени файла. Например, разметка для второй активности может иметь имя activity_second.xml .

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

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

Не столько важно то, насколько хорошо вы подкованы в программировании, так как если вы сумеете овладеть набором разработки ПО для Android (SDK), то ваши приложения будут получаться просто превосходными. Итак, ознакомьтесь с представленными ниже материалами, чтобы влиться в процесс.

Java Development Kit

Первое, что вам понадобится, чтобы начать разработку java-приложений (основа Android-приложений), это Java Development Kit (JDK) от Oracle, который можно скачать по следующей ссылке.

Вероятно, вы в какой-то форме уже скачивали и устанавливали Java Runtime Environment (JRE), необходимую для запуская апплетов на вашем компьютере. Вам нужно удалить версию JRE, которая на данный момент установлена на вашем компьютере в случае, если она конфликтует с версией JDK, которую вы скачиваете. К счастью, вышеприведенная версия включает в себя последнюю и лучшую версию JRE, которая точно будет совместима с JDK, что исключает необходимость переустанавливать её.

Скачайте и запустите установщик, убедитесь, что ‘Development Tools’, ‘Source Code’ и ‘Public JRE’ включены в установку в окне ручной установки (можно увидеть ниже). Нажмите ‘Next’, прочтите условия лицензионного соглашения, если у вас есть достаточно свободного времени, и приступайте к установке.

Хотя большинство приложений интегрированной среды разработки (IDE) – в следующем этапе мы поговорим об этом подробнее – предоставляются с собственным компилятором, я рекомендую вам встроить только что установленный Java-компилятор в командную строку, чтобы вы могли пользоваться им по востребованию.

Если вы используете Windows, пройдите в настройки системы из панели управления и выберите расширенные настройки системы. Здесь выберите ‘Environment Variables’ и найдите переменную ‘Path’. Добавьте пусть до файла в виде каталога ‘bin’ до вашей установки Java, как показано на примере ниже.

Чтобы проверить, все ли прошло успешно, используйте команды ‘java -version’ и ‘javac -version’. У вас должно отобразиться нечто следующее:



Установка IDE

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

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

Здесь все может отличаться от случая к случаю, но когда я скачивал ресурс, ПО было предоставлено в виде zip-архиве, который содержал файл ‘eclipse.exe’, работу с которым можно было начать без каких-либо установок. Если ваша версия требует установки, то самостоятельно произведите ее, так как здесь нет каких-то особенных требований и настроек. При первом запуске, ПО запросит у вас указать ‘Workbench’, где расположены ваши коды и сопутствующие файлы. Укажите удобное вам расположение.

Как только завершите, перед вами будет отображено следующее:

Если вам хочется немного ознакомиться с Eclipse перед работой, то откройте окошко Help, и просмотрите руководство Workbench User Guide. Здесь также можно видеть руководство Development User Guide, которое поможет вам освоить базовый навык работы с Java, если вы до сих пор не знакомы с этим языком.

Скачиваем Android SDK

Пройдите по этой ссылке и нажмите ‘Get the SDK’. На следующей странице вам будет предложена ссылка для установки Android SDK на ваш компьютер.

Как только завершится скачивание исполнительного файла, запустите установку. Когда дойдете до окошка, приведенного ниже, укажите путь до директории, куда вы хотите произвести установку, или запомните тот, что уже указан.

Когда установка будет завершена, откройте Android SDK Manager, и тогда перед вами окажется следующее окошко:

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

Устанавливаем плагин Android Development Tools

Как уже было отмечено выше, Google предлагает специальный плагин Android SDK для Eclipse, который можно добавить прямо из IDE.

В Eclipse пройдите в ‘Help’ и выберите ‘Install New Software’. Нажмите кнопку ‘Add’, и тогда вы будете перемещены к окошку, которое позволит вам добавить онлайн-репозиторий ПО, содержащий плагин ADT. Задайте описательное название, и введите следующий URL в блок ‘Location’:

  • http://dl-ssl.google.com/android/eclipse

Нажмите ‘OK’. Выберите только что добавленный репозиторий и установите галочку ‘Developer Tools’.

Нажмите ‘Next’ , и пройдите по этапам установки файлов плагина. После завершения, в вашей панели управления Eclipse должны появиться следующие 2 иконки:

Теперь пройдите в ‘Window’ и ‘Preferences’, выберите раздел ‘Android’ и убедитесь, что SDK Location совпадает с SDK directory, которую вы указали ранее. В результате у вас должно получиться следующее:

Теперь вы являетесь владельцем плагина Android Development Tools.

Настраиваем эмулятор Android

Хотя это и помогает, на самом деле вам не обязательно иметь под рукой все модели Android-устройств, чтобы создавать под них приложения, так как Google снабжает нас отличным эмулятором собственной мобильной ОС вместе с SDK. Перед тем, как начать разработку, нам желательно настроить Android Virtual Device (AVD), чтобы платформа для тестирования была готова заранее.

Теперь нам нужно создать новое виртуальное устройство. Данный пример подразумевает создание общего устройства, но существуют также ресурсы для конкретных настроек под Android-устройства. Выберите ‘New’, и перед вами окажется пустое окошко, приведенное ниже:

  • Name: если вы хотите тестировать приложение на нескольких настройках устройств, то вам нужно будет ввести нечто описательное. С другой стороны, также можно использовать и более обобщенное название.
  • Target: это версия Android, на которую будет направлен эмулятор. В большинстве случаев, вашей опцией будет последняя версия Android, которая вместе с устанавливаемым SDK. Тем не менее, если вы хотите провести тестирование на более ранних версиях (что было бы довольно мудро, учитывая столь огромное множество различных версий и моделей), тогда воспользуйтесь SDK manager, чтобы установить дополнительные версии.
  • SD card: указатель дополнительного дискового пространства, которое будет использоваться в устройстве. По умолчанию, виртуальное устройство имеет 194 мегабайта «внутренней» памяти и SD-карту, поэтому вам нужно будет вручную указать необходимое значение объема дискового пространства.
  • Skin: вы можете использовать эту опцию для установки внешнего вида и конфигураций конкретного устройства (HTC One X, к примеру). Но в нашем случае мы используем стандартное значение.
  • Hardware: так как среди физических устройств на базе Android существуют существенные различия с точки зрения аппаратного оснащения, вы можете использовать эту опцию, чтобы добавлять любое оснащение, которое будет использоваться вашим приложением.

По завершеии окошко AVD Manager должно включать в себя ваше только что созданное устройство. Вы можете нажать ‘Start’, чтобы запустить это устройство, только учитывайте, что первый запуск может потребовать времени.



Ваш первый Android-проект

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

Чтобы начать, пройдите в ‘File’, ‘New’, ‘Project’ и раскройте вкладку Android. Выберите там ‘Android Application Project’, и перед вами откроется следующее окошко:

Вы можете воспользоваться выпадающими меню возле каждого поля, чтобы выбрать соответствующее значение. Главное, что следует учитывать, это ‘Application Name’, которое отвечает за название нашего приложение при установке, а также ‘Minimum Required SDK’, при помощи которого вы указываете самую раннюю версию Android, поддерживающую ваше приложение.

Нажмите ‘Next’, чтобы продолжить, и установите иконку исполняемого файла, которая будет лицом вашего приложения. В следующем меню вас попросят создать ‘Activity’ для вашего приложения.

Это действие или представление, с которым пользователь будет взаимодействовать, поэтому логичнее всего будет разделить ваше приложение на активность с точки зрения того, какие окна пользователь будет видеть, и того, какой функционал будет доступен на каждом из них. Итак, если вы, к примеру, создаете простую программу «Hello World», то вам понадобится лишь одно активное окно, которое представляет текст, а все настройки интерфейса извлекаются из ресурсных файлов, которые создает SDK.

Когда вы определились с этими окнами, нажмите ‘Finish’. Eclipse соберет все необходимые для приложения файлы вместе, в которые вы будете вписывать код и/или изменять настройки для указания параметров вашей программы.

И на этом все! Все готово к тому, чтобы собрать готовое приложение. В Google можно найти полноценные руководства о том, как заниматься разработкой Android-приложений (для тех, у кого есть опыт в программировании). Всем, кто собирается заниматься Java-программированием, также следует сначала ознакомиться с руководствами вроде того, что нам предоставила компания Oracle.