Как сделать приложении для телефона. Приложения для разработки приложений: как сделать приложение для iOS и Android самостоятельно

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

Идея

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

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

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

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

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

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

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

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

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

Разработка

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    FAQ

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

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

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

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

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

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

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

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

    Ресурсы

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

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

    Дизайн

    Рассылки

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

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

    Инструменты

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Приветствую вас, уважаемые любители операционной системы Андроид (Android). В сегодняшней статье я постараюсь максимально полно осветить очень интересную тему – подборку инструментов для создания своего приложения (онлайн) для гаджетов на базе, популярной, операционной системы Android.

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

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

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

    • Удобство использования . Так как пользоваться таким инструментом будут, в основном, люди не знакомые с программированием и сложными элементами, то главный упор, в этой небольшой подборке, был сделан на удобство и простоту использования предложенных инструментов;
    • Интуитивно понятный интерфейс . Этот пункт и условие логически вытекает из предыдущего. Помимо того, что интерфейс инструмента создания приложений для ОС Андроид (Android) должен быть простым, он еще должен быть интуитивно-понятным;
    • Возможности . Чем больше различных вещей “умеет” делать инструмент – тем лучше. По сути, все представленные приложения имеют один и тот же набор инструментов, с небольшими различиями и изменениями.

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

    TheAppBuilder

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

    • Большой выбор шаблонов для создания вашего Андроид (Android) приложений. Если вы хотите сделать простую программку, то из предложенных вариантов шаблонов вы без труда подберете нужный;
    • Возможность просматривать подробную статистику по созданному вами приложению;
    • Простая и понятная публикация, созданного вами, приложения в Google Play.

    AppsGeyser


    Еще один хороший, качественный инструмент заслуживающий пристального внимания. Как я уже говорил выше, чтобы создать )) вам не понадобится уметь программировать под Андроид (Android), в данной программе все настолько просто, что создать приложение для своего проекта вы сможете за несколько минут, просто собрав его из частей “конструктора”. Ниже, вы можете ознакомиться с возможностями предложенного инструмента :

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

    AppsMakerstore




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

    • Возможность работать с конструктором в режиме онлайн;
    • Есть возможность зарегистрировать бесплатный аккаунт;
    • Большой архив шаблонов для вашего Android (Андроид) приложения, написать необходимое приложение сможете в два клика мышкой.

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

    Операционная система 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


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

    В статье описаны основные трудности создания приложений под 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. Большое спасибо пользователю



Просмотров