Русскоязычная программа для создание приложений android. Создание программ и приложений для Android. Запуск на реальном устройстве

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

Предназначение мобильных приложений

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

Информационные;

Транзакционные;

Коммуникационные;

Мобильные версии компьютерного ПО - редакторы, просмотрщики, браузеры;

Аналитические приложения и планировщики;

Обучающие решения.

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

Информационные приложения

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

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

Транзакционные приложения

Транзакционные приложения предназначены для осуществления оплаты различных товаров и услуг, приобретаемых через интернет. Данные типы ПО могут выпускаться банками, платежными системами. Стоит отметить, что наиболее сложные по структуре и коду — во многих случаях именно транзакционные мобильные приложения. Как создавать их и, что самое главное, адаптировать к требованиям законодательства, знает только самый высококвалифицированный специалист.

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

Коммуникационные приложения

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

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

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

Мобильные версии компьютерного ПО

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

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

Аналитическое ПО и планировщики

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

Обучающие программы

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

Разработка мобильных приложений самостоятельно: структура ПО

Как создать мобильное приложение самостоятельно? Для успешного решения данной задачи разработчику прежде всего следует определиться с оптимальной структурой создаваемой программы для мобильного устройства. Вне зависимости от предназначения ПО, оно будет состоять из 2 основных компонентов: модуля front-end и back-end. Первый представляет собой интерфейсы, посредством которых возможности приложения будет задействовать пользователь. Второй модуль отвечает за прием и передачу данных в рамках взаимодействия соответствующего ПО и пользователя (в ряде случаев — также разработчика, если, к примеру, с его стороны требуется предоставление тех или иных обновлений или обратной связи).

Каким может быть интерфейс приложения?

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

Навигационные опции, с помощью которых пользователь сможет получать доступ к тем или иным данным;

Блок обратной связи с продавцом или поставщиком;

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

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

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

приложений: инструменты

Изучим теперь ряд практических нюансов разработки рассматриваемых решений. Вопрос о том, как самому создать мобильное приложение, может быть решен с помощью удобных конструкторов, которые на рынке соответствующего ПО представлены в достаточно большом количестве. В частности, можно обратить внимание на такие решения, как: MobiCart, BusinessApps, My-Apps, Net2Share. Все они представлены в формате облачного ПО, и доступ к ним можно получить с любого устройства через интернет. Рассмотрим то, как создать мобильное приложение, задействуя возможности указанных программ, подробнее.

Инструменты для разработки приложений: MobiCart

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

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

Инструменты для создания мобильных приложений: BusinessApps

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

Интерфейсы для обмена сообщениями, добавление товаров в корзину;

Организацию переговоров между поставщиком и покупателем товара;

Новостной блок.

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

Инструменты разработки приложений: My-Apps

Данный конструктор, в свою очередь, является бесплатным. Задача "как создать мобильное приложение для iPhone или Android с его использованием" может быть решена при задействовании 10 шаблонов, которые адаптированы для обеспечения коммуникаций с потребителями предприятий в широком спектре сфер бизнеса. В числе наиболее примечательных возможностей рассматриваемого сервиса — оперативное опубликование приложения в крупнейших каталогах — App Store и Google Play.

Инструменты разработки приложений: Net2Share

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

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

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

Изучить новый язык и среду разработки - это минимум, что от тебя потребуется, если ты захочешь написать свое первое мобильное приложение. Чтобы с пониманием набросать элементарный 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. Нужно ли говорить, какие перспективы появляются у проекта при поддержке в лице такого гиганта?

В статье описаны основные трудности создания приложений под Android.
Рассматриваются базовые понятия программирования Android.
Для примера описано создание игры Sudoku из книги Hello, Android – Ed Burnette .
Осторожно много скриншотов.

1. Трудности разработки

Android это уникальная операционная система. Разработчик приложений должен знать ее особенности и нюансы для получения хорошего результата. Существуют некоторые трудности, которые нужно учитывать при разработке (). Перечислим их кратко:
1) Приложение требует для установки в два раза (или даже в четыре) больше места чем оригинальный размер приложения.
2) Скорость работы с файлами на встроенной флэшке падает в десятки раз при уменьшении свободного места.
3) Каждый процесс может использовать до 16 Мб (иногда 24 Мб) оперативной памяти.

2. Принципы разработки производительных приложений под Android

Для работы нужен Android SDK и Eclipse. О том как все установить и начать написано .

Для загрузки проекта в Eclipse ножно выполнить такую последовательность действий:
1) Разархивировать проект в отдельную папку в рабочем пространстве Eclipse.
2) Выбрать пункт меню File->New->Android Project.
3) В диалоге New Android Project выбрать опцию Create project from existing source.
4) В поле Location указать путь к папке с проектом. Нажать Next.

Меню программы

Игровое меню описано в файле res/layout/main.xml. Описание интерфейса можно редактировать в виде XML или в виде визуализированного интерфейса. Для переключения служат вкладки внизу области отображения содержимого.

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

Ресурсы

Обратите внимание, что все текстовые надписи (android:text) берут данные из ресурсов. Например, запись android:text="@string/main_title" указывает, что текст нужно искать в файле res/values/string.xml в узле с именем main_title (Android Sudoku). Цвет фона также содержится в ресурсах (android:background="@color/background") но в файле color.xml (#3500ffff). При открытии файлов ресурсов в редакторе может возникнуть ошибка. Но всегда можно перейти к отображению XML.

Элементы управления к которым нужно получить доступ из кода должны иметь id. У кнопок есть id (android:id="@+id/continue_button") для того что бы было можно присоединить к кнопке обработчик нажатия. Знак плюс указывает, что для кнопки нужно создать идентификатор в файле /gen/org.example.sudoku/R.java (public static final int continue_button=0x7f0b000b;). Этот файл генерируется автоматически и не рекомендуется его изменять. Файл содержит класс R через него можно обратиться к любому элементу интерфейса и другим ресурсам.

Создание окон

Рассмотрим создание окна с информацией о программе. Разметка этого окна находится в файле /res/layout/about.xml. Activity класс описан в файле /src/org.example.sudoku/About.java. Activity связана с разметкой в файле AndroidManifest.xml. Этот файл можно просматривать или через редактор или в виде XML. На разных вкладках редактора можно выбрать различные разделы файла. В разделе Application находятся параметры Activity. Обратите внимание, что параметр Theme имеет значение :style/Theme.Dialog. Благодаря этому стиль окна больше похож на модальный диалог.

Вызов окна с информацией о программе осуществляется из класса Sudoku по нажатию кнопки About. Класс Sudoku написан так, что сам обрабатывает событие Click (public class Sudoku extends Activity implements OnClickListener). В методе public void onClick(View v) определяется какая кнопка вызвала событие и выполняется соответствующий код. Для показа окна About вызывается соответствующий Intent.
case R.id.about_button:
Intent i = new Intent(this, About.class);
startActivity(i);
break;

Обработчики событий также могут устанавливаться на конкретные элементы управления. Например в классе Keypad при создании класса в методе setListeners() устанавливаются обработчики для отдельных кнопок.

Простой диалог

Пользователю нужно дать возможность выбрать уровень сложности. Это маленький диалог, в котором нужно выбрать один из нескольких вариантов. Очень радует, что для этого не нужно создавать отдельный Intent, а достаточно воспользоваться классом AlertDialog.
Разберем процес старта новой игры. Пользователь нажимает на кнопку New Game. Обработчик нажатия это метод класса Sudoku – onClick. Далее вызывается метод openNewGameDialog, который показывает диалог выбора сложности и стартует игру с выбранным уровнем сложности. Это диалог строится с помощью класса AlertDialog.

Private void openNewGameDialog() { new AlertDialog.Builder(this) .setTitle(R.string.new_game_title) .setItems(R.array.difficulty, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialoginterface, int i) { startGame(i); } }) .show(); }

Обратите внимание, что содержимое диалога (набор кнопок) строится из массива строк R.array.difficulty. Тут же назначается обработчик нажатия на кнопки диалога, который по номеру нажатой кнопки запускает новую игру с заданным уровнем сложности, вызывая метод startGame.

Графика

За игровую логику отвечает класс Game. Тут загружаются задания, проверяются условия выигрыша. Класс Game есть Activity но интерфейс описан не в XML, а создается кодом. В методе onCreate создается View:

PuzzleView = new PuzzleView(this);
setContentView(puzzleView);
puzzleView.requestFocus();

PazzleView это класс производный от View, в нем рисуется игровое поле и происходит обработка событий касания экрана (метод onTouchEvent) и нажатия клавиш (метод onKeyDown).

Разберем процесс рисования в Android. Для рисования нужно перегрузить метод onDraw. Метод получает объект Canvas через который осуществляется рисование. Для задания цветов создаются обьекты класса Paint. Цвет задается в формате ARGB. Цвет лучше хранить в виде ресурсов (файл colors.xml). Paint это не только класс для хранения информации о цвете. Например при рисовании текста он содержит информацию о способе закрашивания, шрифте и выравнивании текста.

Canvas содержит набор методов для рисования графики (drawRect, drawLine, drawPath, drawText и другие).

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

Музыка

Для воспроизведения музыки используется класс MediaPlayer. Музыка для игры добавлена в ресурсы. Нужно просто скопировать нужные файлы в папку /res/raw (форматы WAV, AAC, MP3, WMA, AMR, OGG, MIDI).
Для начала нужно создать экземпляр класса MediaPlayer:
mp = MediaPlayer.create(context, resource);
тут context это обычно класс, который инициирует запуск музыки, resource – идентификатор ресурса с музыкой. Для управления воспроизведением используют методы start, stop и release.

В игре музыка воспроизводится в главном меню (запуск из класса Sudoku) и в игровом процессе (запуск из класса Game). Для управления воспроизведением создан класс Music. Класс содержит статический экземпляр MediaPlayer, что позволяет не создавать отдельный проект для каждого запуска звукового ресурса.

В классах Sudoku и Game переопределены методы onResume и onPause, в которых запускается музыка при старте Activity и останавливается при деактивации.

Выводы

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

P.S. Большое спасибо пользователю

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 .

Android Studio

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

Но сначала нужно загрузить и установить Java Development Kit (JDK ) от Oracle . Найдите раздел «Java SE Development Kit 7u79 » и загрузите версию для своего ПК. Важно загрузить правильную версию (32-разрядную или 64-разрядную ), иначе Android Studio не сможет найти Java Runtime Environment (JRE ).

Примечание: Oracle не будет публиковать на своих общедоступных сайтах какие-либо обновления Java SE 7 , и предполагается, что пользователи массово перейдут на Java 8 . Но в настоящий момент Android Studio требует наличия Java 7 . Это может измениться в будущем.

После того, как вы установили JDK , нужно инсталлировать Android Studio . Во время установки необходимо указать, сколько памяти зарезервировать для эмулятора Android . Он запускает Android в виде виртуальной машины, как смартфон с процессором Intel . Это быстрее, чем эмуляция процессора ARM на ПК. Но для запуска этой виртуальной машины эмулятор должен выделить некоторый объем памяти. Но перед тем как создать приложение для Андроид самому, имейте в виду, что сочетание Android Studio , Java и эмулятора будет довольно ресурсоемким, и компьютер может подтормаживать.

Google говорит, что необходимо как минимум 2 ГБ оперативной памяти, а рекомендуется 4 ГБ. Но мой основной ПК имеет 8 ГБ, и все равно иногда тормозит:

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

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

Создаем новый проект

Нажмите «Start a new Android Studio project » и введите название своего приложения в поле «Application name ». В поле «Company Domain » введите официальный домен вашей компании. Если вы независимый разработчик или любитель, введите собственный домен. Если вы просто экспериментируете с Android и не собираетесь в ближайшее время публиковать свои приложения в Google Play , просто оставьте пример домена, только измените «user » на ваше имя (без пробелов ):


В следующем диалоговом окне проверьте, чтобы у вас выбрана опция «Phone and Tablet », а для «Minimum SDK » установлено — API 15: Android 4.0.3. Для опций «Wear » и «TV » флажки не должны быть установлены.

В диалоговом окне «Add an activity to Mobile » оставьте значение по умолчанию «Blank Activity » и нажмите «Next ». В диалоговом окне «Customize the Activity » оставьте все значения и нажмите «Finish »:


Интегрированная среда разработки (IDE ) запущена. Это может занять несколько минут (особенно, если вы впервые создали проект ). Если при запуске IDE увидите сообщение об ошибке «Rendering Problems: Rendering failed with known bug », нажмите ссылку «rebuild », которая отображается рядом с сообщением об ошибке.

По умолчанию, рабочее пространство среды IDE делится на три основные части (не считая панели инструментов и т. д. ). Слева сверху находится дерево проекта. Справа от него — редактор кода, а под ними сообщения.

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

Дерево проекта

Дерево проекта содержит все файлы и ресурсы, необходимые для создания Android-приложения . Если вы знакомы с написанием простых программ на Java , C , Python и т. д., то могли бы подумать, что все будет содержаться только в одном или двух файлах. Но разработка Android-приложений немного сложнее:


В узле «app » дерева проектов содержится несколько узлов (например, папки ), которые можно развернуть. Узлами верхнего уровня являются “manifests ”, “java ” и “res ”. Последний — это сокращение от “resources ”.

В “manifests ” располагается файл «AndroidManifest.xml », каждое приложение должно содержать его. Это XML-файл с информацией о приложении, включая его название. Часто добавляемым в этот файл элементом является список разрешений, необходимых для приложения. Для этого простого приложения не нужно здесь ничего менять.

В разделе «java » располагается Java-код приложения. Он будет находиться в подкаталоге, с именем com.example.user.myfirstapp . Это имя домена компании, которое вы ввели ранее, только наоборот, плюс название приложения. В этой папке находится файл MainActivity.java . Это точка входа в приложение и единственный файл Java , который нам понадобится.

Продолжаем создавать простое приложение для Андроид . В разделе «res » есть несколько папок для графики, меню и элементов пользовательского интерфейса. Нас интересуют «layout » и «values ». В папке «layout » находится файл под названием «activity_main.xml ». Это XML-файл , описывающий пользовательский интерфейс. Редактировать его можно двумя способами. Первый — непосредственное редактирование XML-кода , второй — использование встроенного дизайнера пользовательского интерфейса:


В папке «values » содержатся несколько XML-файлов . В данный момент наиболее важным для нас является strings.xml . Вместо того чтобы задавать в Java-коде строковые значения их принято помещать в файл «strings.xml », и мы можем ссылаться на них через идентификаторы. Преимущество заключается в том, что если строка используется несколько раз, ее можно изменить только один раз, и изменения вступят в силу во всех местах. Это также упрощает поддержку нескольких языков в приложении.

Чтобы создать приложение для Андроид самому, нужно будет изменить файлы MainActivity.java , activity_main.xml и strings.xml .

Написание приложения

Для нашего примера мы добавим кнопку с меткой «Tap Me! », изменим приветствие по умолчанию «Hello world! » на «Tap me if you dare! ». А также поменяем его, чтобы оно находилась в центре. И добавим код, чтобы при нажатии кнопки отображался текст «toast »!

Начнем с изменения текста приветствия и его выравнивания. Сначала найдите в дереве проекта файл «activity_main.xml » и дважды кликните по нему. Помните, что «activity_main.xml » — это файл, который содержит определение пользовательского интерфейса. В нижней части окна кода есть две вкладки: «Design » и «Text ». Перейдите на вкладку «Design ».

Теперь нажмите на текст «Hello world! », который показан в окне предварительного просмотра экрана смартфона. Если он слишком мал, используйте кнопку масштабирования (лупа со значком «плюс» ).

В окне свойств, расположенном справа от изображения телефона, прокрутите экран вниз до тех пор, пока не найдете надпись «layout: centerInParent ». Кликните по пробелу рядом с ней и выберите «horizontal ». После этого текст «Hello world! » переместится в центр:


Перед тем, как создать приложение для Android без навыков, изменим текст. Строка «Hello world! » хранится в файле «strings.xml » в разделе res-> values . Если вы дважды кликните по этому файлу, то увидите несколько строк XML , которые определяют строки, используемые приложением.

Найдите эту строку:

XMLSELECT ALL XMLSELECT ALL Hello world!

И измените ее на:

CSSELECT ALL CSSELECT ALL Tap me if you dare!

Мы изменили выравнивание приветствия и его текст. Теперь добавим кнопку. Вернитесь на вкладку «Design » файла «activity_main.xml », найдите в списке «Palette » слева от изображения смартфона пункт «Button » и нажмите на него. Теперь кликните где-нибудь под надписью «Tap me if you dare! ».

Дважды кликните по кнопке, чтобы изменить ее текст. В конце поля “text: ” расположена кнопка с тремя точками, нажмите на нее. В окне «Resources » нажмите «New Resource », а затем «New String Value… ». В поле «Resource name: » введите «tapme », а в поле «Resource value: » — “Tap me! ”. Затем нажмите «ОК ». Теперь у нас есть кнопка “Tap me! ”.

Последний шаг создания простого приложения для Андроид — добавить Java-код , который реагирует на нажатие кнопки. Один из элементов пользовательского интерфейса Android — это “toast. ”. Он предоставляет простое сообщение в небольшом всплывающем окне. Вы, несомненно, видели это. Например, в Gmail при выходе из электронной почты до отправки письма выводится сообщение «Сообщение сохранено в черновики ». Спустя определенное время оно исчезает.

Для нашего примера приложения мы будем отображать сообщение каждый раз, когда нажимается кнопка. Первым шагом является добавление Java-кода . Найдите файл «MainActivity.java » и добавьте следующий код в «onCreate «:

JAVASELECT ALL JAVASELECT ALL public void onButtonTap(View v) { Toast myToast = Toast.makeText(getApplicationContext(), "Ouch!", Toast.LENGTH_LONG); myToast.show(); }

Слово «View » во фразе «(View v )» будет красным, рядом с ним отображается сообщение, что вы использовали новую конструкцию (View ), не импортируя ее в разделе импорта, в верхней части Java-кода . Это легко исправить. Нажмите на слово «View », а затем ALT + ENTER . Если слово “Toast ” отмечено красным цветом, проделайте то же самое еще раз:


Вернитесь в раздел конструктора файла «activity_main.xml », нажмите кнопку и прокрутите список свойств до пункта «onClick ». Нажмите на поле справа, и на экране появится список функций. Кликните по «onButtonTap », это функция, которую мы только что добавили.

Теперь функция onButtonTap() будет вызываться всякий раз, когда будет нажиматься кнопка. Чтобы вывести сообщение, мы вызываем myToast.show() .

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

Построение и тестирование приложения

В меню «Tools » перейдите к Android- AVD Manager . Этот инструмент отображает список текущих настроенных виртуальных Android-устройств . У вас будет одно устройство, настроенное по умолчанию, возможно, Nexus 5 . Нажмите на значок воспроизведения (треугольник ) в столбце «actions ». Это запустит эмулятор.