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

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

Стоит ли делать свое мобильное приложение

Стоит. Если не верите на слово, вот несколько фактов:

  • По данным Flurry Analytics и comScore, владельцы смартфонов и планшетов пользуются браузером только 14 % от общего времени работы с девайсом. А 86 % времени они тратят на разные приложения.
  • Установленное приложение - ваш прямой канал связи с потребителем. Только подумайте: вам не нужно тратить деньги на рекламу или ждать, когда человек найдет вас с помощью «Яндекса». Остается поддерживать нужную пользователю функциональность и предоставлять ему релевантный контент.
  • Число покупок, сделанных с помощью планшетов и смартфонов, растет как в интернете в целом, так и в рунете. По информации маркетингового агентства Criteo , уже в 2016 году более половины онлайн-транзакций в рунете будут совершаться с помощью мобильных девайсов.

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

В таком случае, стоит ли рисковать и предлагать лояльным клиентам DIY-приложения, а не сделанные профессионалами штучные программы для Android и iOS? Давайте разбираться.

Когда можно создать приложение самостоятельно

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

Вы помните, когда бизнесу можно самостоятельно сделать сайт? Правильно, когда денег на сотрудничество с профессионалами еще нет, а время и желание разобраться с WordPress или «Джумлой» есть. Такая же ситуация с приложениями. Созданные самостоятельно программы для iOS и Android можно условно сравнить с сайтами на «движках» с открытым кодом.

Чтобы начать работать, регистрироваться не придется. Нажмите кнопку Create Now на главной странице или выберите меню Create App в правом верхнем углу на любой странице сервиса.


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

  • Manual . Этот шаблон позволяет сделать программу-гайд.
  • Blog . Приложение поможет аудитории вашего блога читать новые заметки с экрана смартфона или планшета.
  • Website . Шаблон конвертирует в приложение сайт.
  • Pages . С помощью этого шаблона можно сконвертировать в приложение с простой функциональностью любой контент.
  • News . Шаблон позволяет создать приложение агрегатор отраслевых или региональных новостей.
  • Page . Шаблон конвертирует в приложение офлайн-контент, например, электронную книгу.
  • VK Page и Facebook Page . Создайте приложение, позволяющее следить за обновлениями открытых групп во «Вконтакте» и в Facebook.
  • YouTube . Используйте шаблон для продвижения своего канала на YouTube.

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

Воспользуйтесь шаблоном Blog. В соответствующем поле укажите URL блога или RSS-канала. Выберите цвет заголовка заметок.


Укажите название приложения.


Добавьте описание.


Выберите стандартную или добавьте произвольную иконку. Подходящий размер изображения - 512 на 512 пикселей.


Для создания загрузочного файла нажмите кнопку Create App. После этого необходимо зарегистрироваться в системе. Подтвердите регистрацию и перейдите в личный кабинет. Здесь вы можете установить приложение на свое мобильное устройство, опубликовать его в Google Play и Amazon App Store. Также система предлагает опцию монетизации. Если вы воспользуетесь этой функцией, в приложении будет отображаться реклама.


Проверьте, как работает приложение на вашем мобильном устройстве. На планшете программа должна отображать список публикаций в блоге в формате заголовка и анонса.

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

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


После редактирования контента укажите название приложения, добавьте описание и иконку. Нажмите кнопку Create App. После создания загрузочного файла установите его на мобильное устройство и проверьте работоспособность.

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


8 конструкторов аналогичных AppsGeyser

Если универсальный конструктор AppsGeyser вам не подошел, обратите внимание на аналогичные сервисы:

  • AppsMakerStore . С помощью сервиса можно создавать приложения разных типов: от программ для Ecommerce до решений для контент-проектов. Конструктор делает приложения для iOS и Android. Интерфейс сервиса русифицирован. Для новичков есть информативное руководство по использованию конструктора. Сервис платный.
  • . Бесплатный конструктор Android-приложений. Вы можете публиковать созданные программы в Google Play и монетизировать с помощью рекламы.
  • Appery . Платный конструктор для создания универсальных приложений. Вы можете оценить его функциональность, воспользовавшись бесплатным тестовым периодом доступа.
  • Good Barber . С помощью этого сервиса можно разрабатывать Android- и iOS-приложения. Конструктор платный, стоимость использования составляет 16 USD в месяц.

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

Конструкторы приложений: каменный топор или тонкий современный инструмент?

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

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

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

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

Свяжитесь с нами Обсудим? Закажите бесплатную консультацию

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

Из-за стремительного развития платформы Андроид, некоторые функции описанных программ могут меняться, поэтому для уточнения каких либо деталей пишите в комментариях. Последняя редакция — 20.01.2018.

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

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

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

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

Четыре способа как сделать приложение для Андроид самому

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

Все программы, представленные здесь подбирались по таким критериям:

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

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

App Builder — простой инструмент для создания приложений

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

Возможности программы

  • Представлен огромный выбор шаблонов для того, чтобы создать приложение. Если у вас в задумке какое-то простое приложение, то эта программа с легкостью поможет подобрать шаблон;
  • После создания приложения, можно будет следить за его статистикой;
  • Если вы создадите приложение и оно пройдет проверку, то его можно просто и довольно понятно разместить в магазине Google Play.

AppsGeyser — сайт для создания качественных приложений на Андроид своими силами

Официальный сайт — https://www.appsgeyser.com

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

Преимущества AppsGeyser

  • Приложение пишется довольно быстро, буквально в пару кликов;
  • Оно позволяет создать простые игры для Android, ведь согласитесь, что не каждый инструмент сегодня может это сделать;
  • После того как приложение будет готово, его с легкостью можно будет разместить в магазине Гугл Плей;
  • Кроме этого, можно монетизировать вашу программу непосредственно через сервис AppsGeyser. Это полезная функция, ведь проявив свою фантазию, вы можете еще и заработать на этом;
  • Создавайте, редактируйте, публикуйте приложение в онлайн режиме в личном кабинете (чтобы сохранились результаты).

IbuildApp — мощный движок для разработки собственных проектов

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

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

Русский официальный сайт — https://russia.ibuildapp.com

Давайте посмотрим, на что оно способно:

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

AppsMakerstore — платформа создания простых программ

Официальный сайт — https://appsmakerstore.com

Четвертая крутая платформа которая разработана для создания Android приложений. Наверно одним из самых главных преимуществ является то, что с помощью сайта AppsMakerStore можно создавать программы которые будут мультиплатформенными (к примеру, на Андроид, iOS и Windows Phone)

Давайте рассмотрим преимущества платформы:

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

Видео инструкция по созданию приложения с помощью APK Creator


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

Изучить новый язык и среду разработки - это минимум, что от тебя потребуется, если ты захочешь написать свое первое мобильное приложение. Чтобы с пониманием набросать элементарный todo list для Android или iOS, не передирая пример из книжки, уйдет не меньше пары недель. Но можно не осваивать Objective-C или Java и при этом быстро разрабатывать приложения для смартфонов, если использовать такие технологии, как PhoneGap.

Если ты внимательно изучал нововведения, которые ожидают нас в Windows 8, то, возможно, заметил, что под ней можно будет разрабатывать приложения на HTML5. Идея, на самом деле, не новая - технологии, реализующие тот же подход для мобильных платформ, развиваются семимильными шагами. Одним из таких фреймворков, позволяющим разрабатывать приложения для смартфонов с помощью связки привычных для нас HTML, JavaScript и CSS!, как раз и является PhoneGap. Написанное с его помощью приложение подойдет для всех популярных платформ: iOS, Android, Windows Phone, Blackberry, WebOS, Symbian и Bada. Тебе не нужно будет изучать особенности программирования под каждую платформу (например, Objective-C в случае с iOS), разбираться с различными API и средами разработки. Все, что потребуется для создания кросс-платформенного мобильного приложения, - это знание HTML5 и специального PhoneGap API. При этом на выходе получится не тупая HTML-страница, «обрамленная» в интерфейс приложения, нет! API фреймворка позволяет задействовать практически все возможности телефона, которые используются при разработке с помощью нативных инструментов: доступ к акселерометру, компасу, камере (запись видео и фотосъемка), списку контактов, файловой системе, системе нотификаций (стандартных уведомлений на телефоне), хранилищам и т. д. Наконец, такое приложение может безболезненно обращаться к любому кросс-доменному адресу. Ты можешь воссоздать нативные элементы управления с помощью фреймворков вроде jQuery Mobile или Sencha, и конечная программа будет выглядеть на мобильном телефоне так, как будто она написана на нативном языке (ну или почти так). Лучше всего проиллюстрировать вышесказанное на деле, то есть написать приложение, поэтому предлагаю сразу приступить к практике. Засекай время - на все про все уйдет едва ли больше получаса.

Что мы будем создавать

В качестве целевой платформы возьмем iOS - да-да, деньги лежат в AppStore, и монетизировать свои разработки пока лучше всего там:). Но сразу внесу ясность: все то же самое, без изменений, можно провернуть, скажем, для Android. Долго думал, какой пример рассмотреть, так как писать очередную тулзу для учета списка дел совершенно не хотелось. Поэтому я решил создать приложение под названием «Геонапоминалка», навигационную прогу, назначение которой можно описать одной фразой: «Сообщи мне, когда я снова тут окажусь». В AppStore есть немало утилит, которые позволяют «запомнить» место, где пользователь припарковал машину. Это почти то же самое, только чуть попроще. Ты сможешь указать на карте города точку, задать для нее определенный радиус и запрограммировать сообщение. Когда ты в следующий попадешь в пределы окружности с указанным радиусом, приложение выдаст тебе уведомление, а точка будет удалена. Будем действовать по такому плану: сначала создадим простое веб-приложение, проверим его в браузере, а затем перенесем с помощью PhoneGap на платформу iOS. Очень важно написать в прототипе и протестировать в браузере на компьютере основную часть кода, поскольку отлаживать приложение в телефоне гораздо сложнее. В качестве каркаса мы возьмем JS-фреймворк jQuery c jQuery Mobile (jquerymobile.com), а в качестве движка карт - Google Maps v3. Приложение будет состоять из двух страниц: карты и списка точек.

  • На карте устанавливается маркер твоего текущего положения. По клику на карте создается точка, к которой привязывается сообщение (вроде «машина рядом»). Точку можно удалить, кликнув на ней. Для перемещения маркера человека по карте используется геонавигационный API.
  • На странице со списком точек должна иметься дополнительная кнопка «Удалить все точки», а рядом с каждой точкой - кнопка «Удалить эту точку». Если кликнуть по элементу в списке, соответствующая точка отобразится на карте. Настройки пользователя и список точек будем сохранять в localStorage.

UI-фреймворки

jQuery Mobile - это, конечно, не единственный фреймворк для создания мобильного интерфейса. На сайте PhoneGap приведен огромный список библиотек и фреймворков, которые ты можешь использовать (phonegap.com/tools): Sencha Touch, Impact, Dojo Mobile, Zepto.js и др.

Каркас приложения

Сразу объясняю, зачем мы будем использовать jQuery Mobile. Эта JS-библиотека предоставляет нам уже готовые элементы интерфейса мобильного приложения (максимально приближенные к нативным) для самых разных платформ. Нам ведь надо, чтобы на выходе было именно мобильное приложение, а не страничка из браузера! Так что качаем последнюю версию JQuery Mobile (jquerymobile.com/download) и переносим в рабочую папку первые файлы приложения, которые нам понадобятся:

  • images/ (перенеси сюда все изображения из одноименной папки архива jq-mobile);
  • index.css;
  • index.html;
  • index.js;
  • jquery.js;
  • jquery.mobile.min.css;
  • jquery.mobile.min.js.

Нужно сделать ресурсы в основном локальными, чтобы пользователь в будущем не тратил мобильный интернет. Теперь создаем каркас страниц в файле index.html. Приведенный ниже код описывает верхнюю часть страницы с картой, надписью «Геонапоминалка» и кнопкой «Точки».

Страница с картой

Геонапоминалка

Точки

Атрибут страницы data-dom-cache=»true» необходим для того, чтобы она не выгружалась из памяти. Для кнопки «Точки» используется data-transition=»pop», чтобы страница «Список точек» открывалась с эффектом «Всплытие». Подробнее о том, как устроены страницы jQuery Mobile, можно почитать в хорошем мануале (bit.ly/vtXX3M). По аналогии создаем страницу со списком точек:

Страница со списком точек

Удалить все

Точки

Карта

Для кнопки «Карта» тоже пропишем data-transition=»pop», но добавим атрибут data-direction=»reverse», чтобы страница «Карта» открывалась с эффектом «Затухание». Те же атрибуты пропишем в шаблоне точки. Все, наш каркас готов.

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

Теперь надо отобразить карту, для чего мы возьмем стандартный API Google Maps, который используется миллионами разных сайтов:

Var latLng = new gm.LatLng(this.options.lat, this.options.lng); this.map = new gm.Map(element, { zoom: this.options.zoom, // Выбираем начальный зум center: latLng, // Устанавливаем начальный центр mapTypeId: gm.MapTypeId.ROADMAP, // Обычная карта disableDoubleClickZoom: true, // Отключаем автозум по тапу/двойному клику disableDefaultUI: true // Отключаем все элементы интерфейса });

Здесь Gm - это переменная, ссылающаяся на объект Google Maps. Параметры инициализации я хорошо закомментировал в коде. Следующий шаг - отрисовка маркера человечка на карте:

This.person = new gm.Marker({ map: this.map, icon: new gm.MarkerImage(PERSON_SPRITE_URL, new gm.Size(48, 48)) });

В качестве PERSON_SPRITE_URL используется адрес спрайта человечка из Google-панорам. Его статический адрес - maps.gstatic.com/mapfiles/cb/mod_cb_scout/cb_scout_sprite_api_003.png . Пользователь будет добавлять точки, кликая на карте, поэтому, чтобы их отрисовывать, мы будем слушать событие click:

Gm.event.addListener(this.map, "click", function (event) { self.requestMessage(function (err, message) { // Метод, возвращающий текст, введенный пользователем if (err) return; // Метод добавляет точку в список активных и // отрисовывает ее на карте self.addPoint(event.latLng, self.options.radius, message); self.updatePointsList(); // Перерисовываем список точек }); }, false);

Я привожу бОльшую часть кода - остальное ищи на диске. Дальше нам нужно научить приложение перемещать иконку пользователя по карте. В прототипе мы задействуем Geolocation API (тот, который используется в том числе в десктопных браузерах):

If (navigator.geolocation) { // Проверяем, поддерживает ли браузер геолокацию function gpsSuccess(pos) { var lat, lng; if (pos.coords) { lat = pos.coords.latitude; lng = pos.coords.longitude; } else { lat = pos.latitude; lng = pos.longitude; } self.movePerson(new gm.LatLng(lat, lng)); // Перемещаем иконку пользователя } // Каждые три секунды запрашиваем текущее // положение пользователя window.setInterval(function () { // Запрашиваем текущее положение navigator.geolocation.getCurrentPosition(gpsSuccess, $.noop, { enableHighAccuracy: true, maximumAge: 300000 }); }, 3000); }

Метод movePerson с помощью простой процедуры getPointsInBounds() проверяет, не находится ли пользователь в какой-нибудь активной точке. Последний вопрос - где хранить список точек? В HTML5 появилась возможность использовать localStorage, так что не будем ей пренебрегать (предоставляю тебе самостоятельно разобраться с этими участками кода, которые я хорошо закомментировал). Итак, приложение, работающее в браузере, готово!

Запуск веб-приложения

Как я уже говорил, отладку в основном необходимо выполнять на компьютере. Самый подходящий браузер для тестирования веб-приложений на компьютере - это Safari или Chrome. После отладки в этих браузерах ты можешь быть уверен в том, что твое приложение не «поедет» в браузере мобильного телефона. Оба этих браузера совместимы с большинством мобильных веб-браузеров, поскольку точно так же, как и они, построены на основе движка WebKit. После устранения всех багов можно переходить к запуску мобильного веб-приложения непосредственно на телефоне. Для этого настрой свой веб-сервер (пусть даже Denwer или XAMPP), чтобы он отдавал созданную страницу, и открой ее уже в браузере мобильного телефона. Приложение должно выглядеть примерно так, как показано на рисунке. Тут важно понимать, что будущее мобильное приложение, собранное для мобильной платформы с помощью PhoneGap, будет выглядеть почти один в один, за исключением того, что на экране не будет отображаться навигационная панель браузера. Если все хорошо, можно приступать к созданию из странички полноценного iOS-приложения. Заметь, что PhoneGap и IDE для мобильной разработки мы до этого момента даже не трогали.

Подготовка

Для того чтобы собрать приложение под iOS, тебе нужен компьютер с операционной системой Mac OS 10.6+ (или виртуальная машина на Mac OS 10.6), а также среда разработки Xcode с установленным iOS SDK. Если у тебя не установлен SDK, придется скачать с сайта Apple образ диска, включающий в себя Xcode и iOS SDK (developer.apple.com/devcenter/ios/index.action). Имей в виду, что образ весит около 4 Гб. Кроме этого, тебе понадобится зарегистрироваться на сайте Apple в качестве разработчика (если ты не собираешься публиковать свое приложение в AppStore, то это требование можно обойти). С помощью этого набора можно разрабатывать приложения на нативном для iOS языке Objective-C. Но мы решили пойти обходным путем и воспользоваться PhoneGap, поэтому нам еще нужно установить пакет PhoneGap iOS. Просто скачай архив с офсайта (https://github.com/callback/phonegap/zipball/1.2.0), распакуй его и в папке iOS запусти программу установки. Когда установка завершится, в меню проектов Xcode должна появиться иконка PhoneGap. После запуска придется заполнить несколько форм, но уже очень скоро ты увидишь рабочую область IDE с твоим первым приложением. Чтобы проверить, все ли работает, нажми кнопку Run - должен запуститься эмулятор iPhone/iPad с шаблонным приложением PhoneGap. Собранная программа выдаст ошибку с сообщением о том, что index.html не найден, - это нормально. Открой папку, в которой ты сохранил первичные файлы проекта, и найди в ней подпапку www. Перетащи ее в редактор, кликни на иконке приложения в списке слева и в появившемся окне выбери «Create folder references for any added folders». Если запустить программу еще раз, то все должно заработать. Теперь можно скопировать все файлы нашего прототипа в папку www. Пора подпилить наш прототип для работы на смартфоне в обработке PhoneGap.

Перенос прототипа

В первую очередь нужно подключить phonegap-1.2.0.js в твой индексный файл. PhoneGap позволяет ограничивать список доступных для посещения хостов. Предлагаю сразу настроить такой «белый список». В меню проекта открой Supporting Files/PhoneGap.plist, найди пункт ExternalHosts и добавь в него следующие хосты, к которым будет обращаться наше приложение (это сервера Google Maps): *.gstatic.com, *.googleapis.com, maps.google.com. Если их не указать, программа выдаст предупреждение в консоли и карта не отобразится. Для инициализации веб-версии нашего приложения мы использовали событие DOMReady или хелпер jQuery: $(document).ready(). PhoneGap генерирует событие deviceready, которое говорит о том, что мобильное устройство готово. Предлагаю этим воспользоваться:

Document.addEventListener("deviceready", function () { new Notificator($("#map-canvas")); // Если у пользователя нет интернета, // сообщаем ему об этом if (navigator.network.connection.type === Connection.NONE) { navigator.notification.alert("Нет интернет-соединения", $.noop, TITLE); } }, false);
Запретим скроллинг: document.addEventListener("touchmove", function (event) { event.preventDefault(); }, false);

Затем заменим все вызовы alert и confirm на нативные, которые предоставляет нам PhoneGap:

Navigator.notification.confirm("Удалить точку?", function (button_id) { if (button_id === 1) { // Нажата кнопка OK self.removePoint(point); } }, TITLE);

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

Navigator.geolocation.watchPosition(function (position) { self.movePerson(new gm.LatLng(position.coords.latitude, position.coords.longitude)); }, function (error) { navigator.notification.alert("code: " + error.code + "\nmessage: " + error.message, $.noop, TITLE); }, { frequency: 3000 });

Этот код более изящный - он генерирует событие только тогда, когда координаты изменились. Жмем кнопку Run и убеждаемся, что только что созданное нами приложение отлично работает в симуляторе iOS-устройства! Пора приступать к запуску на реальном устройстве.

Запуск на устройстве

Подсоедини iPhone, iPod или iPad к компьютеру, на котором запущен Xcode. Программа определит новое устройство и попросит разрешения использовать его для разработки. Нет смысла ей отказывать:). Повторю еще раз: чтобы запустить написанное приложение на iOS, необходимо быть авторизированным разработчиком iOS (другими словами, быть подписанным на iOS Developer Program). Этим придется заморочиться только в случае разработки приложений для продукции Apple, с другими платформами (Android, Windows Phone) все намного проще. У тех, кто обучается в вузе, есть шанс получить доступ к программе бесплатно благодаря каким-нибудь льготам. Все остальные должны платить $99 в год для участия в программе. Apple выдает сертификат, которым ты сможешь подписывать свой код. Подписанное приложение разрешается запускать на iOS и распространять в App Store. Если ты не студент, а $99 для невинных экспериментов тебе пока жалко, то есть и другой способ - обмануть систему. Ты можешь создать самоподписанный сертификат для верификации кода и запустить мобильную программу на джейлбрейкнутом iOS-устройстве (не буду на этом останавливаться, потому что все максимально подробно расписано в этой статье: bit.ly/tD6xAf). Так или иначе, ты вскоре увидишь работающее приложение на экране своего мобильного телефона. Останавливай секундомер. Сколько времени у тебя на это ушло?

Другие платформы

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

Appcelerator Titanium (www.appcelerator.com).

Titanium умеет собирать приложения в первую очередь под Android и iPhone, но в нем также заявлена поддержка BlackBerry. Кроме самого фреймворка, проект предоставляет набор нативных виджетов и IDE. Ты можешь разрабатывать приложения на Titanium бесплатно, однако за поддержку и дополнительные модули придется заплатить (от $49 в месяц). Цена некоторых сторонних модулей доходит до $120 за год. Разработчики Appcelerator Titanium утверждают, что на основе их фреймфорка написано более 25 тысяч приложений. Исходный код проекта распространяется под лицензией Apache 2.

Corona SDK (www.anscamobile.com/corona).

Эта технология поддерживает основные платформы - iOS и Android. Фреймворк нацелен в основном на разработку игр. Еще бы, ведь разработчики заявляют о высококачественной оптимизации на OpenGL. Бесплатной версии у платформы нет, а цена довольно-таки кусачая: $199 в год за лицензию для одной платформы и $349 в год для iOS и Android. Corona предлагает свою IDE и эмуляторы устройств. Приложения под Corona пишут на языке, похожем на JavaScript.

Заключение

Мы создали простое мобильное веб-приложение и в несколько простых шагов портировали его на платформу iOS с помощью PhoneGap. Мы не написали ни строчки кода на Objective-C, но получили программу приличного качества, потратив минимум времени на перенос и изучение API PhoneGap. Если ты предпочитаешь другую платформу, например Android или Windows Mobile 7, то ты так же легко, без каких-либо изменений под эти платформы, сможешь собрать наше приложение (для каждой из них есть хороший вводный мануал и видеоурок: phonegap.com/start). Чтобы убедиться в состоятельности платформы, можно посмотреть на уже готовые приложения на PhoneGap, которые разработчики технологии собрали в специальной галерее (phonegap.com/apps). По факту PhoneGap - это идеальная платформа для создания как минимум прототипа будущего приложения. Ее главными преимуществами являются быстрота и минимум затратат, чем активно пользуются стартапы, которые во всех отношениях ограничены в ресурсах. Если приложение попрет, а внутренности на HTML+JS тебя по какой-то причине перестанут устраивать, всегда можно будет портировать приложение на нативный язык. Не могу не сказать, что PhoneGap изначально разрабатывался компанией Nitobi как открытый проект (репозиторий располагается на GitHub: github.com/phonegap). Исходники и дальше будут оставаться открытым, хотя в октябре прошлого года компанию Nitobi купил Adobe. Нужно ли говорить, какие перспективы появляются у проекта при поддержке в лице такого гиганта?

Google Play, App Store, Windows Store полны самыми разнообразнейшими приложениями. Неверно предположить, что все это ассорти создано профессионалами различных уровней. Все больше и больше обычных пользователей создают удобные и простые приложения, совсем не имея навыков программирования. Где и как последовать их примеру, мы подробно расскажем далее, выбрав для примера программы смартфонов на базе Android.

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

Если вы решили создать Android-приложение без навыков программирования ради спортивного интереса, то можете смело переходить к разделу "Онлайн-конструкторы". Решившимся заняться этим делом для продвижения и популяризации своего бизнеса, творческого или делового проекта важно определить: достаточно ли им простого, созданного самостоятельно приложения или все же необходимо обратиться за помощью к опытным разработчикам.

Итак, когда оптимален данный вариант:

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

Каким должно быть приложение

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

Аудиторию привлекают приложения, которые соответствуют перечисленным пунктам:

  • безопасность;
  • бесперебойное функционирование;
  • удобная навигация;
  • личный кабинет;
  • наличие push-уведомлений;
  • информативность - ответ на все свои запросы человек должен находить внутри приложения.

Выбор конструктора приложений

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

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

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

Десятка лучших онлайн-конструкторов

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

1. Mobile Roadie. Один из старейших сервисов, которым пользуется Мадонна, "Цирк Солнца", зоопарк Сан-Диего. Больше всего ориентирован на шоу-бизнес, маркетинговые и PR-агентства. Через созданные проекты можно продавать билеты, перепрофилировать их под конкретное событие. Цена за пользование конструктором не символична: минимум 149$.

2. AppsBuilder. Как создать приложение для Android здесь - достаточно собрать его из готовых шаблонов. Кроме этого, в конструктор добавлены возможности для программистов. Создание одного приложения в месяц обойдется здесь в 49 евро.

3. Viziapps. Конструктор также предлагает готовые шаблоны для вашего приложения, а также возможность отправки с него сообщений на электронную почту, в Twitter, Facebook. Цена минимального месячного пакета: 33$.

4. iBuildApp. Конструктор для тех, кто ищет, как создать простое приложение для Android - с его помощью делаются мобильные программы-каталоги, брошюры, резюме. Помимо английской, доступна и русская версия. За 2 400 рублей в месяц клиент получает возможность трех тысяч установок своего приложения без встроенной рекламы.

5. My-apps.com. Работает и в русской, и в английской версии. Для создания собственного приложения здесь требуется порядка пяти минут, ведь достаточно выбрать только необходимые модули и дизайн программы. Минимальный пакет "Старт" обойдется в 599 рублей в месяц. В сумму входит конструктор приложений только для "Андроида", бесплатные шаблоны и иконки, обновление программы не чаще раза в два месяца.

6. AppGlobus. Российский конструктор доступнен на 8 языках. За 900 рублей в месяц предоставляются: конструирование приложений, панель администратора, отсутствие в проекте встроенной рекламы и ограничений на использование push-уведомлений, количество установок.

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

8. Appsmakerstore. Позволяет создавать приложения не только для "Андроида", но и еще для 5 платформ. Интерфейс на 23 языках, в т. ч. и на русском. Ключевая особенность конструктора: уже готовые шаблоны для различных проектов: торговли, салонов красоты, ресторанов и т. д. Месячное использование - 9,78$.

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

10. AppsGeyser. Конструктор предлагает бесплатную конвертацию содержимого сайта в мобильное приложение. Свои творения возможно продавать, а также размещать в них собственную рекламу.

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

Как создать приложение для Android: выбор шаблона в AppsGeyser

Для работы в этом конструкторе не требуется регистрация - достаточно кликнуть на главной странице на Creat now.

Создание приложения для блога в AppsGeyser

Итак, как создать мобильное приложение для Android самостоятельно блогеру:

  1. Выберите тип блога: RSS, "Тамблер", "Вордпресс" и т. д. Далее - его электронный адрес и цветовое решение для вашего будущего приложения.
  2. Теперь название создаваемой мобильной программы.
  3. В "Дискрипшн" поместите лаконичное и информативное описание приложения (хоть интерфейс на английском, вы можете вводить текст на кириллице).
  4. Выберите из предложенных вариантов логотип приложения или загрузите свой.
  5. Чтобы создать загрузочный файл своего проекта, следует нажать на Creat App. Для этого нужно обязательно пройти регистрацию в системе.
  6. В личном кабинете AppsGeyser вы можете загрузить свое творение на собственный смартфон, а также разместить его в магазине Google Play. Если вы активируете монетизацию, в приложении будет отображаться встроенная реклама, а вам за ее просмотры пользователями будет отсчитываться определенная плата.

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

Как создать приложение для Android формата "Гайд"

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

Делается это тоже в несколько простых шагов:

  1. Настройте цветовое решение мобильной программы и способ отображения шагов гайда: по одному или по несколько на активном экране.
  2. Редактор поможет загрузить вам необходимый текст, ссылки, видео или картинки, необходимые для наглядности. Для добавления фотографий воспользуйтесь хостингом Imgur. Скопируйте ссылку изображения на этом ресурсе в Image URL.
  3. В конце работы добавьте описание и логотип своего приложения, затем - клик на Creat App. Приложение создано - осталось проверить его работоспособность и выложить в Google Play.

Создание приложения для магазина

Разберем, как создать приложения для Android с нуля владельцам интернет-магазинов. Для примера будем использовать другой конструктор - Mobi Cart, специализирующийся на этой сфере. Сервис поддерживает русский язык, работает как в платном, так и в бесплатном режиме. Для последнего действует ограничение - добавление не более 10 товаров.

Итак, как создать приложение для Android:

  1. Первый пункт - регистрация. Далее в личном кабинете клик на Creat Application.
  2. Upload logo - загрузка логотипа вашего магазина. На этом этапе вы выбираете также цветовую тему приложения.
  3. Выбор вкладок, страниц, которые будут в вашем приложении: "Новости", "Мой кабинет", "Домашняя", "Магазин", "Контакты" и т. д.

Настройки магазина в Mobi Cart

Для настроек своего интернет-маркета кликните на Store Settings:

  1. Введите название, электронный адрес админа, валюту.
  2. Для использования "Гугл-карт" нужна регистрация ключа API - затем он копируется в окошко.
  3. Отметьте галочкой бесплатную доставку, если ваш магазин ее предлагает. Для наложенного платежа выберите размер наценки (если он равен, к примеру, 12 %, то в Cash On Delivery прописывается 1,12).
  4. В Shipping указывается стоимость доставки для определенного региона. Процесс этот трудоемкий, так как для каждого региона цена указывается вами вручную.
  5. В разделе Tax российские магазины указывают стоимость с включенным в нее НДС, поэтому отметьте галочкой здесь Prices to include tax.
  6. В Payments Gateway укажите платежные системы, с которыми вы работаете. Будьте внимательны - Mobi Cart не поддерживает популярные "Яндекс.Деньги".
  7. Languges - язык вашей мобильной программы. Русский не выставляется по умолчанию, поэтому вам необходимо прописать перевод предложенных команд вручную.
  8. App Vital - здесь указывается название программы и страны, жители которых смогут ее загружать.
  9. Images - логотип приложения, Home Gallery - картинка на главном экране.

Добавление информации о продукции в Mobi Cart

Следующий важный шаг: добавление линейки ваших продуктов в Store Builder. Это можно сделать любым удобным вам методом:

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

Для последнего способа используются два раздела: Departments и Products. Добавление осуществляется с помощью кнопки Add Product. Далее вводится его название, цена, категория, подробное описание.

Прочие полезные опции для магазина в Mobi Cart

Коснемся опций, которые могут оказаться полезны тому, кто интересуется, как создать приложение для Android самому:

  1. More Pages - информация, отображаемая на страничках программы.
  2. Push Notification - ручное создание push-уведомлений. Здесь можно выбрать отсылку как всем пользователям, так и определенным адресатам.
  3. News Tab - копирование новостей в одноименную вкладку из "Твиттера" или RSS-источников. Укажите здесь имя пользователя для первого и URL для второго.
  4. Publish News позволяет вам отправлять новости в приложение самостоятельно.

Перейдя в Create Application - Submit Apps, вы можете создать apk-файл (установочный), согласившись с лицензионным соглашением. При выборе платной версии ваше приложение автоматически загружается в Google Play, при бесплатной - вам предстоит это сделать самостоятельно через Play Console. Инструкции по регистрации в этой системе, а также по загрузке в нее собственного приложения Mobi Cart высылает вам на электронный почтовый ящик.

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

Как создать мобильное приложение в 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