Приложения для android на каком языке. Как написать приложение для Android при помощи Android Studio

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

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

Установка необходимых программ и утилит

Перечислю необходимые инструменты. Их 3:

  1. IDE c поддержкой разработки для Android:
    • Eclipse + ADT plugin;
    • IntelliJ IDEA Community Edition;
    • Netbeans + nbandroid plugin;

Утилиты устанавливаются в определенном выше порядке. Ставить все перечисленные IDE смысла нет (разве только если Вы испытываете затруднения с выбором подходящей). Я использую IntelliJ IDEA Community Edition, одну из самых развитых на данный момент IDE для Java.

Запуск виртуального устройства

Запустив AVD Manager и установив дополнительные пакеты (SDK различных версий), можно приступить к созданию виртуального устройства с необходимыми параметрами. Разобраться в интерфейсе не должно составить труда.

Список устройств

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

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

Итак, File->New Project:

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

Структура проекта

На предыдущем скриншоте видна структура проекта. Так как в этой статье мы преследуем сугубо практические цели, заострим внимание лишь на тех папках, которые будем использовать в процессе работы. Это следующие каталоги: gen , res и src .

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

Папка res предназначена для хранения ресурсов, таких как картинки, тексты (в том числе переводы), значения по-умолчанию, макеты (layouts).

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

Первые строки

Как только создается Activity (экран приложения), вызывается метод onCreate(). IDE заполнила его 2 строчками:
super.onCreate(savedInstanceState); setContentView(R.layout.main);
Метод setContentView (равносильно this.setContentView) устанавливает xml-макет для текущего экрана. Далее xml-макеты будем называть «layout», а экраны - «Activity». Layout в приложении будет следующий:

Для этого приложения идеально подойдет TableLayout. Id можно присвоить любому ресурсу. В данном случае, TableLayout присвоен id = main_l. При помощи метода findViewById() можно получить доступ к виду:
private TableLayout layout; // это свойство класса KrestikinolikiActivity public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); layout = (TableLayout) findViewById(R.id.main_l); buildGameField(); }

Теперь необходимо реализовать метод buildGameField(). Для этого требуется сгенерировать поле в виде матрицы. Этим будет заниматься класс Game. Сначала нужно создать класс Square для ячеек и класс Player, объекты которого будут заполнять эти ячейки.

Square.java

package com.example; public class Square { private Player player = null; public void fill(Player player) { this.player = player; } public boolean isFilled() { if (player != null) { return true; } return false; } public Player getPlayer() { return player; } }

Player.java

package com.example; public class Player { private String name; public Player(String name) { this.name = name; } public CharSequence getName() { return (CharSequence) name; } }

Все классы нашего приложения находятся в папке src.

Game.java

package com.example; public class Game { /** * поле */ private Square field; /** * Конструктор * */ public Game() { field = new Square; squareCount = 0; // заполнение поля for (int i = 0, l = field.length; i

Инициализация Game в конструкторе KrestikinolikiActivity.
public KrestikinolikiActivity() { game = new Game(); game.start(); // будет реализован позже }

Метод buildGameField() класса KrestikinolikiActivity. Он динамически добавляет строки и колонки в таблицу (игровое поле):
private Button buttons = new Button; //(....) private void buildGameField() { Square field = game.getField(); for (int i = 0, lenI = field.length; i
В строке 8 создается объект, реализующий интерфейс View.OnClickListener. Создадим вложенный класс Listener. Он будет виден только из KrestikinolikiActivity.
public class Listener implements View.OnClickListener { private int x = 0; private int y = 0; public Listener(int x, int y) { this.x = x; this.y = y; } public void onClick(View view) { Button button = (Button) view; } }
Осталось реализовать логику игры.
public class Game { /** * игроки */ private Player players; /** * поле */ private Square field; /** * начата ли игра? */ private boolean started; /** * текущий игрок */ private Player activePlayer; /** * Считает колличество заполненных ячеек */ private int filled; /** * Всего ячеек */ private int squareCount; /** * Конструктор * */ public Game() { field = new Square; squareCount = 0; // заполнение поля for (int i = 0, l = field.length; i

Определение победителя

К. О. подсказывает, что в крестики-нолики выирывает тот, кто выстроет X или O в линию длиной, равной длине поля по-вертикали, или по-горизонтали, или по-диагонали. Первая мысль, которая приходит в голову - это написать методы для каждого случая. Думаю, в этом случае хорошо подойдет паттерн Chain of Responsobility. Определим интерфейс
package com.example; public interface WinnerCheckerInterface { public Player checkWinner(); }
Так как Game наделен обязанностью выявлять победителя, он реализует этот интерфейс. Настало время создать виртуальных «лайнсменов», каждый из которых будет проверять свою сторону. Все они реализует интерфейс WinnerCheckerInterface.

WinnerCheckerHorizontal.java

package com.example; public class WinnerCheckerHorizontal implements WinnerCheckerInterface { private Game game; public WinnerCheckerHorizontal(Game game) { this.game = game; } public Player checkWinner() { Square field = game.getField(); Player currPlayer; Player lastPlayer = null; for (int i = 0, len = field.length; i

WinnerCheckerVertical.java

package com.example; public class WinnerCheckerVertical implements WinnerCheckerInterface { private Game game; public WinnerCheckerVertical (Game game) { this.game = game; } public Player checkWinner() { Square field = game.getField(); Player currPlayer; Player lastPlayer = null; for (int i = 0, len = field.length; i

WinnerCheckerDiagonalLeft.java

package com.example; public class WinnerCheckerDiagonalLeft implements WinnerCheckerInterface { private Game game; public WinnerCheckerDiagonalLeft(Game game) { this.game = game; } public Player checkWinner() { Square field = game.getField(); Player currPlayer; Player lastPlayer = null; int successCounter = 1; for (int i = 0, len = field.length; i

WinnerCheckerDiagonalRight.java

package com.example; public class WinnerCheckerDiagonalRight implements WinnerCheckerInterface { private Game game; public WinnerCheckerDiagonalRight(Game game) { this.game = game; } public Player checkWinner() { Square field = game.getField(); Player currPlayer; Player lastPlayer = null; int successCounter = 1; for (int i = 0, len = field.length; i
Проинициализируем их в конструкторе Game:
//(....) /** * "Судьи" =). После каждого хода они будут проверять, * нет ли победителя */ private WinnerCheckerInterface winnerCheckers; //(....) public Game() { //(....) winnerCheckers = new WinnerCheckerInterface; winnerCheckers = new WinnerCheckerHorizontal(this); winnerCheckers = new WinnerCheckerVertical(this); winnerCheckers = new WinnerCheckerDiagonalLeft(this); winnerCheckers = new WinnerCheckerDiagonalRight(this); //(....) }
Реализация checkWinner():
public Player checkWinner() { for (WinnerCheckerInterface winChecker: winnerCheckers) { Player winner = winChecker.checkWinner(); if (winner != null) { return winner; } } return null; }
Победителя проверяем после каждого хода. Добавим кода в метод onClick() класса Listener
public void onClick(View view) { Button button = (Button) view; Game g = game; Player player = g.getCurrentActivePlayer(); if (makeTurn(x, y)) { button.setText(player.getName()); } Player winner = g.checkWinner(); if (winner != null) { gameOver(winner); } if (g.isFieldFilled()) { // в случае, если поле заполнено gameOver(); } }
Метод gameOver() реализован в 2-х вариантах:
private void gameOver(Player player) { CharSequence text = "Player \"" + player.getName() + "\" won!"; Toast.makeText(this, text, Toast.LENGTH_SHORT).show(); game.reset(); refresh(); } private void gameOver() { CharSequence text = "Draw"; Toast.makeText(this, text, Toast.LENGTH_SHORT).show(); game.reset(); refresh(); }
Для Java, gameOver(Player player) и gameOver() - разные методы. Воспользовавшись Builder"ом Toast.makeText, можно быстро создать и показать уведомление. refresh() обновляет состояние поля:
private void refresh() { Square field = game.getField(); for (int i = 0, len = field.length; i

Готово! Надеюсь, эта статья помогла Вам освоиться в мире разработки под OS Android. Благодарю за внимание!

Видео готового приложения

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

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

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

Java Development Kit

Первое, что вам понадобится, чтобы начать разработку java-приложений (основа Android-приложений), это Java Development Kit (JDK) от Oracle, который можно скачать по следующей ссылке.

Вероятно, вы в какой-то форме уже скачивали и устанавливали Java Runtime Environment (JRE), необходимую для запуская апплетов на вашем компьютере. Вам нужно удалить версию JRE, которая на данный момент установлена на вашем компьютере в случае, если она конфликтует с версией JDK, которую вы скачиваете. К счастью, вышеприведенная версия включает в себя последнюю и лучшую версию JRE, которая точно будет совместима с JDK, что исключает необходимость переустанавливать её.

Скачайте и запустите установщик, убедитесь, что ‘Development Tools’, ‘Source Code’ и ‘Public JRE’ включены в установку в окне ручной установки (можно увидеть ниже). Нажмите ‘Next’, прочтите условия лицензионного соглашения, если у вас есть достаточно свободного времени, и приступайте к установке.

Хотя большинство приложений интегрированной среды разработки (IDE) – в следующем этапе мы поговорим об этом подробнее – предоставляются с собственным компилятором, я рекомендую вам встроить только что установленный Java-компилятор в командную строку, чтобы вы могли пользоваться им по востребованию.

Если вы используете Windows, пройдите в настройки системы из панели управления и выберите расширенные настройки системы. Здесь выберите ‘Environment Variables’ и найдите переменную ‘Path’. Добавьте пусть до файла в виде каталога ‘bin’ до вашей установки Java, как показано на примере ниже.

Чтобы проверить, все ли прошло успешно, используйте команды ‘java -version’ и ‘javac -version’. У вас должно отобразиться нечто следующее:



Установка IDE

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

Хотя в интернете существует множество IDE, здесь мы будем использовать бесплатное ПО Eclipse, так как Google предоставляет плагин для интеграции его с Android SDK. Скачать необходимую версию Eclipse можно .

Здесь все может отличаться от случая к случаю, но когда я скачивал ресурс, ПО было предоставлено в виде zip-архиве, который содержал файл ‘eclipse.exe’, работу с которым можно было начать без каких-либо установок. Если ваша версия требует установки, то самостоятельно произведите ее, так как здесь нет каких-то особенных требований и настроек. При первом запуске, ПО запросит у вас указать ‘Workbench’, где расположены ваши коды и сопутствующие файлы. Укажите удобное вам расположение.

Как только завершите, перед вами будет отображено следующее:

Если вам хочется немного ознакомиться с Eclipse перед работой, то откройте окошко Help, и просмотрите руководство Workbench User Guide. Здесь также можно видеть руководство Development User Guide, которое поможет вам освоить базовый навык работы с Java, если вы до сих пор не знакомы с этим языком.

Скачиваем Android SDK

Пройдите по этой ссылке и нажмите ‘Get the SDK’. На следующей странице вам будет предложена ссылка для установки Android SDK на ваш компьютер.

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

Когда установка будет завершена, откройте Android SDK Manager, и тогда перед вами окажется следующее окошко:

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

Устанавливаем плагин Android Development Tools

Как уже было отмечено выше, Google предлагает специальный плагин Android SDK для Eclipse, который можно добавить прямо из IDE.

В Eclipse пройдите в ‘Help’ и выберите ‘Install New Software’. Нажмите кнопку ‘Add’, и тогда вы будете перемещены к окошку, которое позволит вам добавить онлайн-репозиторий ПО, содержащий плагин ADT. Задайте описательное название, и введите следующий URL в блок ‘Location’:

  • http://dl-ssl.google.com/android/eclipse

Нажмите ‘OK’. Выберите только что добавленный репозиторий и установите галочку ‘Developer Tools’.

Нажмите ‘Next’ , и пройдите по этапам установки файлов плагина. После завершения, в вашей панели управления Eclipse должны появиться следующие 2 иконки:

Теперь пройдите в ‘Window’ и ‘Preferences’, выберите раздел ‘Android’ и убедитесь, что SDK Location совпадает с SDK directory, которую вы указали ранее. В результате у вас должно получиться следующее:

Теперь вы являетесь владельцем плагина Android Development Tools.

Настраиваем эмулятор Android

Хотя это и помогает, на самом деле вам не обязательно иметь под рукой все модели Android-устройств, чтобы создавать под них приложения, так как Google снабжает нас отличным эмулятором собственной мобильной ОС вместе с SDK. Перед тем, как начать разработку, нам желательно настроить Android Virtual Device (AVD), чтобы платформа для тестирования была готова заранее.

Теперь нам нужно создать новое виртуальное устройство. Данный пример подразумевает создание общего устройства, но существуют также ресурсы для конкретных настроек под Android-устройства. Выберите ‘New’, и перед вами окажется пустое окошко, приведенное ниже:

  • Name: если вы хотите тестировать приложение на нескольких настройках устройств, то вам нужно будет ввести нечто описательное. С другой стороны, также можно использовать и более обобщенное название.
  • Target: это версия Android, на которую будет направлен эмулятор. В большинстве случаев, вашей опцией будет последняя версия Android, которая вместе с устанавливаемым SDK. Тем не менее, если вы хотите провести тестирование на более ранних версиях (что было бы довольно мудро, учитывая столь огромное множество различных версий и моделей), тогда воспользуйтесь SDK manager, чтобы установить дополнительные версии.
  • SD card: указатель дополнительного дискового пространства, которое будет использоваться в устройстве. По умолчанию, виртуальное устройство имеет 194 мегабайта «внутренней» памяти и SD-карту, поэтому вам нужно будет вручную указать необходимое значение объема дискового пространства.
  • Skin: вы можете использовать эту опцию для установки внешнего вида и конфигураций конкретного устройства (HTC One X, к примеру). Но в нашем случае мы используем стандартное значение.
  • Hardware: так как среди физических устройств на базе Android существуют существенные различия с точки зрения аппаратного оснащения, вы можете использовать эту опцию, чтобы добавлять любое оснащение, которое будет использоваться вашим приложением.

По завершеии окошко AVD Manager должно включать в себя ваше только что созданное устройство. Вы можете нажать ‘Start’, чтобы запустить это устройство, только учитывайте, что первый запуск может потребовать времени.



Ваш первый Android-проект

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

Чтобы начать, пройдите в ‘File’, ‘New’, ‘Project’ и раскройте вкладку Android. Выберите там ‘Android Application Project’, и перед вами откроется следующее окошко:

Вы можете воспользоваться выпадающими меню возле каждого поля, чтобы выбрать соответствующее значение. Главное, что следует учитывать, это ‘Application Name’, которое отвечает за название нашего приложение при установке, а также ‘Minimum Required SDK’, при помощи которого вы указываете самую раннюю версию Android, поддерживающую ваше приложение.

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

Это действие или представление, с которым пользователь будет взаимодействовать, поэтому логичнее всего будет разделить ваше приложение на активность с точки зрения того, какие окна пользователь будет видеть, и того, какой функционал будет доступен на каждом из них. Итак, если вы, к примеру, создаете простую программу «Hello World», то вам понадобится лишь одно активное окно, которое представляет текст, а все настройки интерфейса извлекаются из ресурсных файлов, которые создает SDK.

Когда вы определились с этими окнами, нажмите ‘Finish’. Eclipse соберет все необходимые для приложения файлы вместе, в которые вы будете вписывать код и/или изменять настройки для указания параметров вашей программы.

И на этом все! Все готово к тому, чтобы собрать готовое приложение. В Google можно найти полноценные руководства о том, как заниматься разработкой Android-приложений (для тех, у кого есть опыт в программировании). Всем, кто собирается заниматься Java-программированием, также следует сначала ознакомиться с руководствами вроде того, что нам предоставила компания Oracle.

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

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

  • Java – это официальный язык разработки для Android, и он поддерживается средой разработки от Google. Выучить его может быть не так просто.
  • Kotlin – этот язык был представлен в качестве второго официально поддерживаемого языка. Во многом он похож на Java, но начать работу с ним проще.
  • C/C++ – Android Studio поддерживает C++. Этот язык еще сложнее, но он активно применяется при разработке игр.
  • C# – этот язык может понравиться начинающим. Он поддерживается средами разработки Unity и Xamarin. Они дают преимущества при разработке игр и продуктов для разных платформ.
  • BASIC – этот язык поддерживает среда разработки B4A IDE, которая является простым, но мощным инструментом.
  • Corona/LUA – среда LUA хороша для разработки кросс-платформенных продуктов. Она значительно упрощает создание приложений и предоставляет доступ к нативным библиотекам.
  • PhoneGap (HTML, CSS, JavaScript) – этот вариант подходит для тех, кто умеет создавать интерактивные веб-страницы. С PhoneGap вы сможете похожим образом создавать кросс-платформенные приложения.

Теперь разберем эти варианты подробнее.

Java

Язык программирования Java первым приходит в голову, когда речь заходит о разработке под Android. Java был выпущен компанией Sun Microsystems в 1995 году. Он используется для разного типа приложений. Если говорить об Android-приложениях, Java – это лучший выбор для тех, кто хочет уйти в разработку для Android с головой. Однако это не самый лучший язык для новичка. Вы непременно столкнетесь с трудностями. Если вы начинающий, хотите создать игру или хотите начать обучение, но еще не определились, какого именно результата вы хотите достичь, возможно, следует начать с чего-то более простого.

Kotlin

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

C/C++

Не самый лучший выбор для создания простых приложений. Вы можете работать с языком в Android Studio с помощью Android NDK, но в отличие от Java и Kotlin он не выполняется на Java Virtual Machine. Однако он работает нативно на устройстве, что может дать вам больше возможностей в работе с памятью. Вы можете добиться с его помощью лучшей производительности в случае с 3D-играми. Если это ваш выбор, готовьтесь к трудностям. Возможно, вам лучше использовать готовый игровой движок для создания игр.

C#

C# – это более простая версия C и C++, разработанная компания Microsoft. С этим языком вам не нужно заботиться о работе с памятью, как и в случае с Java. Однако C# более современный и чистый, в сравнении с Java. C# и Unity окажутся очень полезными и простыми в разработке игр. Для разработки приложений среда Unity не так хороша. C# – отличный выбор, но он ограничит ваши возможности в случае, если вы желаете стать профессиональным Android-разработчиком.

BASIC

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

Corona

Corona в связке с LUA позволит разрабатывать не только для Android, и это значительно проще, чем начинать учить Java. Вам понравится, и результат порадует, но для того, чтобы развивать свои навыки, придется учить что-нибудь еще. Как и в случае с BASIC, профессионалом не стать.

PhoneGap

Последний вариант годится для тех, кто хорош в веб-разработке и может создать интерактивный сайт, используя HTML, CSS и JavaScript. PhoneGap позволит этими же инструментами создать приложение. Этот вариант имеет очень мало общего с разработкой для Android, но подойдет, если вы преследуете конкретные цели и не планируете разрабатывать для Android в будущем.

Вариантов много. Уверены, вы сможете сделать правильный выбор.

По материалам Android Authority