Как настроить смартфоны и ПК. Информационный портал
  • Главная
  • Обзоры
  • Создать приложение для андроид с нуля. Android Eclipse: разработка под Android SDK

Создать приложение для андроид с нуля. Android Eclipse: разработка под Android SDK

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

Определение функциональности приложения

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

А для этого нужно определиться с функционалом. Например, для интернет-магазина он может быть следующим:

  1. Удобная навигация. Наличие категорий и подкатегорий, где клиент по заданным шаблонам смог бы найти нужный товар.
  2. Использование дружественного пользователю блока оформления заказа с системой оплаты, отслеживанием статуса.
  3. Личный кабинет для клиента с разделами «Избранное», «История покупок» и т. д.
  4. Наличие информационного раздела с новостными обзорами.

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

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

Этот сервис предназначен специально для утилит коммерческой направленности. Написанное при помощи MobiCart андроид-приложение способно эффективно собою заменить существующую сетевую площадку. Особенности рассматриваемого конструктора:

  1. Поддержка русского интерфейса;
  2. Принимается оплата наличным расчетом или через PayPal;
  3. Наличие некоммерческого тарифа с ограничением функционала в виде возможности добавления на витрину н/б десятка наименований.

Чтобы создать свою утилиту, зарегистрируйтесь в сервисе. После этого можно воспользоваться кабинетом, где в качестве первого шага нужно выбрать Create Application. Далее:

  1. Выбрав Upload logo, загрузите логотип вашей будущей программы и укажите цвет оформления.
  2. Ниже потребуется выбрать вкладки, которые пользователи будут видеть на экране девайса. Также в этом разделе указываются страницы, которые конструктору необходимо будет сгенерировать для вашего магазина.
  3. После сохранения изменений зайдите в настройки создаваемого приложения. Эта функция доступна в разделе Store Settings.
  4. Название создаваемого магазина и ваш электронный адрес пишут на вкладке Store. В выпадающем меню можно выбрать используемую валюту.
  5. Сервис при необходимости показывает Google Карты в утилите, для чего зарегистрированный API-ключ указывается в специальном поле.
  6. Если предполагается возможность доставки бесплатно, здесь же можно активировать вышеназванную опцию и указать ее условия. В строке Cash On Delivery можно указать надбавку (в виде десятичной дроби), которую клиент должен будет заплатить при наложенном платеже. Например, число 1.06 будет означать, что стоимость покупки на 6% вырастет.
  7. Регион укажите в Shipping в выпадающем списке. Можно указать цену доставки единственного (Single order) или сразу пакета (Multiple orders) товаров.
  8. Выделите строчку Prices to include tax, перейдя в раздел Tax. Это означает, что цена на товар будет указана с НДС, что характерно для всех отечественных ритейлеров.
  9. Платежные системы, посредством которых вам будут перечислять средства клиенты, указываются в Payments Gateway. Популярные системы вроде Qiwi или «Яндекс.Деньги» не поддерживаются в MobiCart, поэтому обязательно активируйте возможность использования наложенного платежа.
  10. Язык настраивается в разделе Languges. Поскольку русский здесь не поддерживается, текст сообщений нужно вводить вручную, после чего обязательно сохранять информацию.
  11. Перейдите в App Vital, где нужно указать название создаваемой утилиты, а также страны, в которых приложение может использоваться.
  12. Иконки, которые пользователь будет видеть на экране своего гаджета в магазине, можно загрузить в Images. Изображение для основного экрана залейте в Home Gallery.
  13. Описания для продуктов можно поместить в Store Builder несколькими способами:
  14. Новостное наполнение сайта можно создавать в разделе News. Напишите контент сообщения и кликните по Publish News.

Далее останется создать инсталляционный файл для практически созданной мобильной утилиты интернет-магазина. Перейдите с этой целью в Create Application, в нем откройте вкладку Submit Apps, кликните по Continue. Здесь нужно будет принять лицензионное соглашение, после чего система на основе сделанных вами настроек сгенерирует инсталляционный файл мобильного приложения.

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

Создание тематической мобильной утилиты с AppsGeyser

Для начала использования данного Android-конструктора нужно зарегистрироваться, для чего нажмите Create Now.

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

  1. Manual для создания небольшой утилиты-гайда;
  2. Blog для чтения страниц вашего блога на экране гаджета;
  3. Website для конвертации сайта в мобильное приложение;
  4. News, создающий агрегатор новостей, например, каких-либо тематических или региональных;
  5. Page, способный конвертировать электронную книгу или другой подобный контент в Android-приложение.

Используйте Blog-шаблон:


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

Другие конструкторы Android-приложений

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

  1. AppsMakerStore. Создает Android-приложения практически любого типа - от коммерческих до тематических. Имеет русифицированный интерфейс и исчерпывающее руководство. За использование взимается плата.
  2. Mobincube. Позволяет писать и монетизировать генерируемые утилиты различной тематики. Базовый функционал бесплатен.
  3. Monomobi. Коммерческий инструмент для быстрого создания Android-программ с русифицированным интерфейсом. Попробовать сервис в деле можно бесплатно в течение тестового периода.
  4. Appsbar. Бесплатный Андроид-редактор для создания простых приложений для телефонов.

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

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

Пожаловаться на контент


  • Нарушение авторских прав Спам Некорректный контент Сломанные ссылки


  • Отправить

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

    Платформа Android

    Android - самая популярная операционная система в мире . Windows сложила регалии после30 лет доминирования, и теперь Android - абсолютный мировой лидер, если учесть все устройства, подключенные к интернету: персональные компьютеры, ноутбуки, планшеты и смартфоны. Кто-то может сказать, что мировой лидер - Linux, потому что Android работает на ядре Linux, но это софистика.

    Необходимые инструменты

    C чего начать писать приложение для Android? Первым делом установите программу Android Studio . Это официальная среда разработки (IDE) для Android, она выпускается для Windows, macOS и Linux . Хотя при разработке программ для Android можно использовать и другие среды, кроме Android Studio.

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

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

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

    Что из себя представляет Android-приложение

    Стандартный язык программирования Android-приложений - это Java . Правда, сейчас Google активно продвигает Kotlin как язык, который сможет заменить Java . Приложения также можно писать на C++ .

    Инструменты Android SDK компилируют ваш код вместе с любыми данными и ресурсами в файл APK (пакет Android) с расширением .apk . Этот файл содержит всё необходимое для установки приложения на Android-устройство.

    Каждое Android-приложение живет в собственной «песочнице», которая подчиняется правилам безопасности Linux :

    1. Каждое приложение - это отдельный пользователь в многопользовательской системе Linux.
    2. По умолчанию система назначает каждому приложению уникальный user ID, неизвестный приложению; система устанавливает разрешения для всех файлов приложения, так что они доступны только этому user ID.
    3. У каждого процесса своя виртуальная машина (VM), так что исполняемый код изолирован от других приложений.
    4. По умолчанию каждое приложение запускает собственный Linux-процесс.

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

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

    1. Активность (activity) - элемент интерактивного пользовательского интерфейса в приложении. Обычно под активностью понимается группа элементов пользовательского интерфейса, которая занимает целый экран. Когда вы создаете интерактивную программу Android, то начинаете с создания подклассов на основе класса Activity . Одна активность активизирует другую и передает информацию о том, что намерен делать пользователь, через класс Intent (в переводе с английского «намерение»). Это абстрактное описание операции, которую одна активность должна выполнить по требованию другой. Если сравнивать приложения Android с веб-приложениями, то активности подобны страницам, а намерения - ссылкам между ними. Когда пользователь нажимает иконку приложения, то запускается активность Main . Однако из других мест (например, из уведомлений) можно отправлять пользователя напрямую к другим активностям.
    2. Сервис (service) - универсальная точка входа для поддержания работы приложения в фоновом режиме. Этот компонент выполняет в фоне длительные операции или работу для удаленных процессов. У служб нет визуального интерфейса.
    3. Широковещательный приемник (broadcast receiver) - компонент, который позволяет позволяет нескольким участникам слушать намерения, которые транслируются приложениями в системе.
    4. Поставщик содержимого (content provider) - компонент, который управляет общим набором данных приложения из файловой системы, базы данных SQLite, интернета или любого постоянного хранилища, к которому может обратиться приложение.

    Теперь попробуем сделать свое приложение для Android.

    Создаем Android-приложение

    Как сделать простое приложение для Android? Этот процесс состоит из нескольких этапов: создания проекта в Android Studio, запуска приложения в эмуляторе, формирования простого пользовательского интерфейса и добавления новых активностей в приложение.

    Создание проекта в Android Studio

    На первом этапе создания проекта выбираем название приложения, указываем домен своей компании, путь к проекту и название пакета. Здесь же указываем, включить ли для проекта поддержку опциональных языков программирования C++ и Kotlin .

    Затем нужно задать одну или несколько целевых платформ для сборки. Для этого используется SDK и AVD, менеджер виртуальных устройств Android. Данный инструмент позволяет устанавливать в SDK пакеты, которые будут поддерживать несколько версий операционной системы Android и несколько уровней API (интерфейсов программирования приложений).

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

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

    Указываем название для этой активности.

    Нажимаем кнопку Next, затем Finish - и после нескольких минут сборки Android Studio открывает интерфейс IDE.

    Если выбрать в выпадающем меню вид Android , то можно посмотреть основные файлы своего проекта. Например, наша основная активность называется app > java > ru.skillbox.skillboxapp > FullscreenActivity , потому что при создании проекта мы указали вместо активности Main запускать приложение в полноэкранном режиме (Fullscreen ).

    Наконец, третий важный файл: app > manifests > AndroidManifest.xml , который описывает фундаментальные характеристики приложения и определяет все его компоненты.

    Содержимое манифеста


    package="ru.skillbox.skillboxapp">

    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    android:name=".FullscreenActivity"
    android:configChanges="orientation|keyboardHidden|screenSize"
    android:label="@string/app_name"
    android:theme="@style/FullscreenTheme">




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

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

    Для запуска в эмуляторе нажимаем в Android Studio кнопку Run в меню Run (Shift+F10) . Там выбираем подходящее устройство и версию ОС, портретную или ландшафтную (альбомную) ориентацию.

    Android Studio установит эмулятор и запустит его.

    Создание простого пользовательского интерфейса

    Пришло время создать базовый интерфейс для главного экрана. Пользовательский интерфейс Android-приложения создается через иерархию макетов (layouts, объекты ViewGroup ) и виджетов (объекты View ). Макеты - это невидимые контейнеры, которые управляют расположением дочерних виджетов на экране. Сами виджеты - это непосредственно компоненты UI, такие как кнопки и текстовые поля на экране.

    Интерфейс активностей хранится по большей части в XML-файлах. А создается в Android Studio в Редакторе макетов (Layout Editor).

    Снова открываем файл app > res > layout > activity_fullscreen.xml. В левом верхнем углу мы видим Палитру (Palette) со всеми виджетами, которые можно добавить на экран. Добавляются они просто перетягиванием мышью. Например, перетянем на экран текстовое поле (PlainText) . Это виджет EditText , куда пользователь может вводить текст.

    Также на экран можно перетащить кнопки и другие элементы.

    Новые действия, активности и навигация

    Предположим, что мы создали активность с текстовым полем и кнопкой «Отправить». После этого нужно написать, что конкретно будет происходить при нажатии кнопки «Отправить». Для этого заходим в код app > java > FullscreenActivity и добавляем метод SendMessage() в класс FullscreenActivity , чтобы при нажатии пользователя на кнопку вызывался этот метод.

    Затем нужно создать «намерения» (класс Intent ) для перехода от одной активности к другой, новые активности, навигацию и все остальное, что необходимо для приложения. Ну и, конечно, придумать, как программа будет зарабатывать деньги (об этом подробнее в другой статье).

    Курс «Мобильный разработчик»

    Детально все этапы разработки приложения объясняются в курсе . Участники этой 12-месячной программы научатся создавать приложения под Android и iOS. Кроме того, они получат полноценное портфолио разработчика и могут устроиться на работу в качестве джуниор-программиста или попытать участия в качестве инди-разработчика, то есть индивидуалиста, который сам создает приложения, распространяет их, зарабатывает и ни с кем не делится доходами, кроме налоговых отчислений в бюджет.

    Учтите, что студия постоянно обновляется, поэтому внешний вид окон и другие детали могут отличаться от данного примера. Большинство уроков на сайте сейчас используют версию 2.3. 25 октября 2017 года вышла версия 3.0, в которой многое поменялось. В этой статье я постарался заменить все картинки под новую версию.

    В качестве языка программирования для Android используется Java. Для создания пользовательского интерфейса используется XML.

    Здесь следует сделать небольшое отступление. В Android Studio 3.0 добавлена полноценная поддержка нового языка Kotlin, разработанная котанами. Google объявила о своих планах сделать новый "кошачий" язык основным. Но вы должны понимать, что за предыдущие годы было написано огромное количество примеров на Java. Если вы новичок в программировании, то лучше в первый период обучения полностью сосредоточиться на Java, вам будет проще находить ответы на вопросы. Kotlin от вас никуда не денется, перейти потом на него будет проще, а вот обратный процесс будет проходить тяжелее. Когда немного освоитесь в Java, то можете параллельно изучать примеры на Kotlin. Google сейчас активно переписывает документацию под Kotlin, но до полного перехода ещё далеко, даже меньше 50%. Чуть позже я также буду делать уроки под Kotlin, но это будет не скоро.

    По традиции, заложенной в прошлом веке, каждый программист должен был написать «Hello World!» (Здравствуй, Мир!) в качестве первой программы. Времена меняются, и программа «Hello World!» уже встроена в среду разработки под Android в целях совместимости, а современные программисты должны писать программу Hello Kitty! (Привет, киска!). Согласитесь, что здороваться с котёнком имеет больше здравого смысла, чем с каким-то миром.

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

    Создание нового проекта

    Запускаем Студию и выбираем File | New | New Project... . Появится диалоговое окно мастера.

    Поле Application name - понятное имя для приложения, которое будет отображаться в заголовке приложения. По умолчанию у вас уже может быть My Application . Заменим на . В принципе вы могли написать здесь и Здравствуй, мир! , но у Android есть замечательная возможность выводить нужные строки на телефонах с разными языками. Скажем, у американца на телефоне появится надпись на английском, а у русского - на русском. Поэтому в первоначальных настройках всегда используются английские варианты, а локализованные строки подготовите позже. Необходимо сразу вырабатывать привычку к правильному коду.

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

    Третье поле Project location позволяет выбрать место на диске для создаваемого проекта. Вы можете создать на своём диске отдельную папку для своих проектов и хранить свои программы в ней. Студия запоминает последнюю папку и будет автоматически предлагать сохранение в ней. В случае необходимости вы можете задать другое местоположение для отдельного проекта через кнопку с тремя точками.

    Поле Package name формирует специальный Java-пакет на основе вашего имени из предыдущего поля. В Java используется перевёрнутый вариант для наименования пакетов, поэтому сначала идёт ru , а потом уже название сайта. Пакет служит для уникальной идентификации вашего приложения, когда вы будете его распространять. Если сто человек напишет сто приложений с названием "Cat", то будет непонятно, где приложение, написанное разработчиком Василием Котовым. А приложение с именем пакета ru.vaskakotov.cat проще найти. Обратите внимание, что Гугл в своей документации использует пакет com.example в демонстрационных целях. Если вы будете просто копировать примеры из документации и в таком виде попытаетесь выложить в Google Play, то у вас ничего не выйдет - это название зарезервировано и запрещено к использованию в магазине приложений. Кнопка Edit позволяет отредактировать подготовленный вариант. Например, вы пишете приложение на заказ и вам нужно использовать имя пакета, утверждённое заказчиком, а не ваш вариант по умолчанию.

    Ниже представлены два варианта для написания программ на C++ и Kotlin. Эти варианты мы пока не рассматриваем. Когда вы будете писать на Kotlin, то ставьте соответствующий флажок. Впрочем, вы можете сконвертировать проект с Java на Kotlin и позже средствами студии.

    Нажимаем на кнопку Next и переходим к следующему окну. Здесь мы выбираем типы устройств, под которые будем разрабатывать своё приложение. В большинстве случае мы будет писать для смартфонов и планшетов, поэтому оставляем флажок у первого пункта. Также вы можете писать приложения для Android TV, Android Wear, Android Auto и Android Things.

    Кроме выбора типа устройств, надо выбрать минимальную версию системы, под которую будет работать приложение. Выберите свой вариант. На данный момент Гугл поддерживает версии, начиная с API 7, выпуская специальные библиотеки совместимости для старых устройств. Но вы можете выбрать более современный вариант. У меня в наличии телефон с минимальной версией Android 4.4, поэтому я выставляю этот вариант.

    java

    Папка java содержит три подпапки - рабочую и для тестов. Рабочая папка имеет название вашего пакета и содержит файлы классов. Сейчас там один класс MainActivity . Папки для тестов можете не трогать. Если вы знаете, как работают пакеты в Java, то можете создавать новые папки и подпапки.

    res

    Папка res содержит файлы ресурсов, разбитых на отдельные подпапки.

    • drawable - в этих папках хранят графические ресурсы - картинки и xml-файлы, описывающие цвет и фигуры.
    • layout - в данной папке содержатся xml-файлы, описывающие внешний вид форм и различных элементов форм. После создания проекта там уже имеется файл activity_main.xml , который отвечает за внешний вид главного окна приложения.
    • mipmap - здесь хранят значки приложения под разные разрешения экрана
    • values - тут размещаются строковые ресурсы, ресурсы цветов, тем, стилей и измерений, которые мы можем использовать в нашем проекте. Здесь вы можете видеть файлы colors.xml , strings.xml , styles.xml . В старых проектах был ещё файл dimens.xml , сейчас от него отказались

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

    Работа с проектом - Здравствуй, Мир!

    Как уже говорилось, программа Hello, World! уже встроена в любой новый проект, поэтому вам даже не нужно ничего писать. Просто нужно запустить проект и получить готовую программу!

    Для изучения вам нужно открыть два файла - MainActivity (скорее всего он уже открыт) и activity_main.xml (res/layout ) в центральной части Студии. Если файлы не открыты, то откройте их самостоятельно двойным щелчком для редактирования (или просмотра). Таким способом вы можете открыть любой нужный вам файл.

    Не будем пока изучать код, а просто нажмём на зелёный треугольник Run (Shift+F10) на панели инструментов в верхней части студии для запуска приложения.

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

    Если всё сделали правильно, то в эмуляторе или на устройстве загрузится ваша программа. Поздравляю!

    Итак, если программа запустилась, то увидите окно приложения с надписью . Заголовок у программы будет также . Все эти строки можно найти в файле res/values/strings.xml и отредактировать при желании.

    Теперь посмотрим на код. Сначала изучим activity_main.xml .

    Смотреть его можно в двух режимах - Design и Text .

    Откройте в режиме Text .

    Это новый код шаблона, который появился в Android Studio 2.3 в марте 2017 года. Раньше использовался другой код с RelativeLayout (а ещё раньше и другой код с LinearLayout ). Если вам будут попадаться старые примеры, то в студии есть контекстное меню, которое поможет сконвертировать старый код в новый.

    Немного о XML-коде. Имеется специальный контейнер ConstraintLayout , в котором размещён компонент TextView , предназначенный для вывода текста.

    Теперь посмотрим на Java-код (MainActivity.java )

    Package ru.alexanderklimov.helloworld; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }

    Перед вами открыт файл класса, где имя класса MainActivity совпадает с именем файла с расширением java (это правило, установленное языком Java). В первой строке идет название пакета - его мы задавали при создании проекта (Package Name ). Далее идут строки импорта необходимых классов для проекта. Для экономии места они свёрнуты в одну группу. Разверните её. Если однажды вы увидите, что имена классов выводятся серым цветом, значит они не используются в проекте (подсказка Unused import statement ) и можете спокойно удалить лишние строки. Также они могут удаляться автоматически (настраивается).

    Далее идёт объявление самого класса, который наследуется (extends ) от абстрактного класса Activity . Это базовый класс для всех экранов приложения. Не исключено, что у вас будет AppCompatActivity , если при создании проекта вы оставили поддержку старых устройств (флажок Backwards Compatibilty (App Compat) ). В старых версиях не было плюшек, которые появились после Android 4, поэтому для них была создана специальная библиотека совместимости, которая позволяет использовать новинки от новых версий Android в старых программах. Класс AppCompatActivity как раз и относится к библиотеке совместимости. Считайте её бедным родственником базовой Activity . У неё есть все нужные методы и вспомогательные классы, но названия могут немного различаться. И смешивать названия нельзя. Если уж используете класс из библиотеки совместимости, то методы берите соответствующие.

    На разных этапах использовались разные названия класса активности, которые могут вам встретиться в старых проектах. Например, сначала использовался FragmenActivity , затем ActionBarActivity , а 22 апреля 2015 года вышла новая версия библиотеки совместимости и на данный момент используется новый класс AppCompatActivity .

    В самом классе мы видим метод onCreate() – он вызывается, когда приложение создаёт и отображает разметку активности. Метод помечен как protected и сопровождается аннотацией @Override (переопределён из базового класса). Аннотация может пригодиться вам. Если вы сделаете опечатку в имени метода, то компилятор сможет предупредить вас, сообщив об отсутствии такого метода у родительского класса Activity .

    Разберём код метода.

    Строка super.onCreate(savedInstanceState); – это конструктор родительского класса, выполняющий необходимые операции для работы активности. Эту строчку вам не придётся трогать, оставляйте без изменений.

    Вторая строчка setContentView(R.layout.activity_main); представляет больший интерес. Метод setContentView(int) подключает содержимое из файла разметки. В качестве аргумента мы указываем имя файла без расширения из папки res/layout . По умолчанию проект создаёт в нём файл activity_main.xml . Вы можете переименовать файл или создать свой файл с именем cat.xml и подключить его к своей активности. Тогда код будет выглядеть так:

    SetContentView(R.layout.cat);

    Чтобы ваш код был аккуратным, старайтесь придерживаться стандартов. Если вы создаёте разметку для активности, то используйте префикс activity_ для имени файла. Например, разметка для второй активности может иметь имя activity_second.xml .

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

    Есть два метода, которые можно использовать для создания Android-приложений с помощью компьютера. Первый предполагает использование Android Software Development Kit (SDK). Этот способ позволяет легко описать исходный код и приучает работать в среде программирования Android. Для второго метода используется App Inventor, инструмент Google Labs, который все еще находится в стадии бета-версии.

    Установка необходимого программного обеспечения

    После того, как вы разобрались в среде программирования и выбрали каким путем будут создаваться приложения, необходимо скачать, по крайней мере, одну из версий операционной системы Android. Вы можете сделать это с помощью Android SDK и AVD Manager. Затем можно запустить скачанную версию Androidв Eclipse. Если все сделано правильно, на экране появится загрузочное окно. В случае ошибки необходимо обратиться к руководству пользователя.

    Выберите пункт верхнего меню «Окно». Затем перейдите во вкладку «Android SDK» и «AVD Manager», чтобы открыть программную среду, а затем выберите опцию «Доступные пакеты», и отметьте флажком адрес «https://dl-ssl.google.com/android/repository/repository.xml».

    После краткого сканирования хранилища, вы увидите доступные компоненты. Отметьте те, которые вы хотите установить, снимите отметки со всех остальных. Наиболее важным пакетом для установки является последняя версия Android платформы. Вы будете нуждаться в более старых версиях, если планируете выпустить свое приложение для широкого круга пользователей. На этом этапе вы также можете очистить базу Google API и драйверов USB. Если вам понадобится любой из них позже, вы всегда можете вернуться и установить их.
    Нажмите кнопку «Установить выбранные» и подождите, пока загрузятся компоненты. Проверьте и добавьте новые компоненты, если будет нужно. Они будут добавлены к существующим папкам «Android» и «SDK».

    Создание и эмуляция вашего Android-приложения

    Теперь у вас есть все программное обеспечение, и вы создали виртуальное устройство в Android SDK и менеджере AVD. Теперь необходимо создать новый проект. В Eclipse IDE выберите «File> New> Project». В мастере создания проекта выберите папку «Android» и выберите опцию «Android проект ». Нажмите «Далее». Теперь у вас есть новое окно для вашей программы.

    Затем идет создание кода приложения. Сохраните изменения в коде. Теперь вы можете попробовать его его на Android. В Eclipse, выберите «Выполнить», затем «Android-приложение». Начало работы может занять несколько минут. После загрузки, ваше приложение должно запускаться автоматически, и вы увидите серый заголовок с названием приложения в нем. Ниже этого, отображается выбранный вами текст.
    Нажмите кнопку «Домой» в эмуляторе, чтобы вернуться на главный экран Android. Нажмите кнопку «Приложения», чтобы увидеть список доступных приложений. Среди них вы увидите и свою программу. Нажмите на название, чтобы запустить ваше приложение.

    Лучшие статьи по теме