Разработка для android на android


Программирование под Android. С чего начать.

Появилась необходимость написать проект под Android. Засел за гугл и пару дней шерстил интернет на предмет полезной информации. Вот результаты.Ресурсы GoogleAndroid SDK. Здесь есть все необходимые инструкции для начала работы - что скачать и где, как установить и настроить. Если кратко, то вам потребуются SDK, JDK (5 или 6), IDE Eclipse (версии 3.4 или 3.5) и ADT Plugin for Eclipse, который ставится прямо из Eclipse.

The Developer's Guide. Детальное руководство по разработке под Android от разработчиков платформы. Есть и русский перевод, но он пока далеко не полон.Android Training - серия уроков мастер-класса по разработке под Android. Блог разработчиков Android - кладезь полезной информации. Ниже я перечислю некоторые статьи, которые меня особо заинтересовали.

FAQ: Common Tasks and How to Do Them in Android

EclipseLars Vogel. Android Development Tutorial - Froyo - руководство по разработке приложений для Android на Eclipse. Детальное, с подробными картинками.

"С чего начать работу под Android" - как что настраивать, на русском и с картинками.

Update, март 2011. Внес и я свою лепту - постарался описать в отдельной статье процесс настройки Eclipse "от" и "до", включая генерацию цифровой подписи, автоматизацию сборки, подключение ProGuard и т.д.

Альтернативные IDEВместо Eclipse можно использовать коммерческую IDE IntelliJ IDEA 9 Ultimate Edition - плагин для Android в нее встроен. Update: в IntelliJ IDEA 10 плагин для android доступен и в бесплатной версии IDE.

Еще один вариант IDE - MOTODEV Studio for Android от компании Motorolla. IDE основана на Eclips. Подробнее можно прочитать в комментариях здесь.

Можно использовать и NetBeans IDE. Для этого потребуется скачать и установить соответствующий плагин NBAndroid. Правда, судя по всему, плагин пока довольно сыроват.

Update: до кучи ARM выпустила Development Studio 5 Community Edition — среду разработки для Android

Виртуальная машина DalvikВ Android реализована собственная виртуальная машина Java (JVM), отличная от стандартной. Называется - Dalvik. На InfoQ есть интересная статья об их отличиях. Если коротко, то Dalvik основана на регистрах (а не на стеке), Dalvik оптимизирована для параллельного запуска нескольких экземпляров виртуальной машины и каждое приложение работает в отдельном Linux-процессе, у Dalvik отличный байт-код(по веским причинам). Вот здесь можно почитать о Dalvik на русском.

Update: Доклад на Google I/O 2010, посвященный JIT-компилятору для Dalvik - A JIT Compiler for Android's Dalvik VM.

Языки программированияОфициальный язык программирования под Android - это Java 1.5. Кроме того, есть Android NDK, позволяющий разрабатывать критичные к производительности части Android-приложений на С и C++. Java и NDK - это по сути все, что предлагает Google.

Естественно, Java устраивает не всех. Появились и другие варианты разработки Android-приложений.

Прежде всего, это язык Scala, высокоуровневый скриптовый язык Hecl и диалект Lisp'а язык Clojure. Все они изначально были ориентированы на работу с JVM, так что их сравнительно быстро адаптировали и под Dalvik.

Можно программировать под Android на Rubby. Есть фреймворк Rhodes поддерживающий разработку под все типы смартфонов, включая Android, iPhone, Windows Mobile, RIM's BlackBerr и Symbian (на русском можно немножко почитать здесь, здесь и критика). Фреймворк бесплатен для разработки open-source приложений, разработка коммерческих приложений требует покупки лицензии.

Другой вариант программирования Ruby под Android - использование Rubotto. Это порт JRuby под Android. Совсем недавно вышел его первый публичный релиз. Впрочем, по словам разработчиков, это пока super-alpha, 0.01.

Третий вариант - воспользоваться Android Scripting Environment (ASE). ASE - это интерпретатор скриптовых языков, Помимо JRuby, он поддерживает Python, Perl, Lua, BeanShell, JavaScript, Tcl и shell.

Насчет .NET и Mono. Умельцам удалось запустить Mono на Android, однако о практическом применении такого трюка говорить пока не приходится. Разрабатывается коммерческое SDK Mono под Android - Monodroid, - которое позволит вести разработки приложений под Android на C# (поддержка VB в планах). В настоящее время проект находится на стадии закрытого бета-тестирования.

Библиотеку Qt тоже перетаскивают на Android. И, судя по всему, довольно успешно.

Статья в тему: Разработка под Android / Робот без кофеина.

JavaJava во многом схож по синтаксису с C# и C++. Тем, кто знает C# и/или C++, для изучения Java пригодятся следующие статьи: Википедия: сравнение C# и Java и Сравнение ОО языков C#, Java и C++ (PDF)

Первый проектСтатей на тему "как написать первый проект под Android" - вагон и маленькая тележка. Вот, на мой взгляд, неплохие:

Разработка интерфейса"User Interface Guidelines" - рекомендации от Google.Создание приложения в стиле Android - хорошая статья на хабре.DroidDraw - дизайнер пользовательского интерфейса для Android.

android ui utils - комплект приложений. Включает 1) набор шаблонов для прототипирования интерфейса Android-приложения с помощью Pencil GUI prototyping tool; 2) Android Asset Studio - набор инструментов для создания иконок для Android-приложений; 3) Набор шаблонов иконок, удовлетворяющих рекомендациями google

ТестированиеСсылки на тему тестирования Android приложений собраны в отдельной статье. Отладка приложенийКак использовать логгирование - Android – application debug logging. Существует утилита для удобной раскраски логов.

Инструменты обратного реинжиниринга/диассемблирования: android-apktool и dedexer.

Как отлаживать виджиты (нужно переключиться в DDMS режим и выбрать виджет-процесс для отладки).

Приложения можно отлаживать не только на эмуляторе, но и на Android x86. См. статьи на Хабре:Быстрая альтернатива эмулятору Android и Подробное руководство по установке Android-x86.

Защита Android-приложенийЗащита внедрена, защита взломана.Интересный блог, статья про SlideLock.

ТонкостиРазработка под Android, грабли большие и не очень. Толковая статья на хабре.

Примеры приложенийПримеры от разработчиков Android: List of Sample AppsКоллекция приложений на Google Code: Sample Applications for the Android platform

ВиджетыИнформация от разработчиков Android: блог, руководство разработчика.

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

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

Блог разработчиков AndroidБлог разработчиков Android содержит массу интересной информации. Вот некоторые интересные, на мой взгляд, статьи:Multithreading For Performance - мультипоточность как средство повышения производительности.Apps on SD Card: The Details - в Android 2.2 появилась возможность устанавливать приложения на SD-карты.Making Sense of Multitouch - о мультитач, жесты и куча примеров.Track memory allocations - как использовать DDMS для контроля списка созданных объектов.Window Backgrounds & UI Speed - как ускорить запуск вашего приложения.Introducing home screen widgets and the AppWidget framework - о виджитах, появившихся в SDK 1.5.

и так далее.

КонкурентыРазработка для Android vs Windows Mobile - интересная статья на Хабре ("Android SDK рвёт на куски Windows Mobile SDK").Исполнительный директор Nokia высказал отношение компании к платформе Android (статья на хабре)

Пишите в первую очередь под платформы которые популярны в США и не тратьте свои силы на остальные ("... в данное время никого из американских заказчиков не интересуют ни Windows Phone 7, ни Symbian, ни Bada, ни WebOS.")

ФорумыStackOverflow - сюда идти в первую очередь :)Android Forums - русское сообщество ОС Android.Форум "Мобильные устройства" на RSDN

КнигиНа английском: Reto Meier. Professional Android 2 Application Development (Wrox Programmer to Programmer) и другие.

На русском: Голощапов А. Google Android: программирование для мобильных устройств

Несколько книг - годовая подписка: The Busy Coders Guide to Advanced Android Development и др.

Update. отличная ссылка по теме: [Перевод] Android Development Tutorial

Update А вот еще ряд полезных ссылок, преимущественно с ХабраПродуктивность в Android — сторонние библиотеки (список полезных библиотек).

Разработка под Android / Реклама для вашего Android приложения (о способах монетизации).

Presentation:Beginning Android Development (видео).

Google / Получение денег с AdSense через Rapida Online на банковский счет (как получать деньги с Android Market).

Разработка под Android / [Из песочницы] Тестирование Android приложений (про тестирование пользовательского интерфейса в Android).

Разработка под Android / OpenGL — это просто!

What new Android developers need to know (что должен знать разработчик под Android - к каким вопросам нужно быть готовым на собеседовании, когда устраиваешься на работу).

Что нужно знать Android-разработчику (про монетизацию, политику Google, глюки маркета и т.д.)

Как выкачать исходники Android под Windows. Андроид живые обои. Как делать? / Разработка под Android / Хабрахабр

derevyanko.blogspot.ru

27 лучших конструкторов приложений для Андроид, iPhone и Windows Phone

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

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

1. My-apps

*Кликните на картинку, чтобы перейти на сайт.

Бесплатный конструктор для самостоятельной сборки приложений под ОС Android и iOS. Пользователям предлагается 10 готовых шаблонов под различные сферы бизнеса: служба такси, доставка еды, интернет-магазин, салон красоты, ресторан, отделение банка и т.д. После создания и настройки своего продукта, вы сможете легко опубликовать его в App Store / Google Play и сразу начать привлекать пользователей

2. Net2Share

Net2Share.com — полностью бесплатный конструктор Android приложений, который позволяет не только создавать приложения, но и зарабатывать на них посредством внутренней рекламы. Сервис предоставляет возможность публиковать приложения на корпоративный аккаунт Net2Share.com, а также, предоставляет бесплатные аккаунты Google Play самым активным пользователям. Также, данная компания регулярно проводит бесплатные обучающие семинары и вебинары по созданию и продвижению мобильных приложений.

3. FlipCat

FlipCat предлагает два варианта для присутствия вашего бизнеса на мобильных платформах, первый способ бесплатен и заключается в добавлении ваших товаров/услуг в единый каталог магазинов и службы доставки, речь идет о приложении, которое уже имеет солидное количество пользователей. Если же, только добавления на общую витрину гипермаркета вам не достаточно, то можно получить собственное отдельное приложение за 900 руб. в месяц, в данный тариф включены платформы iPhone и Android.

 

4. iBuildApp

Конструктор для приложений, совместимых с iOS и Андроид. Стоимость базового пакета обслуживания составляет $9,99 (на русской версии сайта – 490 рублей) в месяц. За последние два года на платформе разработано 45.000 мобильных программ. Все тарифные планы включают аналитику, инструменты для продвижения и техническую поддержку.

5. MobiumApps

Конструктор на Android, Apple iOS и Windows Phone. За одно нативное приложение вы заплатите 8700Р в месяц в случае безлимитного тарифа, либо 7 рублей за каждую установку.  В функционал входит корзина товаров, история заказов, прием платежей, отправка push-уведомлений и продвижение скидочными купонами. Среди клиентов сервиса довольно известные интернет-магазины: 220 Вольт, Alltime, Htc-online и др.

6. Apps4u

Абонентская плата за пользование платформой Apps4u (для Apple iOS и Android) составляет 1999 руб/мес в месяц. Сервис будет полезен не всем, только ресторанам, кафе и службам доставки еды, поскольку разрабатывался под такую узкую категорию малого бизнеса. В отличии от остальных универсальных конструкторов приложений, здесь разработчики сконцентрировались на чем-то одном, сделав исключительный функционал: меню, заказа столиков, заказ блюд, доставка, звонок в ресторан и другие нишевые вещи.

7. Wix

Бесплатный конструктор сайтов wix.com для владельцев малого бизнеса приобрел платформу Appixia – удобный онлайн-редактор приложений. Поэтому сейчас Wix стимулирует клиентов развертывать мобильные продукты коммерческого назначения в дополнение к сайтам, созданным на базе конструктора.

8. AppsGeyser

AppsGeyser – конструктор приложений Apple iOS, Android и HTML5. Самый дешевый сервис т.к. он абсолютно бесплатен, они зарабатывают только на процентах с показа рекламы. Сервис рассчитан на узкий круг заказчиков – это блоггеры и издания, желающие создать решение для доставки текстового и медийного контента своим подписчикам.

9. BuildAnApp

Конструктор для самостоятельной генерации приложений BlackBerry, Windows, iOS и Android с ежемесячной абонентской платой от $19. Сборка осуществляется в шесть шагов, на выходе получаем нативное приложение или веб-приложение в зависимости от пожеланий клиента.

10. ViziApps

Среда разработки для Android, Apple iOS и HTML5. Тарифы от $99 в месяц, включая расходы на публикацию $395. Сервис нацелен на решения, которые обслуживают бизнес-процессы, направленные непосредственно на потребителя (т. н. front-end процессы): сообщения об авариях и сбоях техники, управление розничными продажами. Отличительная особенность конструктора в том, что оно способно получать информацию из внутренних источников данных.

11. Windows Phone App Studio

Если ваша компания предпочитает ОС Windows, корпорация Microsoft любезно позволит вам стать участником бета-тестирования этого инструмента для разработчиков, построенного по принципу «drag and drop», а также шаблонов для мобильных платформ.

12. Appmakr

Создает приложения фактически под любую операционную систему: Apple iOS, Android, Windows Phone… Минимальная стоимость сервиса – $9 в месяц. Автоматическая публикация в маркет плейсах обойдется в $199 (единоразовый платеж). Сервис позволяет разрабатывать мобильные сайты на HTML5 и нативные инетрфейсы для Android абсолютно бесплатно, если в созданный продукт будет встроен рекламный блок. Сервис предлагает аналитику, подписку на RSS-канал и помогает клиенту продвигать готовое мобильное приложение.

13. AppNotch

Онлайн-конструктор приложений iOS, Android и HTML5. Стоимость работы на платформе – $18 в месяц. Сервис предлагает инструмент для прототипирования и создания макета  перед этапом р

www.coolmobmasters.com

Установка Eclipse и подключение плагина Android Development Tools (ADT) для разработки андроид-приложений

В этом уроке:

После выхода официального релиза Android Studio у начинающих разработчиков появились проблемы с загрузкой и установкой все еще популярной среды разработки Eclipse и плагина Android Development Tools (ADT) для разработки андроид-приложений. Ниже приводим перевод инструкции с официального сайта, в которой вы узнаете, как скачать и установить Eclipse, а также как подключить и настроить плагин Android Development Tools (ADT), чтобы начать программировать под андроид.

Вы должны сначала загрузить Eclipse, затем скачать Android SDK и  установить плагин ADT (Android Development Tools).

Если Eclipse уже установлен, перед установкой ADT проверьте соответствие следующим требованиям:

Установлен Eclipse 3.7.2 (Indigo) или вышеПримечание: Eclipse 3,6 (Helios) больше не поддерживает последние версии ADT.Установлен Eclipse JDT плагин (входит в большинство пакетов Eclipse IDE)Установлена JDK 6 (пакет JRE не является достаточным)

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

Если вы начинаете с нуля, то выполните все последующие шаги.

Установите JVM

Независимо от вашей операционной системы, вам нужно будет установить виртуальную машину Java (JVM). Вы собираетесь использовать Eclipse для разработки Java android, поэтому  установите JDK (JDK включает в себя — среди других полезных вещей — исходный код для стандартных Java библиотек).

Если вы используете Windows, вы, возможно, уже устанавливали JRE, но этого не достаточно.

  • При использовании Linux:

Установка JDK (Java Development Kit)

Если у вас не установлен пакет JDK, следуйте инструкции: Установка JDK (Java Development Kit)

 

 

Скачать Eclipse

Скачать среду разработки Eclipse, со страницы загрузки. Выберите Eclipse IDE for Java Developers.

Загрузка будет в виде сжатого (т.е. «.zip», или «.tar.gz») файла. Распакуйте этот файл в директорию по вашему выбору (например, «C:\eclipse» на Windows) и убедитесь, что у вас есть полный доступ на чтение и выполнение. При желании вы можете создать ярлык исполняемого файла («eclipse.exe» на Windows, или «Eclipse» на Linux).

Обратите внимание, что есть известная проблема с распаковкой архива во всех текущих версиях Windows . Мы рекомендуем использовать более надежный архиватор, такие как, например, архиватор с открытым исходным кодом 7zip, при распаковке пакета Eclipse. Некоторые пользователи сообщают об успехах при первоначальной распаковке Eclipse в корневом каталоге (например, C: \), а затем перемещении его на более подходящее место (например, C: \ Program Files \ Eclipse)

Для разработки приложений Android в Eclipse предлагается пользовательский плагин для Eclipse IDE, называемый Android Development Tools (ADT). Этот плагин представляет собой мощную, интегрированную среду разработки приложений для Android. Это расширяет возможности Eclipse, что позволит вам быстро создать новые Android проекты, построить интерфейс приложения, отлаживать свое приложение, а также подписывать и экспортировать пакеты приложения (APK) для распространения.

 

 

Загрузить ADT плагин для Eclipse:

Запустите Eclipse, затем выберите в главном меню Help > Install New Software.

Нажмите Add , в верхнем правом углу.

В хранилище диалоге Добавить окне введите «ADT Plugin» в поле Name и следующий адрес в поле Location:

https://dl-ssl.google.com/android/eclipse/

Примечание: для обновления Android Developer Tools требуется безопасное соединение. Убедитесь, что URL обновления, который вы вводите начинается с HTTPS.Нажмите OK .В диалоге Software, установите флажок рядом с Developer Tools и нажмите Next .В следующем окне вы увидите список инструментов для загрузки. Нажмите Next.Прочитайте и примите условия лицензионного соглашения, а затем нажмите Finish.Если вы получаете предупреждение системы безопасности, что подлинность и достоверность программного обеспечения не может быть установлена, нажмите ОК .После завершения установки, перезагрузите Eclipse.

Если вы не смогли использовать Eclipse, чтобы скачать плагин ADT с удаленного сайта обновлений, вы можете скачать ADT архив на свой компьютер и вручную установить его:

Скачать сжатый файл ADT Plugin (не распаковывать его!):

Запустите Eclipse, затем выберите Help > Install New Software .Нажмите Добавить , в верхнем правом углу.В диалоговом окне репозитория добавить, нажмите кнопку Архив .Выберите загруженный ADT-23.0.6.zip файл и нажмите OK .Введите «ADT Plugin» в качестве имени и нажмите ОК .В диалоге Software, установите флажок рядом с Developer Tools и нажмите Next .В следующем окне вы увидите список инструментов для загрузки. Нажмите Next.Прочитайте и примите условия лицензионного соглашения, а затем нажмите Finish.Если вы получаете предупреждение системы безопасности, что подлинность и достоверность программного обеспечения не может быть установлена, нажмите ОК .После завершения установки, перезагрузите Eclipse.

 

 

Скачайте пакет SDK

Скачайте пакет инструментов Android SDK по этой ссылке.

Cкачайте пакет Android SDK для вашей операционной системы

В открывшейся по ссылке таблице выберите пакет для вашей операционной системы. Для Windows их два: установщик и архив (на выбор). Архив следует распаковать в папку, например, D:\android\sdk. Если выберете установщик, он по умолчанию укажет путь, например, C:\Users\<username>\AppData\Local\Android\android-sdk, лучше изменить его на более короткий, как в примере выше.

Внимание! В пути к SDK не должно быть кириллицы! Это может быть источником многих проблем в будущем.

 

 

Настроить Android SDK

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

В окне приветствия выберите Использовать существующие пакеты SDK (Use existing SDKs).Нажмите Обзор (Browse)  и выберите расположение каталога SDK (там, куда вы указали путь при загрузке SDK).Нажмите Next .Ваше Eclipse IDE теперь настроена для разработки приложений для Android, но вы должны добавить новые средства SDK платформы и андроид платформу для вашей среды. Чтобы получить эти пакеты , запустите менеджер SDK, и выберите для загрузки необходимые платформы и пакеты.

В Eclipse в меню открывайте Window > Android SDK Manager.

Android SDK Manager

 

Здесь нам показывают SDK-компоненты, которые мы можем скачать, обновить или удалить.

Сначала идет папка Tools — в ней находятся утилиты, необходимые для разработки под Android. Далее идет список версий Android. И в самом низу еще есть папка Extras, в которой обычно находятся дополнительные библиотеки.

Справа от каждого компонента в списке виден его статус: Installed — установлен, Not installed — не установлен, Update available — доступно обновление.  Мне сразу автоматически предлагают обновить и установить некоторые компоненты, на них включены чекбоксы. Нажмите снизу ссылку Deselect All, чтобы снять все галки, а затем Updates, чтобы выделить только те пункты, которые требуют обновления. И пока оставим все так, ничего не загружаем.

Нас сейчас интересуют папки с именами версий Android. Для начала установите Android 4.4.2. Когда освоитесь в разработке, вы всегда сможете вернуться сюда и скачать те версии Android, которые вам необходимы. А пока будем работать с проверенной Android 4.4.2 (API 19).

Как минимум для разработки нам необходимы два компонента в папке Android 4.4.2 (API 19):

1) SDK Platform — используется для разработки. Говоря простыми словами, здесь содержатся все программные компоненты системы Android, которые мы будем использовать при создании приложений — т.е. окна, кнопки и т.п.

2) ARM EABI v7a System Image — образ Android системы. Используется для создания эмулятора Android, который нужен будет для тестирования приложений прямо на компе, без подключения реальных устройств.

Т.е. мы сможем создать приложение, использующее компоненты и возможности Android версии 4.4.2 и запустить это приложение на эмуляторе версии 4.4.2. Этого вполне достаточно для начала.  Ставьте галки на двух этих пунктах в папке Android 4.4.2 (API 19).

Если вам понадобятся другие версии Android, заходите в SDK Manager и устанавливайте эту пару компонентов для нужной вам версии.

Снизу справа жмем кнопку Install <число> packages, чтобы он установил все компоненты которые мы выделили. Учтите, что плафтормы могут весить несколько сотен мегабайт.

Появится окно со списком установки, отмечаем в нем Accept license и жмем Install. Процесс пошел, снизу замелькали проценты, килобайты и секунды.  По завершению процесса снизу будет надпись Done loading package. Все готово для работы. Закрываем и начинаем обучение разработке android приложений.

Продолжение: Создание Android проекта

www.fandroid.info

Lines and Blocks или как начать программировать под Android / Песочница / Хабрахабр

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

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

Тут мы сталкиваемся с выбором платформы: Android, iOS или Windows Phone (другие не рассматриваю, так как считаю, что они не занимают даже нишу в 1% от всех устройств). Поверхностно рассмотрев возможность написания и публикации приложения я кратко охарактеризовал эти платформы:

Android (Java): чаще всего пишется с использованием среды разработки Eclipse (https://eclipse.org/), но также есть платформа и от родителя — Android Studio (https://developer.android.com/sdk/index.html). На то время Studio была на стадии тестирования версии, где то 0.6.1, но благо стали появляться описания работы в ней. По своей сути она мало чем отличается от Eclipse. Ставится как на Windows так и на MacOS (к Linux душа не лежит, но вроде Studio ставится и на него).

iOS (ObjectC): среда разработки XCode — противная штука: ставится только на MacOS либо надо заморочиться с виртуальной машиной на Windows.

Windows Phone (?): наиболее близкая для меня платформа, так как с самого начала своей деятельности программиста работаю в Visual Studio. Единственный минус — нужна Windows 8 и выше, для того, чтобы интегрировать разработчик плиточного интерфейса. P.S.: что то не нравится мне ни Window 8, ни 8.1, ни 10 (сижу на Windows 7).

Ну и легко догадаться из объёма описания выбор пал на Android. Проблема знания языка осталась открытой. На момент появления идеи знал только 3 языка программирования: C++, C# и Pascal. Очень много форумов перешарил, русской литературы разработки приложений на Android на языках C++ и C# не нашёл, а это критичная для меня штука. Поэтому не долго думал, стал знакомиться с Java параллельно программируя приложения.

Для начала нашёл такой сайт: http://developer.alexanderklimov.ru/android/, с помощью которого я «стартанул» с хорошей скоростью (советую, если Вы новичок в этой области). Бесплатных уроков там достаточно, чтобы пройти вводный курс в Android Studio и разобраться в ней.

Далее, что бы не тратить денежных средств на обучение, в наших просторах сети интернета нашёл книгу для программирования приложений на Android: ProAndroid. На английском языке доступна 4 книга, на русский переведена только 2, но она мало чем отличается от 4 (С. Хашими, С. Комантинени, Д. Маклин, Разработка приложений для Android, 2011 или Pro Android 2).

Эту книгу я так и не дочитал до конца, так как я любитель писать игры, а не приложения. В поиске книги о разработке игр под Android нашёл следующую (Марио Цехнер, Программирование игр под Android, 2013), по которой и изучил программирование игр: от основ до практического приложения. Книга хороша тем, что помогает с 0 создать свою игру.

За 4 месяца изучения разработки игр и осваивания ещё неизвестного мне языка Java получил готовое приложение для публикации: Lines&Blocks. Зарегистрировал в конце февраля 2015 года.

Lines&Blocks

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

Немного о разработке: Разработано в Android Studio. Рекламу так и не мог вставить, так что нет этой назойливой штуки. Приложение автоматически масштабируется под любой экран с соотношением сторон 9:16, при других работать будет, только сжатое изображение получится.

Игра на столько получилась простая, что весит всего 75 Кбайт.

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

1. За регистрацию разработчика Google взял с меня 25 долларов, а дохода нет.

2. Игра стала мне казаться слишком простой, без красивых эффектов, анимации.

… И я мечту свою лелея, решил проблему гениально… вставить рекламу и добавить спецэффектов.

Сначала о спецэффектах. Появилась идея сделать разрушающиеся блоки. И вот тут вот я столкнулся с ограничением производительности устройства: приложение то моё работает только с программным ускорением графики, а этого явно не хватает. На уровне программного ускорения смог написать программу разрушения одного куба, и это мне чрезвычайно понравилось. Написал полное приложение с разрушениями — ужасные лаги. Внутренний счётчик FPS показывал по 2 — 4 кадра в секунду. Ужасно не так ли? Слайд шоу.

Вспомнив уроки DirectX и то, что однажды писал свою псевдо-3D игрушку со своими программными расчётами 3D мира, я понял, что без аппаратного ускорения не обойтись. А аппаратное ускорение у Android как и у iOS это OpenGL, только немного урезанная ещё: OpenGL SE.

Лето 2015 года прошло в погружении разработке той же самой игры, используя аппаратное ускорение OpenGL SE. Как оказалось это не так уж и сложно, как DirectX (полноценный DirectX с языком C++, по крайней мере мне так показалось).

В процессе изучения и создания столкнулся с такими проблемами, как текстуры (рисование их и подбор размеров), создание объектов из текстур. Подробнее о них:

Текстуры. Я не художник и все рисование в различных графических редакторах сводится к правильным четырёхугольникам, кругам и линиям. Но я, собравшись с мыслями методом «научного тыка» нарисовал нужные мне текстурки в PhotoShop (единственно, что тогда было доступно, кроме Paint).

Создание объектов из текстур. Главная проблема заключалась в том, что потребовалось самому определять размеры каждого объекта и его положения на текстуре. Размер объекта в пикселях, размер текстуры в относительных единицах. Объектов более 100, а вершин больше 500 — вручную рассчитывать удовольствия мало и интернета под рукой не было, чтобы найти удобную программку. Итог: написал свою программу, которая загружает изображение и, расставляя и объединяя точки в многоугольники, на выходе даёт сконфигурированное описание объекта.

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

Ну и немного об моём личном открытии при разработке. Не знаю, изобрёл ли я велосипед или нет (наверняка изобрёл). В современном мире устройства Android имеют большой диапазон значений разрешений экрана. В связи с этим, для повышения качества изображения и производительности (работаю с растровыми изображениями), пришлось добавить алгоритм масштабирования текстур. Изначальный размер текстуры разработан под FullHD экран. Чтобы не упал FPS на более простых устройствах, эта текстурка сжимается до нужного размера, повышая FPS с режущих глаз 23 — 27 до отличных 56 — 58 кадров в секунду на экранах 480*800.

В итоге опубликовано приложение под немного другим названием: Lines and Blocks. Смена названия потребовалась в связи с трудностью поиска его в Google Play (требуется полностью и правильно ввести Lines&Blocks, чтобы найти это приложение). Зато если Вы введёте Lines&Blocks в поиск Google, первая ссылка будет на моё приложение.

Lines and Blocks

Об игре: улучшенная версия предыдущей игры Lines&Blocks. Игра обзавелась текстурками, поэтому потяжелела до 9 Мбайт.

Парочка скриншотов Игра полностью создана на своём простейшем движке на чистой Java и OpenGL ES 1.0. Сейчас проект стоит на месте, ожидая хорошего дизайнера, для «нормального» вида игры. В разработке 3D игра.

Итак, подведём итог сего поста: чтобы начать программировать игры под Android не нужно ничего сверхестественного:

1. Качаем отсюда Android Studio: https://developer.android.com/sdk/index.html. 2. Идём на этот сайт и используя бесплатные уроки ставим и знакомимся с Android Studio: http://developer.alexanderklimov.ru/android/. 3. Находим книгу: ProAndroid (русский, английский на выбор) С. Хашими, С. Комантинени, Д. Маклин, Разработка приложений для Android, 2011 или Pro Android 2. Читаем. 4. Находим книгу: Марио Цехнер, Программирование игр под Android, 2013. Читаем и пишем свою первую игру, сразу. 5. Возвращаемся на сайт пункта 2 и читаем как публиковать приложение в Google Play. 6. Всё, вы уже разработчик!

Высказывайте ваши комментарии, мнения и вопросы ниже.

Всем спасибо за внимание, всем пока!

PS: Кому будут интересны исходники, могу выложить в общий доступ (но учтите, там исходники могут быть немного «кривые»). Если ещё и комментировать их, то это вообще долгая, но вполне реальная история.

habrahabr.ru

12 лучших фреймворков для разработки приложений под Android / Хабрахабр

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

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

1) Corona SDK
Богатый инструментарий для создания игр и приложений за рекордно короткое время

Обеспечивает возможность очень быстрой разработки. Элегантный API упрощает добавление сложных функций, технологический процесс позволяет сразу же видеть внесённые изменения, сама же разработка идёт на Lua – простом для изучения языке. Всё это приводит к рекордной скорости разработки.

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

2) Phonegap
Простое создание приложений при помощи веб-технологий.

Использует HTML5, CSS и JavaScript. Спонсируется Apache и Adobe. Версия 2.0 предлагает поддержку Windows phone, новых библиотек и функций CLI. Для вставки кода в крупные приложения используется инструмент Cordova WebView

3) Xamarin

Для этого фреймворка код можно писать на С#. Также он работает в iOS и Windows. Поддерживается тестирование приложения в облаке.

4) Sencha Touch 2

Идеальная платформа для разработки и управления безопасными бизнес-приложениями, работающими на разных устройствах. Разработка ведётся на JavaScript и HTML5. Встроенная система MVC, 50 различных встроенных компонентов, система управления разработкой. Имеется бесплатная функция публикации приложения в Google Play.

5) Appcelerator

Разработчики утверждают, что в мире работают два миллиарда приложений, созданных на этом фреймворке. Частью фреймворка является Titanium SDK, который поддерживает разработку на языке JavaScript

6) Basic4Android

RAD (быстрая разработка приложений) и наличие своего IDE. Разработка ведётся на простом языке программирования, напоминающем Visual Basic.

7) JQuery Mobile

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

8) Dojo Mobile

Фреймворк для создания приложений на базе HTML5 + JavaScript, помогающий реализовать быструю разработку мобильных приложений для Android и iOS. Присутствует набор форм, MVC, и симпатичные темы приложений.

9) Sproutcore

MVC-дизайн, оптимизация быстродействия и забота о расширяемости приложений.

10) Theappbuilder

Основан на HTML5. Предлагает простой drag and drop интерфейс без написания кода, что позволяет очень быстро разрабатывать приложения. Особое внимание уделяется интеграцией с соцсетями и прямая отправка приложений в Google Play.

11) DHTMLX Touch

Библиотека на основе AJAX и JavaScript, предназначенная для создания виджетов и приложений на основе HTML5.

12) Mo Sync SDK

Поддержка HTML5, JavaScript, C++ и 9-и различных платформ. Также возможно сопряжение с PhoneGap. Для отладки предлагается эмулятор под названием MoSync Reload.

habrahabr.ru


Смотрите также