Как создавать приложения для андроид. Вам интересно знать, как создать приложение для «Андроид»

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

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

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

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

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

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

TheAppBuilder

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

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

AppsGeyser



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

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

AppsMakerstore





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

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

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

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

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

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

Установка Java Development Kit


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


В следующем этапе необходимо обязательно добавить в интегрированную среду разработки плагин Android SDK. На примере среды Eclipse добавить плагин можно следующим образом:

  1. Во вкладке «Помощь» необходимо нажать «Добавить новое программное обеспечение».
  1. Нажать кнопку «Добавить» и ввести название плагина и адрес.


  1. Кликнуть «ОК» и поставить отметку напротив «Developer Tools’».
  2. Нажать «Далее» и начать установку плагина.


После установки пользователь введет в своей интегрированной среде новые иконки.

Помните, мы как-то с вами рассматривали онлайн-сервис с помощью которого можно было не обладая при этом навыками дизайна и знанием языков программирования?

Если да, то верно помните и то, что вся суть такой “разработки” сводилась к банальному комбинированию уже готовых элементов дизайна и программных модулей в удобном и простом онлайновом конструкторе. А известно ли вам, что таким же нехитрым способом можно создавать собственные Android-приложения?

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

Net2Share

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



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

Официальный сайт: http://net2share.com/

AppsGeyser

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






Сервис предоставляет услуги бесплатного распространения приложения, возможность монетизации (размещение рекламы), просмотра статистики. У AppsGeyser имеется русскоязычная версия. Порядок там несколько иной. Кроме адреса сайта вы можете использовать отдельно созданный HTML-код или документ в формате , DOC, DOCX, PPT или PPTX. Созданные с помощью AppsGeyser приложения можно размещать в Android Market.
http://www.appsgeyser.com
http://www.appsgeyser.ru

Appsbar

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





Второй этап предполагает детальную настройку будущего приложения. Наконец, на третьем этапе вам будут предложены все доступные средства для публикации вашего приложения в глобальной сети. К особенностям сервиса Appsbar можно отнести возможность создание уникального дизайна приложения.
http://www.appsbar.com

TheAppBuilder

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






А сделать это можно будет практически любым способом, включая использование QR-кодов и SMS-сообщений. Отличительной чертой сервиса TheAppBuilder является широкий выбор шаблонов и настроек. Поддерживается шифрование данных с помощью AES-128, интеграция с Microsoft SharePoint и Active Directory, создание приложений для платформ Android, HTML5 Web App, iPhone и .
http://www.theappbuilder.com

Andromo



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

Онлайн-конструктор Andromo является коммерческим. Бесплатно можно создать лишь первое приложение. Поддерживается работа с интерактивными картами, фотогалереями, PDF-документами, технологиями javascript и HTML5, социальными сетями и т.п. На сайте сервиса действует техническая поддержка.
http://www.andromo.com

Вывод

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

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

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

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

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

Подготовка к разработке

Для того, чтобы подготовиться к разработке не требуется каких-то особых действий и манипуляций. Буду описывать пошагово, что нужно сделать. У меня стоит Windows XP, поэтому и всё нижесказанное следует относить именно к данной ОС, хотя действия без каких-то сильных изменений можно применить и к другим ОС семейства Windows и даже Linux.

  • Установка JDK и JRE
  • Установка Android SDK
Установка среды разработки Eclipse

Тут всё просто. Идём в раздел Downloads на официальном сайте и качаем версию Classic. Далее просто распакуйте архив, куда вам хочется, я же решил это сделать в почетную директорию C:\Eclipse

Установка ADT плагина к Eclipse

Запускаем Eclipse, и открываем диалог установки плагина через меню Help → Install new software . В поле Work with вписываем адрес загрузки плагина dl-ssl.google.com/android/eclipse/ (если не получилось, то плагин можно скачать и установить вручную по ссылке http://developer.android.com/sdk/eclipse-adt.html), далее в таблице ниже появится Developer Tools, отмечаем его и идем далее.

После успешной установки, можно перезапустить среду Eclipse.

Установка среды для Java: JDK и JRE

Если у вас еще не установлены Java Development Kit (JDK) и Java Runtime Environment (JRE), то их необходимо установить. Сделать это можно на сайте Oracle . Скачайте и установите JDK и JRE.



Установка Android SDK

Дело осталось за малым - это скачать и установить свежий Android SDK. Это делается на сайте для Android разработчиков . Я лично установил SDK опять-таки в почётную директорию C:\Android . После этого необходимо добавить платформы и прочие дополнительные элементы SDK. Я добавил все доступные версии, так как планирую делать приложения и для ранних платформ, а также USB-драйвер и примеры приложений.


Подготовка к разработке завершена. Теперь следующий этап - создание приложения.

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

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

Приступим к созданию виртуального устройства Android. Следуем в меню по пути Window → Android SDK and AVD Manager .

Выбираем New в правой части окна, в появившемся окне вписываем имя виртуального устройства, платформу (допустим Android 2.1), размер карты памяти (допустим 512 Mb), тип дисплея (допустим HVGA). Затем жмем внизу на кнопку Create AVD.

Теперь создадим проект. Для этого идем по пути в меню File → New → Other , в появившемся списке Android → Android Project .

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

После создания проекта, слева вы увидите дерево директорий. Перво-наперво загрузим свою иконку приложения, а точнее 3 иконки под разные варианты. В папку drawable-hdpi грузим png-картинку с прозрачным фоном размером в 72×72, в drawable-mdpi соответственно 48×48 и в drawable-ldpi самую маленькую размером 36×36. Делать это можно простым перетаскиванием файлов прямо на дерево. Следующим шагом будут элементы управления. В моей программе было необходимо всего три элемента интерфейса: ImageView (просто картинка логотип приложения), Button (обновить значение температуры) и TextView (вывод значения температуры). Все эти элементы управления нужно описать в специальном xml-файле. В дереве он расположен по адресу res → layout → main.xml . Во-многом разметка элементов управления сходна с вёрсткой веб-страниц, тут есть и padding, и margin, и аналог align. Код main.xml моего приложения:


< LinearLayout xmlns:android ="http://schemas.android.com/apk/res/android"
android:orientation ="vertical"

android:layout_height ="fill_parent"
>
< ImageView android:layout_width ="fill_parent"

android:src ="@drawable/droid"

android:layout_margin ="0px"
/>
< Button
android:id ="@+id/refrbutton"
android:layout_width ="wrap_content"
android:layout_height ="wrap_content"

android:layout_gravity ="center_horizontal|center"
android:textSize ="30px"
android:padding ="20px"
android:layout_marginTop ="10dip"
android:text ="Обновить"
/>
< TextView
android:layout_width ="fill_parent"
android:layout_height ="wrap_content"
android:text ="..."
android:textSize ="100dip"
android:gravity ="center_horizontal"
android:id ="@+id/temper"
android:textColor ="#EEE3C4"
/>

Подробно останавливаться на разметке элементов управления не буду, так как это всё достаточно подробно описано в мануале и вообще интуитивно понятно, особенно тому, кто имел дело с html/css-вёрсткой и/или разработкой в какой-либо визуальной среде (например, Delphi). Единственное, обратите внимание как я загрузил произвольное изображение в ImageView. В поле src указывается путь, начинающийся с символа @ и далее указываете адрес по дереву. В папке res я заблаговременно создал подпапку drawable и «закинул» туда логотип, а затем просто указал ImageView путь. Легко? По мне так очень.

Непосредственно код приложения располагается по пути src → «ваше название package» → «название приложения».java .
По-умолчанию создается «болванка» главного класса и от неё уже дальше можно плясать. Не буду останавливаться на тонкостях такого простого кода как у меня в примере, но поясню, что логика работы объясняется тремя простыми шагами:

  • Загрузить HTML-страницу со значениями температуры
  • С помощью регулярок «вытащить» температуру
  • Показать в TextView значение температуры

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

package app.test.ufatermometr;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.Button;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.regex.*;

public class UfaTermometr extends Activity
{

@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Button button = (Button) findViewById(R.id.refrbutton);
button.setOnClickListener(new Button.OnClickListener() {
public void onClick(View v) // клик на кнопку
{
RefreshTemper();
}
});

RefreshTemper(); // при запуске грузим температуру сразу
};
//—————————————————————-
public String GetTemper(String urlsite) // фукция загрузки температуры
{
String matchtemper =
URL url = new URL(urlsite);
URLConnection conn = url.openConnection();
InputStreamReader rd = new InputStreamReader(conn.getInputStream());
StringBuilder allpage = new StringBuilder();
int n = 0;
char buffer = new char ;
while (n >= 0)
{
n = rd.read(buffer, 0, buffer.length);
if (n > 0)
{
allpage.append(buffer, 0, n);
}
}
// работаем с регулярками
final Pattern pattern = Pattern.compile
(«[^-+0]+([-+0-9]+)[^<]+[^(а-яА-ЯёЁa-zA-Z0-9)]+([а-яА-ЯёЁa-zA-Z ]+)» );
Matcher matcher = pattern.matcher(allpage.toString());
if (matcher.find())
{
matchtemper = matcher.group(1);
}
return matchtemper;
}
catch (Exception e)
{

}
return matchtemper;
};
//—————————————————————-
public void RefreshTemper()
{
final TextView tTemper = (TextView) findViewById(R.id.temper);
String bashtemp = «» ;
bashtemp = GetTemper(«http://be.bashkirenergo.ru/weather/ufa/» );
tTemper.setText(bashtemp.concat(«°» )); // отображение температуры
};
}

После того как приложение написано, можно уже его отлаживать и тестировать.

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

Вспоминаем про нашу виртуальную машину и запускаем привычной кнопкой или менюшкой Run → Run

Вот такую картину мы можем затем созерцать:


Заключение

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

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

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

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

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

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

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

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

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

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

Третье поле Project location: позволяет выбрать место на диске для создаваемого проекта.

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

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

java

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

res

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

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

Старый код (пока не удаляю)

Немного о 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 .

Вы создали новую программу, но это ещё не повод считать себя программистом, так как вы не написали не единой строчки кода. Настало время набраться смелости и создать программу "Hello Kitty!". На данный момент наша программа слишком проста. Представьте себе, что у вас на экране должны располагаться несколько кнопок, текстовых полей, картинок. Каждому объекту нужно задать размеры, координаты, цвет, текст и так далее. Android поддерживает способ, основанный на XML-разметке, который будет напоминать разметку веб-страницы. Начинающие программисты могут использовать визуальный способ перетаскивания объектов с помощью мыши. Более продвинутые могут писать код вручную. Чаще используется комбинированный подход.

Файлы XML-разметки находятся в папке res/layout вашего проекта. Слово "res" является сокращением от слова "resources" (ресурсы). Папка содержит ресурсы, не связанные с кодом. Кроме разметки, там же содержатся изображения, звуки, строки для локализации и т.д.

Раскройте слева в структуре проектов папки res/layout и дважды щелкните на файле activity_main.xml , если он у вас закрыт. Обратите внимание, что XML-файлы можно просматривать в двух режимах: текстовом и визуальном. Для этого предназначены две вкладки в нижней части окна редактора: Design и Text .

Переключитесь в режим Text .

Структура XML-файла достаточна проста - стандартное дерево XML-элементов, где каждый узел является именем класса View (TextView - один из элементов View ). Вы можете создать интерфейс программы, используя структуру и синтаксис XML. Подобный подход позволяет разделить код программы и визуальное представление.

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

Когда разметка открыта в графическом представлении, то слева от основной части редактора кода можно увидеть панель инструментов, в которой сгруппированы различные элементы по группам Widgets , Texts , Layouts и так далее. В группе Images найдите элемент ImageButton , перетащите её на форму и отпустите. Точное расположение нас не интересует, поэтому не заморачивайтесь по этому поводу, постарайтесь разместить компонент в центре экрана активности. У вас появится диалоговое окно с просьбой выбрать изображение для кнопки. Пока выбирайте любую, например, первую. Потом заменим.

Теперь научимся менять фон для экрана приложения. Сейчас у нас экран белого цвета. Возвращаемся в файл разметки activity_main.xml . Справа найдите вкладку Properties , в которой отображаются свойства для выбранного элемента. А слева есть вкладка Component Tree , который отображает структуру компонентов на экране. Вам нужно нужно выделить какой-нибудь компонент, что на вкладке свойств увидеть все доступные свойства компонента. Новички часто путаются на первых порах и начинают менять свойства не у тех элементов, которые им были нужны. Сейчас у вас есть окно активности, графическая кнопка ImageButton и текстовая метка TextView с надписью . Пощёлкайте по этим элементами, чтобы увидеть, как меняется содержание свойств в панели свойств. Так как мы собираемся работать с фоном экрана приложения, то щёлкните на ConstraintLayout . В панели свойств отобразятся самые употребительные свойства выбранного компонента. К ним относятся идентификатор, ширина и высота.

Щёлкаем по кнопке View all properties (две стрелочки), чтобы открыть все свойства компонента.

Найдите свойство background . Щелкните рядом с этим словом во второй колонке, где нужно прописывать значения. Появится текстовое поле, в которое можно ввести значение вручную, и кнопка с тремя точками, которая запустит диалоговое окно для создания ресурса.


Переходим на вкладку Color и выбираем цвет. Сверху в разделе Project показаны цвета, определённые в проекте в стиле Material Design. В разделе Android показаны цвета, существующие в ресурсах системы. При желании можно установить свой цвет. Давайте выберем цвет colorAccent и нажмём кнопку OK .

Экран окрасится в розовый цвет. Получилось глаМУР ненько.

Если переключиться в текстовый режим, то увидим, что у элемента ConstraintLayout добавилась строчка:

Android:background="@color/colorAccent"

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

Android:background="#ffffc0cb"

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

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


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

Выделяем элемент ImageButton на форме и в панели свойств откроем только важные свойства, выбираем свойство srcCompat . Снова щёлкаем на кнопке с тремя точками и выбираем ресурс в категории Drawable - вы там должны увидеть ресурс pinkhellokitty (имя добавленного ранее файла).


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

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

Мы закончили работу с графическим интерфейсом приложения. Напоследок, выделите элемент TextView с надписью Hello, World и в окне свойств посмотрите на его идентификатор (ID). Если там пусто, то удалите его, он не оправдал наших надежд. В разделе Widgets найдите компонент TextView и перетащите его на форму приложения. Постарайтесь разместить его под графической кнопкой с котёнком.

У этого компонента точно будет что-то написано в свойстве id . Скорее всего, это будет textView . Запомните его. Впрочем, мы могли не удалять первый компонент, а прописать идентификатор вручную. Но мне пришлось бы объяснять лишние детали, а так сразу получили результат. Вот я не удалял его и у меня экран выглядит так. А у вас будет текст TextView . Ничего страшного.

Если текст вам кажется мелковатым, то у свойства textAppearance установите значение AppCompat.Display2 .

У меня получилось следующее:

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

Установите курсор мыши внутри текста у кнопки и нажмите комбинацию Alt +Enter

В всплывающем окне выберите вариант Create "onClick(View)" in "MainActivity" .


В коде класса MainActivity появится заготовка для обработки щелчка кнопки.

Раз уж у нас теперь открыт файл MainActivity.java , то продолжим теперь работу в нём. Так как мы собираемся менять текст в текстовой метке, необходимо прописать данный элемент в коде. До метода onCreate() наберите строчку:

Private TextView mHelloTextView;

Мы объявили переменную типа TextView под именем mHelloTextView .

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

MHelloTextView = (TextView)findViewById(R.id.textView); // помните, я просил запомнить идентификатор?

Избегайте соблазна скопировать строку с сайта и вставить в код, пишите самостоятельно и активно используйте автозавершение (Ctrl+Пробел) при наборе слов. Студия часто сама активно помогает подсказками. Теперь система знает о существовании элемента TextView , и мы можем к нему обращаться для изменения различных свойств, например, поменять текст.

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

// было public View findViewById(int id); // стало public T findViewById(int id);

Пишите теперь так.

MHelloTextView = findViewById(R.id.textView);

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

Переходим к заготовке для щелчка кнопки.

Public void onClick(View view) { }

В следующих занятиях мы подробнее разберём работу с данным методом, пока просто пишем код между фигурными скобками:

MHelloTextView.setText("Hello Kitty!");

Мы обращаемся к элементу mHelloTextView и через его метод setText() программно меняем текст на нужные слова.

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

В папке app\build\outputs\apk проекта можно найти готовый APK-файл, который вы можете выложить у себя на сайте и дать скачать знакомым девушкам и парням (в телефоне должно быть разрешение на установку неподписанных приложений), вы станете невероятно круты в их глазах.

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

Исходный код для ленивых

Ткните лапкой, чтобы развернуть текст // Если этот код работает, его написал Александр Климов, // а если нет, то не знаю, кто его писал. package ru.alexanderklimov.hellokitty; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.EditText; import android.widget.TextView; public class MainActivity extends AppCompatActivity { private TextView mHelloTextView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mHelloTextView = (TextView) findViewById(R.id.textView); } public void onClick(View view) { mHelloTextView.setText("Hello Kitty!"); } }

Здороваемся с вашим котом

Программа получилась замечательная, но у неё есть недостаток. Она показывает одну и ту же фразу "Hello Kitty!". Вряд ли ваш кот знает английский, да и здороваться лучше по имени. Не пытайтесь с котом мяукать, иначе разговор выглядит следующим образом.

Поздороваемся с котом по человечески. Найдите в разделе Text компонент Plain Text и перетащите его на экран активности, разместив где-то над картинкой. Оставляем все свойства без изменений, разве только в свойстве hint можно добавить строчку-подсказку, которая будет исчезать при вводе текста.

android:hint="Введите имя кота" android:inputType="textPersonName" android:text="Name" .../>

Переходим в класс MainActivity и добавляем новую переменную рядом с переменной mHelloTextView :

Private EditText mNameEditText;

Свяжем созданную переменную с компонентом в методе onCreate() :

MNameEditText = (EditText) findViewById(R.id.editText);

Поменяем код для щелчка кнопки.

Public void onClick(View view) { if (mNameEditText.getText().length() == 0) { mHelloTextView.setText("Hello Kitty!"); } else { mHelloTextView.setText("Привет, " + mNameEditText.getText()); } }

Мы внесли небольшую проверку. Если в текстовом поле пустой текст, то длина текста составляет ноль символов, и мы по-прежнему выводим надпись "Hello Kitty!". Если пользователь введёт имя своего кота, то приложение поздоровается с ним. Какая умная и вежливая программа у нас получилась.

Дополнительное чтение