Как создать приложение для iOs самостоятельно: пошаговая инструкция. Как сделать приложение для iPhone самому

01.08.2017 16:02:00

Количество приложения для Андроида растет не по дням, а по часам. На данный момент, база данных цифрового магазина Google Play насчитывает около 2,5 миллионов утилит на все случаи жизни. Неудивительно, что многие пользователи интересуются, насколько сложна разработка Андроид приложений, и можно ли самостоятельно создать несложную программу.

Отвечая на первый вопрос, скажем, что сложность разработки мобильных утилит зависит от знаний и навыков пользователя. При наличии минимального опыта программирования, например, на Java, написание небольшого приложения станет вполне выполнимой задачей. В этом же случае можно «прокачать» свои знания, изучив дополнительно еще несколько популярных языков для создания приложений, вроде Kotlin или Python.

Кстати, для освоения языка программирования вовсе необязательно записываться на специальные курсы. Изучить ту же Java можно самостоятельно с помощью учебников, а также видеоуроков на YouTube.


Если же пользователь никогда ранее не сталкивался с миром программирования, но сделать свое собственное приложение очень хочется, рекомендуем прочитать нашу статью «Как на Андроиде самому сделать сайт или приложение бесплатно» . Здесь мы подробно описали самые доступные и популярные сервисы и программы, в том числе, и для смартфона, которые помогут пользователю создать Андроид-утилиту из готовых шаблонов или превратить в приложение целый сайт.

Данная статья предназначена, в первую очередь, для тех, кто имеет хотя бы минимальное представление о программировании на Android. Мы покажем программы для разработки приложений для Андроид и расскажем об основных инструментах для разработки мобильных утилит. Перед тем, как создать апплет, необходимо освоить базовые принципы популярных языков программирования:

  • Python
  • Kotlin
  • C/C++

Основные группы инструментов для разработки

Инструменты, с помощью которых создаются приложения на Андроид, можно условно поделить на две большие группы:

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

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

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

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

Шаг 1. Нажать на строку Start a new Android Studio project


Шаг 2. Выбрать название приложения и указать папку, в которой хранятся проекты.


Шаг 3. Выбрать форм-фактор устройства и версии ОС.

Здесь нужно указать, на каком устройстве будет запускаться приложение. По умолчанию, это смартфон и планшет, хотя Android Studio позволяет создавать софт также для «умных» часов, телевизионной приставки и бортового компьютера в автомобиле. Также нужно указать минимальную версию SDK, набора средств разработки приложения. Лучше выбрать версию для Android 2.3 – в этом случае приложение запустится даже на старом смартфоне.


Шаг 4. Выбираем шаблон для нового приложения. Название шаблона оставляем без изменения.


Теперь нажимаем на кнопку Next и ждем, когда Android Studio создаст проект. После этого можно приступать к разработке приложения: подключать библиотеки на Java, создавать и редактировать код, создавать оболочку программного продукта и наполнять ее содержимым.


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

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

«Облачная» платформа для создания приложений. Никаких дополнительных установок платформа не требует – достаточно зайти на страницу, зарегистрироваться и приступить к работе. В бесплатной версии можно проработать до 14 дней. На это время сервис позволит создать приложение объемом до 50 Мб. Далее необходимо заплатить от 60 до 135 долларов для доступа к набору готовых программных интерфейсов (API), количество которых как раз и определяется ценой.


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

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

Цена вопроса – от 24 до 200 долларов в месяц.

Данный сервис имеет и мобильную версию. Такой конструктор можно без проблем запустить на мощном и производительном смартфоне британской компании Fly .


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


Appmakr – сервис с самой доступной ценовой политикой. Стоимость работы в конструкторе варьируется от 2 до 39 долларов в месяц. Пользователю предоставляется возможность неограниченных обновлений своего приложения. Можно добавить фото, видео, карты, коды онлайн-трансляций, календарь, магазин и многое другое.

А вы пробовали самостоятельно создать приложение на Андроид через веб-сервис или специальную программу? Расскажите о своем опыте в комментариях к данной статье.

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

Идея

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

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

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

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

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

Вот некоторые важные моменты, которые необходимо учитывать пока вы размышляете над вашим приложением:

Варианты монетизации

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

  • Бесплатное приложение. Обычно используется крупными компаниями, и приложение помогает продавать их товары или услуги.
  • Бесплатное приложение с рекламой. Используется в популярных приложениях, активно взаимодействующих с пользователем
  • Платное приложение. Самый популярный и доходный вид монетизации. С каждой продажи вашего приложения Apple берет комиссию в размере 30%.
  • Lite и Pro. Lite приложение бесплатно, но с ограниченным набором функций. Покупая Pro вы разблокируете весь функционал
  • Покупки внутри приложения - вы можете продавать новый функционал или новые уровни игры прямо из приложения

Разработка

Теперь у вас есть идея. Здорово, это уже полдела! Но что теперь? Мы предполагаем, что у вас, как и большинства людей, нет никакого опыта в программировании. И это прекрасно! Есть куча вариантов.

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

Хороший список отечественных разработчиков можно посмотреть здесь – ratingruneta .

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

Вот несколько вопросов, которые стоит задать вашему будущему разработчику:

Стоимость их работы?

На кого они работали в прошлом?

Являются ли их приложения успешными?

Буду ли я обладать всеми правами на приложение?

Есть ли у них опыт и знания, чтобы воплотить вашу идею в жизнь?

Под какие платформы (IOS, Android и т.д.), они могут создавать приложения?

Стоимость разработки

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

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

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

Чтобы приблизительно узнать, сколько будет стоить разработать приложение можно воспользоваться калькулятором howmuchtomakeanapp . Его создала канадская компания ooomf.com. Полученную цену можно смело делить на 2, и вы узнаете цену разработки у нас. Можно посмотреть также примеры уже созданных ими приложений с ценами – crew.co .

Размещение уже готового приложения на App store обойдется вам $99.9 в год. Размещение приложения на Android Market стоит $25.

Как создать приложение бесплатно

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

Сколько можно заработать?

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

Исследование, проведенное в GigaOM Pro показало, что более половины их 352 опрошенных разработчиков зарабатывают менее $500 в месяц.

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

Конечно, вы можете сделать еще один хит на подобии Angry Birds, которые будут зарабатывать для вас $100 000 в месяц!

Для того чтобы хорошо зарабатывать на своем приложении, прочтите несколько советов:

  • ваше приложение должно быть интересно широкой аудитории
  • исследуйте самые популярные приложения на рынке
  • Оцените статью Проголосовало: 1153 Средняя оценка: 3.3

    Как создать приложение для Android или iPhone? — таким вопросам все чаще задаются не только веб-разработчики, но и обычные владельцы небольших бизнес-сайтов, блоггеры.

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

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

    бесплатный веб-сервис, который позволяет сконвертировать контент вашего сайта в Android приложение и распространить его через Google Play. Кроме того, созданные приложения можно как продавать, так и размещать в них рекламу.
    Можно создать неограниченное количество Android приложений из трех типов контента: сайта, просто html-страницы и YouTube видео. Для создания Android приложения AppsGeyser использует простой и наглядный мастер шаблонов.

    Сайты AppsGeyser: http://www.appsgeyser.com, http://www.appsgeyser.ru

    бесплатный онлайн-сервис для быстрого создания мобильных приложений. TheAppBuilder создает приложения с помощью конструктора и типовых шаблонов — для бизнеса, событий, образования, музыки, спорта и др. Созадние приложения бесплатно, а за 5 у.е. в мес. можно отключить показ посторонней рекламы в созданном приложении. TheAppBuilder позволяет создавать Android приложение, и Windows Mobile.

    Сайт TheAppBuilder: http://www.theappbuilder.com

    — это онлайн-сервис, который позволяет пользователям создавать и публиковать свои собственные мобильные приложения в несколько кликов в интернете. Платформа Appsmakerstore создает мобильные приложения, поддерживаемые HTML5, iTunes, Android Market, Blackberry Marketplace, Windows Marketplace и Facebook без каких-либо глубоких технологических навыков. Это всего 1 приложение для 6 разных платформ . Appsmakerstore предлагается в 23 языках, в том числе на русском и украинском.

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

    • «Сделай сам» — $9.78 в месяц.
    • «Мы делаем приложение для Вас» — $249
    • «Reseller»- специальная цена, которую нужно узнавать на сайте отдельно.

    Всегда включено во все планы:

    • Неограниченное количество изменений контента и обновлений приложения.
    • Обновление контента приложения на iTunes и Google Play без необходимости повторной публикации.
    • Отправлять неограниченное количество push уведомлений пользователям.
    • Автоматически получать и пользоваться всеми обновлениями системы.
    • Безопасный хостинг на наших серверах.
    Сайт Appsmakerstore: http://appsmakerstore.com

    — платный онлайн-конструктор мобильных приложений (iPad, Android , HTML5) для небольшого бизнеса. Среди возможностей - геолокация, получение и отправка сообщений, корзина для товаров, уведомления, интеграция с соцсетями, размещение информации о меню, наборе услуг, предстоящих событиях и др. Есть шаблоны для ресторанов, риелторов, гимнастических залов и др.

    Данный сервис представлен такими планами:

    • «Мобильный сайт» — $29 в месяц.
    • «Мобильное приложение» — $59 в месяц
    • « White Label Partner» создание приложений для Ваших клиентов — специальная цена, которую нужно узнавать на сайте отдельно.
    Сайт Biznessapps: http://www.biznessapps.com

    5. AppGlobus

    AppGlobus — платный, один из российских онлайн конструкторов мобильных приложений, позволяющий пользователям самостоятельно создать и опубликовать своё приложение в App Store и Google Play.

    Использует новый дизайн и возможности Ionic Framework, что значительно улучшает качество разработки, и даёт возможность создавать мобильные приложения на HTML5, iOS, Android даже без навыков программирования.

    На данный момент AppGlobus предлагается на 8 языках, в том числе на русском.

    AppGlobus.com предлагает следующие пакеты:

    • STARTAP - 900 руб./мес.
      • Приложения: HTML5/Android, админ панель, магазин, нет ограничений на Push, нет ограничений на установки, нет рекламы.
    • BASIC - 1500 руб./мес
      • Приложения и для Android и для iOS, админ панель, магазин, нет ограничений на Push, нет ограничений на установки, нет рекламы.
    • STUDIO - 2000 руб./мес
      • Приложения: Windows/Android/ iOS, админ панель, магазин, нет ограничений на Push, нет ограничений на установки, нет рекламы.
    • PRO - 45000 руб./единоразово
      • Приложения: Windows/Android/ iOS, разработка на заказ, сами разместим в App Store и Google Play, отдадим исходный код
    Сайт AppGlobus: http://appglobus.com/

    — платный онлайн-сервис для создания своего мобильного приложение для бизнеса или личного пользования. Никаких специальных умений не требуется. Хорошо подходит для небольшого бизнеса, например, интернет-магазинов. Чтобы создать свое приложение, понадобится всего 5 минут – нужно всего лишь выбрать необходимые модули и дизайн. Есть английская и русская версии.

    My-apps.com предлагает такие пакеты:

    • Старт — 599 руб. /мес.
      • приложения только для Android, доступ к конструктору, бесплатные шаблоны и иконки приложений, обновления контента каждые 48 часов, обновления исходника приложения в сторах самостоятельно не чаще 1 раза в 2 месяца.
    • Лайт — 990 руб. /мес
      • приложения и для и для iOS, доступ к конструктору, бесплатные шаблоны и иконки приложений, базовые скриншоты приложения, Push уведомления — 1 в месяц, обновления контента каждые 24 часа, обновления исходника приложения в сторах 1 раза в 2 месяца.
    • Стандарт — 2490 руб. /мес
      • приложения и для Android и для iOS, доступ к конструктору, бесплатные шаблоны и иконки приложений, базовые скриншоты приложения, поддержка по Skype, Push уведомления — 10 в месяц, обновления контента каждые 12 часов, обновления исходника приложения в сторах 1 раза в месяц.
    • Бизнес — 9890 руб. /мес
      • приложения и для Android и для iOS, доступ к конструктору, бесплатные шаблоны и иконки приложений, базовые скриншоты приложения, поддержка по Skype и е-мейл, персональный менеджер, Push уведомления — 50 в месяц, обновления контента -мгновенно, обновления исходника приложения в сторах — без ограничений.
    • VIP — 3999 руб. /мес + 150 000 руб. инсталляционный платеж

      • приложения и для Android и для iOS, доступ к конструктору, бесплатные шаблоны и иконки приложений, базовые скриншоты приложения, поддержка по Skype и е-мейл, персональный менеджер, Push уведомления — неограничено, обновления контента -мгновенно, обновления исходника приложения в сторах — без ограничений.
    Сайт My-apps.com: http://my-apps.com

    предоставляет платформу “сделай сам ” для создания iPhone/ приложений , которая так же не требует навыков программирования. Данный сервис предоставляет для каждой организации простой способ создания мобильных (iPhone, iPad, Android) приложений и публикационных материалов. Клиенты могут создать собственные каталоги, флайеры, брошюры, отчеты, резюме и пр. и предоставлять их с помощью SaaS-решения. Есть английская и русская версии.

    iBuildApp предоставляется в таких пакетах:

    • Бизнес (2400 рублей в месяц) — 3000 установок, неограниченное количество просмотров мобильного сайта, отсутствие встроенной рекламы, публикация приложения на iTunes и Google Play.
    Сайт iBuildApp: http://ibuildapp.com

    — онлайн-сервис для разработки приложений (iPhone , iPad, Android). Позволяет создавать приложение на основе одного из множества шаблонов приложений. Элементы создаваемого пользовательского интерфейса приложения могут быть связаны с такими функциями, как отправка электронной почты, SMS-сообщения, отправка на сервисы Facebook и Twitter.

    • Developer — $33 в месяц . (можно создать только 1 приложение)
    • Professional — $79 в месяц .
    • Premiun- $129 в месяц .
    • Enterprise — Цену нужно узнавать отдельно .

    Все пакеты поддерживают такие платформы: IOS (iPhone/iPad) & Android (Phone/Tablet)

    Сайт Viziapps: http://www.viziapps.com

    - онлайн-редактор, позволяющий создавать приложения для iOS, Android и Windows Phone. Пользоваться ей очень просто: собственную программу можно собрать из уже готовый частей. Несмотря на то что AppsBuilder старается быть более простым и понятным для неопытных пользователей, в него добавлены и некоторые возможности для программистов: к примеру, можно дополнять созданные приложения собственными Java-скриптами.

    Есть три платных пакета, в которых есть везде 30 дней — бесплатная пробная версия:

    • Starter (49 евро в мес.) -1 приложение.
    • Regular (199 евро в мес.) -до 5 приложений.
    • Scalable (от 249 евро в мес.) — более 5 приложений.
    Сайт AppsBuilder: http://www.apps-builder.com

    Как создать мобильное приложение в Android Studio

    Android Studio - интегрированная среда разработки (IDE) на базе IntelliJ IDEA , которую Google называет официальной IDE для приложений Android.

    В этом руководстве описана разработка приложений для android :

    • Навигация между файлами с помощью проводника
    • Установка файла AndroidManifest.xml
    • Импорт файлов в проект
    • Расширенный редактор макетов с функцией динамического превью
    • Использование Logcat и Android Monitor для отладки приложений

    Начало работы в Android Studio

    Запустите Android Studio, в окне Android Studio Setup Wizard выберите Start a new Android Studio project (начать новый проект).

    В окне Create New Project выберите Application Name (название приложения) как Fortune ball («Шар фортуны»), введите домен компании; в поле Project location выберите место в котором приложение будет сохранено. Кликните Next .

    Перед вами окно Target Android Devices . Выберите Phone and Tablet . В поле Minimum SDK укажите API 15 . Нажмите Next .

    В окне Add an activity to Mobile выберите Basic Activity . Оцените все опции, в этом окне представлен обзор доступных макетов.

    Кликните Next .

    В окне Customize the Activity , скриншот которого размещен ниже, вы сможете изменить Activity Name (название активности), Layout Name (название макета), Title (общее название) и Menu Resource Name (название меню ресурсов). Оставьте значения по умолчанию и кликните Finish .

    Через несколько секунд появится следующее окно:

    На вашем устройстве или эмуляторе высветится такое же окно. Эмулятор функционирует как устройство, загрузка займет определенное время.

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

    Структура проекта и файла

    Окно показывает файлы проекта.

    В выпадающем меню (скриншот ниже) есть несколько фильтров для файлов. Основные - Project и Android.

    Фильтр Project покажет все модули приложения - в каждом проекте присутствует как минимум один модуль. Среди модулей других типов есть модули из библиотек сторонних разработчиков, или модули других приложений Android (такие как приложения для Android Wear, Android TV). У каждого из модулей имеется свой набор характеристик, в т. ч. файл gradle, ресурсы и исходные файлы (java-файлы).

    Примечание. Если проект не открыт, кликните вкладку Project на левой стороне панели, как показано на скриншоте. По умолчанию установлен фильтр Android, который группирует файлы по определенному типу. На верхнем уровне вы увидите следующие папки:

    • manifests
    • Gradle Scripts

    В последующих разделах подробно описаны все эти папки, начиная с manifests.

    Обзор AndroidManifest.xml

    У каждого приложения под Android есть файл AndroidManifest.xml, который находится в папке manifests. Этот XML-файл сообщает вашей системе о требованиях приложения. Присутствие этого файла обязательно, т. к. именно он позволяет системе Android создать приложение.

    Откройте папку manifests и AndroidManifest.xml. Двойной клик откроет файл.

    Теги manifest и application нужны для manifest, появляются только один раз.

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

    android:icon, android:label и android:theme

    Среди прочего в manifest может появиться:

    • uses-permission: запрашивает специальное разрешение, которое выдается приложению для корректной работы. К примеру, приложение должно запрашивать разрешение у пользователя, чтобы получить доступ к сети - в случае, если вы добавите разрешение android.permission.INTERNET.
    • activity: сообщает об активности, которая частично отвечает за визуальный UI и логику. Любая активность, которая предусмотрена в приложении, должна добавляться в manifest - неотмеченную активность система не заметит, и она не будет отображаться в приложении.
    • service: добавляет сервис, который вы собираетесь использовать, чтобы реализовать продолжительные операции или расширенные коммуникации API с другими приложениями. Примером в данном случае может служить сетевой вызов, с помощью которого приложение получает данные. В отличие от активностей, у сервисов нет пользовательских интерфейсов.
    • receiver: благодаря приемнику широковещательных сообщений приложение получает сигналы о системных сообщениях или сообщениях других приложений, даже когда другие компоненты приложения не запущены. Пример такой ситуации - батарея с низким уровнем заряда и уведомление об этом операционной системы.

    Полный список тегов можно найти в manifest-файле на сайте Android Developer.

    Настройки файла Manifest

    В activity добавьте следующий атрибут:

    android:screenOrientation=”portrait”. чтобы ограничить экран только портретным режимом. Если этого не сделать, экран, в зависимости от расположения устройства, будет либо в ландшафтном, либо в портретном режиме. После добавления атрибута файл manifest будет выглядеть как на скриншоте.

    Создайте и запустите приложение. Если вы тестируете на своем устройстве, переверните его, удостоверьтесь, что экран не перемещается в ландшафтный режим, если вы ограничили эту возможность в файле AndroidManifest.

    Обзор Gradle

    Перейдем к Gradle. Gradle превращает Android-проект в инсталируемый APK, который можно устанавливать на устройства. Файл build.gradle присутствует в Gradle scripts, на двух уровнях: модульном и проектном.

    Откройте файл build.gradle (Module:app). Вы увидите установку gradle по умолчанию:

    apply plugin: "com.android.application" android {compileSdkVersion 25buildToolsVersion "25.0.2"defaultConfig {applicationId "com.raywenderlich.fortuneball"minSdkVersion 15targetSdkVersion 25versionCode 1versionName "1.0"testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"}}} dependencies {compile fileTree(dir: "libs", include: ["*.jar"])androidTestCompile("com.android.support.test.espresso:espresso-core:2.2.2", {exclude group: "com.android.support", module: "support-annotations"})compile "com.android.support:appcompat-v7:25.1.0"compile "com.android.support:design:25.1.0"testCompile "junit:junit:4.12"}

    Разберем основные компоненты:

    • apply plugin: ‘com.android.application’ применяет плагин Android на родительском уровне и обеспечивает доступность задач верхнего уровня, которые нужны для создания приложения.
    • Рядом с разделом android{…} находятся опции настроек, такие как targetSdkVersion. Целевой SDK для вашего приложения должен располагаться на новейшем уровне API. Еще один важный компонент - minSDKVersion (определяет минимальную версию SDK, которая должна быть установлена на устройстве, чтобы приложение можно было запустить). К примеру, если версия SDK 14, тогда приложение будет невозможно запустить на этом устройстве, поскольку в данном конкретном случае минимальная поддерживаемая версия 15.
    • Последний компонент - dependencies{…}. Необходимо отметить compile ‘com.android.support:appcompat-v7:VERSION’ и compile ‘com.android.support:design:VERSION’. Они обеспечивают поддержку и совместимость особенностей новых и старых API.

    Кроме библиотек совместимости Android, вы можете добавить библиотеки сторонних разработчиков в компонент dependencies{…} Библиотека анимаций, например, содержит эффекты пользовательского интерфейса. Найдите dependencies, затем добавьте вниз две следующие линии:

    dependencies { ... compile "com.daimajia.easing:library:2.0@aar"compile "com.daimajia.androidanimations:library:2.2@aar"}

    Здесь можно добавить dependencies сторонних разработчиков. Библиотеки автоматически загружаются и интегрируются в Android Studio. Кликните Sync Now, чтобы интегрировать эти зависимости в свое приложение.

    Синхронизация длится несколько секунд. Обновления Gradle появляются во вкладке Messages нижней панели.

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

    Импорт файлов

    В разработке приложения под Android важна интеграция с другими ресурсами: изображения, кастомные шрифты, звуки, видео и пр. Эти ресурсы импортируются в Android Studio и помещаются в соответствующие папки, что позволяет операционной системе подбирать корректные ресурсы для приложения. Для нашего приложения Fortune Ball понадобится импорт изображений в папки drawable. В этих папках могут содержаться изображения или специальные файлы XML drawables (т. е. вы можете рисовать формы с помощью XML-кода и использовать их в своих макетах).

    В Android Studio перейдите из Android в Project

    Откройте папку res (app > src > main). Клик правой кнопки мыши по папке res, выберите New > Android resource directory.

    Появится окно под названием New Resource Directory.

    Из выпадающего списка Resource type выберите опцию drawable. В списке Available qualifiers выберите Density, затем кликните кнопку, которая выделена на скриншоте.

    В следующем окне выберите XX-High Density из списка Density. Кликните OK.

    Повторите все, чтобы создать папки drawable-xhdpi, drawable-hdpi и drawable-mdpi. Выберите X-High, high (высокую) и medium (среднюю) плотность соответственно из списка Density.

    Каждая папка, у которой есть определитель плотности (i.e. xxhdpi, xhdpi, hdpi), содержит изображения, которые соотносятся с определенной плотностью или разрешением. К примеру, папка drawable-xxhdpi содержит изображение высокой плотности, это означает, что Android-устройство с экраном высокого разрешения извлечет изображение из этой папки. Изображение будет хорошо смотреться на всех устройствах Android, независимо от качества экрана. Больше информации о плотности экранов содержится в документации Android.

    Создав все «рисованные» папки, вы можете вернуться к нераспакованному контенту в папке и скопировать (cmd + C) изображение из каждой папки и поместить (cmd + V) в соответствующую папку Android Studio.

    Поместив файлы, вы увидите окно Copy. Выберите OK.

    XML View и Dynamic Layout Previews

    Создание макета, с которым пользователи могут взаимодействовать, - важная часть процесса. В Android Studio это можно сделать в редакторе макета. Откройте content_main.xml из res/layout. Во вкладке Design вы можете переносить элементы интерфейса (кнопки, текстовые поля).

    Справа от Design есть вкладка Text, которая позволяет редактировать XML непосредственно в макете.

    Перед созданием внешнего вида, необходимо определить некоторые значения. Откройте strings.xml во вкладке res/values и добавьте следующее:

    Suggest the question, which you can answer “yes” or “no”, then click on the magic ball.

    strings.xml содержит все строки, которые появляются в приложении. Разделение этих строк в отдельные файлы упрощает интернационализацию, т.к. нужен только файл строк для каждого языка, который требуется в приложении. Даже если вы не собираетесь переводить приложение на другие языки, использовать файл строк всегда рекомендуется.

    Откройте dimens.xml в res/values и добавьте следующее:

    15sp20sp

    dimens.xml содержит размерные величины, предельные интервалы для макетов, размера текста и пр. Рекомендуется сохранять эти данные в файле, чтобы их можно было использовать для создания макетов в дальнейшем.

    Вернитесь в content_main.xml и замените все содержимое файла следующим кодом:

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

    В относительной разметке добавляются две части текста, изображение и кнопка. Все эти детали будут видны в порядке добавления. Их содержимое можно будет прочитать в strings.xml (текст) и в drawable (изображения).

    Обновляя content_main.xml, обратите внимание на окно Preview обновляет UI:

    Примечание: если не видно окно предпросмотра, во вкладке Text кликните на кнопку Preview на панели редактора разметки справа.

    Создайте и запустите.

    И вот вы создали макет приложения. Но на данном этапе это только красивое изображение - клик по кнопке ни к чему не приведет.

    Объединяем Activity и View

    Вы можете использовать java-файлы, размещенные в app / src / main / java чтобы установить логические связи в приложении.

    Откройте MainActivity.java и добавьте эти данные под уже существующие:

    Import java.util.Random;import android.view.View;import android.widget.Button;import android.widget.ImageView;import android.widget.TextView; import com.daimajia.androidanimations.library.Techniques;import com.daimajia.androidanimations.library.YoYo;

    Первые пять импортов указывают на соответствующие классы в вашем коде: Random, View, Button, ImageView и TextView. Следующие два импорта указывают на то, что вы будете использовать два класса из библиотек, в т.ч. build.gradle для анимаций. В MainActivity.java в класс MainActivity добавьте:

    String fortuneList = {"Don’t count on it","Ask again later","You may rely on it","Without a doubt","Outlook not so good","It"s decidedly so","Signs point to yes","Yes definitely","Yes","My sources say NO"}; TextView mFortuneText;Button mGenerateFortuneButton;ImageView mFortuneBallImage;

    В этом небольшом отрезке кода вы установили 4 переменных для активности. Первая - строки, которые определяют возможные состояния, другие три - элементы UI, которые вы создали в макете/разметке.

    Теперь замените содержимое метода onCreate() следующими данными:

    // 1:super.onCreate(savedInstanceState);// 2:setContentView(R.layout.activity_main);Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);setSupportActionBar(toolbar);// 3:mFortuneText = (TextView) findViewById(R.id.fortuneText);mFortuneBallImage = (ImageView) findViewById(R.id.fortunateImage);mGenerateFortuneButton = (Button) findViewById(R.id.fortuneButton); // 4:mGenerateFortuneButton.setOnClickListener(new View .OnClickListener() {@Overridepublic void onClick(View view) {// 5:int index = new Random ().nextInt(fortuneList.length);mFortuneText.setText(fortuneList);// 6:YoYo.with(Techniques.Swing).duration(500).playOn(mFortuneBallImage);}});

    • Проверьте, что активность готова (реализация суперкласса).
    • Укажите, что макет для данной активности представлен макетом, который вы создали ранее, проверьте панель инструментов.
    • Заполните значения трех переменных, которые вы создали прежде в компонентах views макета с помощью метода findViewById. Значение id то же, что и в макете XML.
    • Добавьте OnClickListener на кнопке. Это простой класс, который инкапсулирует (упаковывает) функциональность, которую, в свою очередь, вызывает нажатие кнопки.
    • Выберите произвольный вариант из набора fortuneList для данного приложения, и обновите текст fortune text, чтобы это показать.
    • Используйте библиотеку сторонних разработчиков, чтобы добавить зависимость в файл gradle, и таким образом добавить анимацию в приложение.

    Уже почти готово. Но нужно убрать плавающую кнопку. Перейдите в res / layout и откройте activity_main.xml.

    В этом файле макета содержится ссылка на content_main.xml, который вы прежде редактировали. Он по умолчанию определяет контент (тулбар и плавающая кнопка действия). Однако в данном конкретном приложении (Fortune Ball) плавающая кнопка не нужна. Поэтому уберите следующий блок кода из xml-файла:

    Теперь в правом нижнем углу нет плавающей кнопки.

    Задайте вопрос (What’s my fortune?) - нажмите кнопку. Проверьте работу приложения.

    Android Monitor

    В Android Studio содержится широкое множество инструментов. Откройте вкладку Android Monitor в нижней части окна Android Studio.

    Здесь вы найдете множество опций для разработчика.

    • Камера и кнопка play слева позволяют делать скриншоты и записывать видео.
    • Увеличительное стекло открывает ряд дополнительных опций, например анализ памяти приложения.
    • Layout Inspector предоставляет визуальный интерфейс, который определяет, почему интерфейс приложения выглядит определенным образом.

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

    Проверьте, что вы выбрали Show only selected application в правом верхнем углу, как было показано на скриншоте выше. Теперь будут видны только сообщения вашего приложения.

    В MainActivity.java добавьте к списку импортов следующее:

    Import android.util.Log;

    В конце onCreate() в MainActivity.java добавьте следующую линию:

    Log.v("FORTUNE APP TAG","onCreateCalled");

    Log.v вызывает два параметра - тег и сообщение. В данном случае тег определен как “FORTUNE APP TAG”, а сообщение как “onCreateCalled”.

    Запустите приложение, чтобы видеть сообщение лога на панели Logcat.

    Отфильтруйте содержимое LogCat, впишите onCreateCalled в поисковую строку над консолью:

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

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

    Перейдите к MainActivity.java и измените следующую линию в onCreate():

    //mFortuneText = (TextView) findViewById(R.id.fortuneText);

    Запустите приложение. Кликните кнопку What’s My Fortune? Не работает!

    Как бы вы исправили ошибку, если бы не знали о наличии бага? В этом поможет Logcat.

    Перейдите к панели Logcat - она выглядит примерно так:

    Здесь много красного текста. В данном случае проблема в линии 50 в файле MainActivity.java. LogCat превратил эту ссылку в гиперссылку синего цвета. Если ее нажать, можно узнать, в чем проблема.

    Изменив mFortuneText = (TextView) findViewById(R.id.fortuneText), вы тем самым создали переменную, но не указали ее значение - отсюда исключение нулевого указателя. Вернитесь обратно и измените код, запустите приложение. В этот раз все работает гладко. Logcat - полезный инструмент для поиска ошибок.

    Share this article:

    Related Articles

    Учтите, что студия постоянно обновляется, поэтому внешний вид окон и другие детали могут отличаться от данного примера. Большинство уроков на сайте сейчас используют версию 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 .