Создание приложений под андроид. Как создать свое первое мобильное приложение
В этом руководстве вы усвоите, как начать разработку под Андроид, а именно: мобильных приложений на платформе Android Eclipse + SDK. Сегодня существует множество подходов к разработке и созданию мобильных приложений для Android. Сложные аппаратные устройства, планшетные ПК и различные программные платформы (Symbian OS, iOS, WebOS, Windows Phone 7…) открывают бескрайнее пространство для разработчиков.
Итак, список приложений для начала разработки мобильных приложений под Android огромен. Какую платформу выбрать? Какой язык программирования учить? Какой набор приложений выбрать для планирования проекта? В этом руководстве вы усвоите, как начать разработку мобильных приложений для платформы Android, открытую мобильную ОС от Google.
Почему платформа Android?
Android - открытая платформа, основанная на ядре Linux. Установлена она на тысячах девайсов широкого круга производителей. Android предоставляет приложения для всех видов оборудования, которые только можно представить в виде современных мобильных устройств - цифровые компасы, видеокамеры, GPS, датчики и многое другое.
Бесплатные инструменты разработки для Android позволяют быстро начать создание бесплатных или почти бесплатных приложений. Когда вы готовы явить миру вашу программку, вы можете опубликовать ее посредством Android Market. Публикация в Android Market требует одноразового регистрационного взноса (25 долл. США на момент написания статьи) и, в отличие от App Store Apple (который очень строго подходит к цензу), делает ваше приложение доступным для скачивания и покупки после быстрого обзора - если приложение не нарушает правила и закон.
Вот несколько других отличий Android SDK, которые предлагает Вам преимущества как разработчику:
- Пакет Android SDK доступен для Windows, Mac и Linux, поэтому вам не нужно платить за новое "железо" для написания приложений.
- SDK встроен в Java. Если вы знакомы с языком программирования Java, вы уже на полпути к освоению.
- С учетом распространения приложения через Android Market, оно будет доступно сразу для сотен тысяч пользователей. Вы не ограничивается только официальным Market"ом, поскольку есть альтернативы. Например, вы можете опубликовать приложение на своем блоги. Amazon по слухам, готовит собственный магазин Android-приложений.
- Равно как техническая документация SDK, для разработчиков Android создаются новые ресурсы. Платформа набирает все большую популярность среди пользователей и разработчиков.
Хватит говорить - давайте начнем разработку приложений для Android!
Установка Eclipse и Android SDK
Ориентация под платформу Android при разработке
Перед тем, как начать написание приложений для Android, нужно скачать SDK для платформы Android. Каждая платформа имеет собственную версию Android SDK, которая установлена на устройствах пользователей. Для версии Android 1.5 и выше существует две платформы: Android Open Source Project и Google.
Android Open Source Project - платформа с открытым исходным кодом, но не включает в себя расширения Google, такие как Google Maps. Если вы не хотите использовать Google API, функциональность карт Google будет недоступна для вашего приложения. Если у вас нет особых причин делать это, я бы рекомендовал вам настроить таргетинг на одной из платформ Google, так как это позволит вам использовать собственные расширения Google.
- Выберите Window->Android SDK and AVD Manager.
- Нажмите Available Packagesв левой колонке и проверьте репозиторий, чтобы показать список доступных платформ Android.
- Вы можете выбрать платформы для загрузки из списка или оставить все отмеченными, чтобы загрузить все доступные платформы. По завершению, нажмите Install Selected и следуйте инструкции по установке.
После того как все было успешно загружено, вы готовы приступить к разработке под Android.
Создание нового проекта Android
Мастер настройки Eclipse New Project Wizard поможет создать приложение Android, сгенерировав файлы и код, готовые к запуску, справа от блока. Это быстрый способ убедиться в работоспособности и хорошая начальная точка при начале разработки приложений:
После нажатия Finish, Eclipse создаст новый проект Android, готовый к запуску и разработке под Android. Помните, вы говорили Eclipse сгенерировать Activity, названный BrewClockActivity? Это код, который Android на самом деле использует для запуска приложения. Сгенерированный код будет отображен в виде простого сообщения в духе ‘Hello World’.
Пакеты
Имя пакета - идентификатор для вашего приложения. Когда настанет время публикации результата на Android Market, этот идентификатор будет использоваться для отслеживания обновлений для приложения, поэтому важно убедиться, что этот идентификатор уникален. Хотя здесь мы используем имя com.example.brewclock,для реального приложения лучше выбрать что-то вроде com.yourcompanyname.yourapplication.
Версии SDK
Версия Min SDK Version (название говорит само за себя) - самая ранняя версия Android, на которой приложение будет работать. С каждым новым выпуском Android, SDK добавляет и изменяет различные методы. При выборе версии SDK, Android (и Android Market) знает, что ваше приложение будет работать только на устройствах с версией платформы Android указанной версии и выше.
Запуск вашего приложения
Сейчас попробуем запустить наше приложение в Eclipse. Поскольку это первый запуск, Eclipse спросит, с каким из типов проекта вы работаете:
- Выберите Run->Run или нажмите Ctrl+F11.
- Выберите Android Application и нажмите OK.
Eclipse попробует запустить приложение на устройстве с Android. На данный момент, однако, у вас нет устройств под управлением Android, так что запустить проект не удастся, и вам будет предложено создать новое устройство Android Virtual Device (AVD).
Виртуальные устройства (Android Virtual Devices)
Android Virtual Device (AVD) эмулирует среду Android, будь то мобильный телефон или планшетный ПК. Вы можете создавать сколько угодно устройств AVD, с разными версиями платформы Android. Для каждого AVD вы можете настроить различные параметры устройств, указав наличие физической клавиатуры, поддержки GP, разрешение камеры и так далее.
Перед тем как запустить приложение, вы должны создать свой первое устройство AVD с платформой SDK (Google API, 1,6).
Давайте сделаем это сейчас:
- Если вы еще не пробовали запустить приложение, нажмите Run (или сочетание клавиш Ctrl+F11)
- Когда всплывает предупреждение, нажмите Yes для создания AVD.
- Нажмите New в диалоге Android SDK and AVD Manager.
- Установите следующие параметры для AVD: Name: Android_1.6 Target: Google APIs (Google Inc.) - API Level 4 SD Card Size: 16 MiB Skin Built In: Default (HVGA)
- Нажмите Create AVD.
- Закройте диалог Android SDK and AVD Manager.
Запуск кода
Попробуйте запустить приложение снова (Ctrl + F11). Eclipse теперь будет создавать ваш проект и запускать новый AVD. Помните, AVD полностью эмулирует среду Android, причем вам даже не нужно наблюдать достаточно медленный процесс загрузки, как в случае с реальным устройством. По этой причине, как только AVD будет готов к работе, лучше не закрывать окно, пока вы закончили программировать, в течение всего дня.
Разработка под андроид: проектирование пользовательского интерфейса
Одним из первых шагов к созданию какой-либо программы вообще - проектирование пользовательского интерфейса. Вот небольшой набросок нашего приложения:
Пользователь сможет установить время кипячения в минутах, используя кнопки + и -. Когда он нажмет Start, отсчет времени начнется в течение указанного количества минут. Если пользователь отменяет кипячение, нажав на кнопку еще раз, время будет увеличено, когда таймер достигнет 0.
Построение интерфейса
Пользовательский интерфейс Android, или оболочка, которые описаны в документации XML, могут быть найдены в папке res/layouts. Код шаблона, уже сгенерированный Eclipse, объявлен в res/layouts/main.xml и, как вы заметили, уже работает в эмуляторе.
Eclipse располагает собственным инструментарием для проектировки макета, который позволяет создавать интерфейс методом перетаскивания в пределах экрана. Тем не менее, временами легче написать интерфейс в XML и использовать графический макет для предварительного просмотра результатов.
Давайте сделаем это сейчас, изменив main.xml в соответствии с эскизом выше:
- Откройте res/layouts/main.xml в Eclipse двойным нажатием из Package Explorer.
- Выберите вкладку main.xml в нижней части экрана, чтобы перейти в режим XML.
Сейчас изменим содержание main.xml на следующее:
# /res/layouts/main.xml
Как вы можете видеть, файлов в Android XML много, но это позволит вам контролировать практически каждый элемент на экране.
Одним из наиболее важных элементов интерфейса в Android являются контейнеры Layout, такие как LinearLayout, используемый в этом примере. Эти элементы невидимы для пользователя, но выступают в качестве контейнеров для других элементов, таких как Buttons и TextViews.
Есть несколько типов расположения макета, каждый из которых используется для построения различных типов планировки. Как и LinearLayout и AbsoluteLayout, TableLayout позволяет использование интерфейса с использованием сетки. Вы можете узнать больше об этом в общий макет объектов разделе API-документации.
Привязка вашего макета к коду
После сохранения макет, попробуйте запустить приложение в эмуляторе, нажав Ctrl + F11, или нажмите значок Run в Eclipse. Теперь вместо сообщения "Hello World" вы увидите, что в Android теперь отображается интерфейс приложения.
Если нажать любую кнопку, они будут подсвечиваться, как и ожидалось, но не делайте что-нибудь помимо этого. Давайте продолжим написание кода вслед за интерфейсом макета:
# /src/com/example/brewclock/BrewClockActivity.java ... import android.widget.Button; import android.widget.TextView; public class BrewClockActivity extends Activity { /** Properties **/ protected Button brewAddTime; protected Button brewDecreaseTime; protected Button startBrew; protected TextView brewCountLabel; protected TextView brewTimeLabel; ... }
Далее, мы изменим вызов onCreate. Это вызов происходит всякий раз, когда на Android запускается приложение. В коде, сгенерированном Eclipse, onCreateсоздает вид активности на R.layout.main. Это та строка кода, которая дает команду Android декодировать макет документа XML и отображать его пользователю.
Объект ресурса (Resource Object)
В Android, R - это специальный объект, который автоматически создается для обеспечения доступа к ресурсам вашего проекта (макеты, строки, меню, иконки...) внутри кода. Каждому ресурсу присваивается свой id. В файле макета (см. выше) это @+id атрибуты XML. Мы будем использовать их для привязки Buttons и TextViews в нашем макете:
# /src/com/example/brewclock/BrewClockActivity.java ... public class BrewClockActivity extends Activity { ... public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // Connect interface elements to properties brewAddTime = (Button) findViewById(R.id.brew_time_up); brewDecreaseTime = (Button) findViewById(R.id.brew_time_down); startBrew = (Button) findViewById(R.id.brew_start); brewCountLabel = (TextView) findViewById(R.id.brew_count_label); brewTimeLabel = (TextView) findViewById(R.id.brew_time); } }
"Прослушка" событий
Для определения нажатия кнопок нам необходимо реализовать их прослушивание. Вы можете быть знакомы со слушателями обратного вызова, или callbacks, из других платформ, таких как Javascript / JQuery или Rails.
Android обеспечивает аналогичный механизм путем предоставления интерфейса Listener, такие как OnClickListener, которые определяют методы, которые будут срабатывать при возникновении события. OnClickListener интерфейс уведомит ваше приложение, когда пользователь нажимает на экран или определенную кнопку. Кроме того, необходимо сказать каждой кнопке о ClickListener:
# /src/com/example/brewclock/BrewClockActivity.java ... // Be sure not to import // `android.content.dialoginterface.OnClickListener`. import android.view.View.OnClickListener; public class BrewClockActivity extends Activity implements OnClickListener { ... public void onCreate(Bundle savedInstanceState) { ... // Setup ClickListeners brewAddTime.setOnClickListener(this); brewDecreaseTime.setOnClickListener(this); startBrew.setOnClickListener(this); } ... public void onClick(View v) { // TODO: Add code to handle button taps } }
Далее мы добавим код, который обрабатывает каждое из наших нажатий кнопок. Мы также добавим четыре новые свойства Activity, что позволит пользователю установить и отслеживать время пивоварения: сколько варок было сделано и запущен ли таймер.
# /src/com/example/brewclock/BrewClockActivity.java ... public class BrewClockActivity extends Activity implements OnClickListener { ... protected int brewTime = 3; protected CountDownTimer brewCountDownTimer; protected int brewCount = 0; protected boolean isBrewing = false; ... public void onClick(View v) { if(v == brewAddTime) setBrewTime(brewTime + 1); else if(v == brewDecreaseTime) setBrewTime(brewTime -1); else if(v == startBrew) { if(isBrewing) stopBrew(); else startBrew(); } } }
Обратите внимание, что мы используем CountDownTimer класс, предоставляемый Android. Это позволяет легко создать и запустить простой счетчик и получать уведомления через регулярные промежутки времени в то время, как идет обратный отсчет. Вы будете использовать это в методе startBrew, читайте об этом ниже.
Следующие методы - модели поведения ползунка настройки времени варки, запуска и остановки варения, а также счетчика. Мы также инициализируем свойства brewTime и brewCount в onCreate.
Было бы хорошей практикой переместить этот код в отдельный класс модели, но для простоты мы добавим код в BrewClockActivity:
# /src/com/example/brewclock/BrewClockActivity.java ... public class BrewClockActivity extends Activity implements OnClickListener { ... public void onCreate(Bundle savedInstanceState) { ... // Set the initial brew values setBrewCount(0); setBrewTime(3); } /** * Set an absolute value for the number of minutes to brew. * Has no effect if a brew is currently running. * @param minutes The number of minutes to brew. */ public void setBrewTime(int minutes) { if(isBrewing) return; brewTime = minutes; if(brewTime < 1) brewTime = 1; brewTimeLabel.setText(String.valueOf(brewTime) + "m"); } /** * Set the number of brews that have been made, and update * the interface. * @param count The new number of brews */ public void setBrewCount(int count) { brewCount = count; brewCountLabel.setText(String.valueOf(brewCount)); } /** * Start the brew timer */ public void startBrew() { // Create a new CountDownTimer to track the brew time brewCountDownTimer = new CountDownTimer(brewTime * 60 * 1000, 1000) { @Override public void onTick(long millisUntilFinished) { brewTimeLabel.setText(String.valueOf(millisUntilFinished / 1000) + "s"); } @Override public void onFinish() { isBrewing = false; setBrewCount(brewCount + 1); brewTimeLabel.setText("Brew Up!"); startBrew.setText("Start"); } }; brewCountDownTimer.start(); startBrew.setText("Stop"); isBrewing = true; } /** * Stop the brew timer */ public void stopBrew() { if(brewCountDownTimer != null) brewCountDownTimer.cancel(); isBrewing = false; startBrew.setText("Start"); } ... }
Только части этого кода, характерные для Android, создают отображения меток, используя метод setText. В startBrew мы создаем и запускаем CountDownTimer для начала посекундного отсчета, когда варка/кипячение окончео. Обратите внимание, что мы определяем слушателей CountDownTimer (onTick и onFinish). onTick будет вызываться каждые 1000 миллисекунд (1 секунду), в то время как вызов onFinish происходит тогда, когда таймер достигнет нуля.
Избегаем сложности в программировании на Android
Чтобы сохранить это руководство для разработки под Android простым, я намеренно применял надписи непосредственно в коде (например, "Brew Up!", "Start", "Stop"). На самом деле, это не очень хорошая практика, так как затрудняет поиск и изменение этих строк в крупных проектах.
Android обеспечивает аккуратный способ хранения ваших текстовых строк отдельно от кода R-объекта. R позволяет определить все строки приложения в XML-файле (res/values/strings.xml), к которому можно получить доступ в коде по ссылке. Например:
# /res/values/strings.xml
Теперь, если вы хотите изменить Brew Up! что-то другое, нужно изменить его единожды в файле strings.xml. Если ваше приложение содержит десятки файлов кода, надписей в одном месте приобретает огромный смысл!
Проверяем BrewClock
Мы завершили написание кода, и пришло время "опробовать" приложение. Нажмите "Run" или Ctrl + F11, чтобы запустить BrewClock в эмуляторе. Если все прошло хорошо, вы увидите интерфейс настройки и готовы к заварке чая! Попробуйте установить разное время заварки и нажмите Start для обратного отсчета.
Резюме
В этом кратком введении в разработку под Андроид, вы скачали и установили Android SDK и плагин Eclipse Android Development Tools (ADT). Вы настроили эмулятор или виртуальное устройство для тестирования ваших приложений. Вы также создали рабочее приложение для Android который подчеркнул ряд ключевых понятий, которые вы будете использовать при разработке будущих Android приложений.
Будем надеяться, что это разбудит ваш аппетит для создания мобильных приложений и экспериментов в этой захватывающей области. Android предлагает отличный способ к написанию приложений для ряда нынешних и будущих мобильных устройств. Если вы уже написали рабочее приложение под эту платформу, не забудьте сообщить нам об этом в комментариях!
В статье описаны основные трудности создания приложений под 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, можно работать хоть на мальдивском пляже - мечта, да и только! Правда, к этому нужно уметь прийти, добиться этого, ведь не каждый может стать разработчиком. Возможна ли такая карьера с нуля и как ее правильно начать?
Программирование - это интересно
Чтобы создать хорошее приложение, нужно разбираться и в той платформе, для которой оно предназначается, и в ресурсах, которые необходимо реализовать в проекте. Конечно же, нужно в совершенстве обладать всеми инструментами в выбранной сфере программирования, чтобы код был качественным, чистым, без ошибок, недочетов и «букашек». Зачастую новички спрашивают: «Что нужно для разработки приложений под Android?». В первую очередь - общие представления о правилах программирования, а также особенностях выбранной операционной системы.
В настоящее время специалистов, способных создавать действительно хороший код приложений, немного, поэтому на рынке наблюдается нехватка профессионалов - ниша полупустая. А вот горе-программистов, которые вроде и могут что-то написать, да только качество готового проекта совсем не так высоко, как ожидает заказчик, - целое море. Конечно, чтобы разработка мобильных приложений под Android, iOS приносила приличный доход, нужно принадлежать ко второй категории.
Начинаем правильно
Начинается разработка приложений под Android с изучения ООП - объектно-ориентированных языков программирования. При этом владеть ими нужно не на уровне общего представления, а глубоко, чтобы разрабатывать качественный код. Этот навык необходим любому программисту, не важно, под какую платформу он собирается писать.
Высокое значение языка программирования - базовая способность для разработки приложений под Android. В совершенстве владея техническим языком, можно включиться в сложный проект, взять на себя задачи тим-лидера и (закономерно!) получать большое финансовое вознаграждение за труды. А вот человеку, только-только начинающему с ООП, рассчитывать на существенные деньги не приходится. Впрочем, и ответственность на него обычно возложена несерьезная.
Читать - не перечитать!
Чтобы освоить разработку мобильных приложений под Android, iOS, необходимо начать с освоения логики технического языка. На помощь приходят специализированные издания, созданные профессионалами специально для новичков. Обычно они называются «Разработка для чайников», «Введение в основы», «Разработка мобильных приложений под Android: уровень 1» или наподобие. Придется очень внимательно изучить выбранное издание (скорее всего, не одно), чтобы освоить самые базовые понятия, логику технического языка. Эти книги формируют у начинающего программиста представление о процессе разработки ПО в общих чертах.
Следующий шаг - это более глубокое погружение в среду. В магазинах можно найти большое разнообразие книг а-ля «Разработка мобильных приложений под Android: уровень 2», «Программирование для продолжающих» и «Как начать писать свои приложения?». Чем больше литературы удастся изучить, освоить, понять, тем эффективнее получится работать.
На чем пишем?
С чего начать разработку приложений под Android? Как говорят опытные программисты, для начала нужно понять, с каким языком программирования проще и легче работать, что больше подходит для воплощения в жизнь поставленных перед новичком задач. В настоящее время активно используются Java, C++, Visual C#. Преимущественно останавливаются на «Джаве» как оптимальном варианте для создания разнообразного софта - вплоть до довольно интересных игр. Важное преимущество этого языка - возможность реализации кроссплатформенных приложений, то есть таких, которые одновременно могут функционировать под разными ОС. Да и, как известно, зарабатывают на разработке приложений под Android больше всех те, чьи приложения на этапе публикации подходят не только для этой ОС, но и iOS, Windows Phone. С другой стороны, воплотить в жизнь такой проект будет посложнее, чем под одну платформу.
Если через книги разработку приложений под Android Eclips было решено осваивать с использованием языка программирования Visual C#, тогда можно рассчитывать на поддержку мирового сообщества программистов. Дело в том, что специалистами были созданы огромные базы данных, библиотеки, содержащие дополнительное программное обеспечение. Это означает, что программист пишет код так, как ему удобнее, а специальные алгоритмы перевода позволяют перекодировать результат в инструкции конкретной операционной системы.
С чего начать?
Три первичных условия, обладание которыми позволяет ответить на все вопросы о том, как создать разработку приложений под Android:
- Среда разработки.
- Эмулятор ОС.
- Сборщик кода.
Планируя, как начать разработку приложений под Android, необходимо заранее продумать в будущем возможности улучшения, усовершенствования, развития приложения. Обычно пользователи ждут от полюбившегося, полезного приложения регулярных обновлений, меняющих не только дизайн, но и функциональные возможности. Все качественные продукты регулярно совершенствуются (между прочим, сама ОС "Андроид" тоже). В то же время обновления должны сопровождаться сохранением высокого уровня стабильности, то есть качество приложения по умолчанию поддерживается высоким.
Новейшие технологии для нового проекта
Как видно из опыта известных программистов, разработка мобильных приложений под Android дает в результате действительно качественный продукт, если применялись современные инструменты, передовые технологии, новейший подход. В то же время не стоит пренебрегать известными и хорошо себя зарекомендовавшими методиками построения кода. Комбинация качества и новинок позволяет добиться наиболее эффективного, сбалансированного, экономичного кода, реализующего все необходимые приложению функции.
В то же время разработка мобильных приложений под Android - это не гонка вооружений, нет необходимости постоянно осваивать новинки мира программирования, толком не разобравшись с тем, что было выпущено, изобретено, сконструировано ранее. Новичкам лучше писать приложения, пользуясь теми новыми решениями, к которым уже есть обучающий материал, накоплен опыт решения проблем, возникающих при работе в среде программирования. Многие начинающие программисты нуждаются в подсказке и совете, и по самым передовым технологиям получить их зачастую просто неоткуда. Но и пренебрегать новыми изданиями тоже нельзя - важно отслеживать веяния в выбранной сфере, чтобы успешно прогнозировать, на что будет спрос на рынке программирования в ближайшем и отдаленном будущем. Это позволит задать для себя правильный курс совершенствования в качестве программиста приложений.
Инструментарий - первая необходимость
Невозможно представить себе плотника без молотка, строителя без мастерка и водителя без машины. Точно так же и программист не может работать без среды разработки. Есть несколько вариантов, нет универсального рецепта по выбору оптимального для себя. Чаще всего прибегают к вариантам «Эклипс» (разработка «Нетбинс») и «Визуал Студио» (авторство «Майкрософт»). Есть и пакеты помельче, имеющие свои положительные и отрицательные стороны. Чтобы понять, где работать легче, а процесс получается более продуктивным, стоит попробовать сначала два самых известных варианта, а затем - другие, более экзотические, если первые два не подходят.
Определившись со средой программирования, приступают к выбору эмулятора "Андроид". Это такое программное решение, в котором можно быстро посмотреть, что уже запрограммировано, насколько это успешно работает, какие ошибки выдает. Словом, эмулятор позволяет увидеть промежуточный результат работы. Эмулятором называют надстройку среды, в которой ведется программирование. Он предназначается для тестирования и показывает, как приложение поведет себя, если будет поставлено на реальный девайс под управлением ОС "Андроид". Основное преимущество эмулятора - защищенность устройства при крахе приложения. Если что-то запрограммировано ошибочно, система оповестит об этом, но техника не пострадает. Как говорят профессионалы в своей области, для новичков особенно важно освоить использование эмулятора, чтобы не рисковать рабочей техникой без необходимости.
А нужно ли мне это?
Уже из описанного (а это лишь верхушка айсберга под названием «Разработка мобильных приложений») у многих новичков может возникнуть впечатление, что «овчинка выделки не стоит», проще говоря, слишком много усилий нужно приложить, да и сама работа слишком сложна, поэтому не стоит даже и браться за нее. Но на самом деле все совсем не так. Действительно, начать писать хорошие приложения непросто, зато результат того стоит.
В настоящее время спрос на профессионалов в области программирования мобильных приложений растет изо дня в день. Это связано и с распространением смартфонов, и с политикой крупных компаний («Гугл», «Майкрософт»), поощряющих лучших разработчиков. Став действительно высококлассным профессионалом, можно попытаться попасть в штат даже этих всемирно известных фирм! Но для этого нужно приложить усилия и начинать нужно уже сейчас. Впрочем, если говорить о реальных перспективах, то тут лучше вспомнить о тенденции последних лет - почти каждая более-менее крупная фирма хочет иметь собственное мобильное приложение, так как считается, что это позволяет удержать клиента. Должен же кто-то разрабатывать эти приложения! А потом обновлять их, поддерживать, улучшать. Словом, работы непочатый край, если уметь делать свое дело.
Задачи специфические, требования общие
Большинство современных вакансий начинаются с требования уметь работать в команде. Несмотря на бытующий стереотип о том, что программисты - люди, оторванные от социума, для них также важно умение сотрудничать между собой. Над разработкой одного приложения обычно трудится команда, включающая в себя менеджеров, тестировщиков, проектировщиков, программистов и дизайнеров. Конечно, при создании совсем небольшого приложения все эти функции могут делегироваться к одному человеку, но фактически такой подход практикуется очень редко.
Чтобы добиться успеха в программировании, нужно задать себе четкую установку на командную работу. Ну, а чтобы стать ценным членом команды, нужно постараться получить неплохой опыт решения самых разных задач. Как показывает практика, самые важные участники команды разработчиков - те, кто могут справиться с внештатными ситуациями, комбинировать известные подходы и находить уникальные решения сложившейся ситуации самостоятельно. Новичок, вписываясь в команду к опытным разработчикам, должен не просто выполнять указания старших, но и анализировать их действия, применять полученную информацию на практике. Только в таком случае можно рассчитывать на карьерный рост.
Стабильность и развитие
Как показывают проведённые исследования, преимущественно разработчики выбирают наиболее удобную для себя среду программирования и в будущем все время работают в ней, отслеживая все новейшие тенденции, методики и инструменты, словом, не распыляются. Во многом, из-за такого подхода многие считают, будто бы слова Android и Eclipse являются синонимами, ведь чаще всего именно к «Эклипс» прибегают, когда пишут приложения для "Андроид". Студия «Нетбинс» создала уникальный программный инструмент, подходящий для совсем небольших и очень крупных, масштабных проектов. Его универсальность и спровоцировала такую популярность.
Привет, мир!
Разработка программного обеспечения для смартфонов, управляемых ОС "Андроид", - это не просто создание заглавной странички с приветствием. Это довольно большой объем работ по проектированию, оформлению, программированию, продвижению и сопровождению объекта. При этом надежный исполнитель всегда заранее оговаривает сроки, к которым работу нужно завершить, и тщательно их придерживается. Конечно, если предупредить, что фирма-заказчик имеет дело с новичком, возможно, просрочки будут прощены, но это губит репутацию.
Чтобы не столкнуться с неприятными последствиями собственной непунктуальности, необходимо исключить ее с первого рабочего дня. Профессионалы рекомендуют при получении заказа сразу разбить проект на мелкие шаги и по каждому определить временные границы исполнения. Удается опережать установленные рамки - отлично. Наблюдается отставание - значит, нужно работать активнее, больше, продуктивнее. Возможно, нужно обратиться за помощью и советом. Самое важное - не срывать поставленные сроки, ведь это не только испортит карьеру в рамках текущего проекта, но и может стать причиной отказа от сотрудничества в будущем со стороны других потенциальных заказчиков.
Через тернии - к звездам!
Чтобы не сомневаться в своих способностях справиться даже со сложной ситуацией, необходимо регулярно уделять время специализированной литературе по выбранной для себя области деятельности. Наверняка удастся почерпнуть из нее новую информацию о решениях, подходах, методиках, о новом варианте использования логики языка. Если однажды сложится проблемная ситуация, именно такой материал может послужить источником вдохновения для решения проблемы.
Помните, что фирменное приложение для любой современной компании является элементом престижа, а значит, задания по разработке подобных проектов будут актуальны довольно долгое время. Это та область, в которую перспективно вкладывать силы, время и средства. В то же время нельзя насиловать себя. Если новичок попробовал программирование под "Андроид" и осознал, что ему эта область не интересна, совершенно непонятна и не дается, стоит попробовать поискать себя в чем-то еще. Программирование требует специфической системы мышления, и она, действительно, дана не всякому. Поэтому главное - не сдаваться и продолжать искать свое призвание.
Операционная система, которая называется Android, является сравнительно новой. В связи с этим можно сказать, что ее возможности не до конца изучены, да и не все пользователи ее «уважают». Но все же следует отметить, что скорость этой операционной системы дает возможность сохранить время и ресурсы. На мобильном устройстве, которое работает под управлением подобной оболочки, можно будет сделать практически все, что можно выполнить на привычном компьютере.
Как создать приложение для «Андроид». Основные этапы
Программирование, которое доступно в способно дать достаточно большое количество полезных знаний. Овладеть базой системы довольно-таки несложно. Давайте рассмотрим основные этапы программирования и узнаем, как создать необходимое приложение для «Андроид».
Первый этап заключается в установке и настройке IDE для операционной системы. Это основное, что надо сделать пользователям, которые хотят постигнуть основы программирования через использование платформы Android. Необходимо сделать несколько простых шагов перед тем, как создать приложение для «Андроид».
Несколько простых действий
- Найти ту платформа, которая полностью отвечает вашим требованиям, и скачать ее. После того как программа будет скачана, выполняем ее установку. Следует отметить, что не будет работать, если
- Надо скачать приложение Eclipse Classic, выбрав определенную платформу. Например, Windows 64-bit. Для более качественной работы программы в нее устанавливается плагин Android Development Tools. Для этого нужно запустить утилиту, открыть меню Help и нажать на пункте Install New Software. После этого откроется окно, в котором потребуется щелкнуть на кнопке Add. Затем появится еще одно окно, в котором в строке с именем надо будет прописать какое-либо название. В пункте Location потребуется указать ссылку на тот ресурс, на котором находится необходимый плагин. Когда окно будет закрыто, на экране появится надпись Developer Tools. Напротив установите галочку и щелкните по кнопке «Дальше». Когда откроется следующее окно, смело жмите «Дальше», не внося каких-либо изменений. После инсталляции плагина надо щелкнуть по кнопке Finish. Для того чтобы произошла активация, перезапустите программу.
- Загрузить программу Android SDK и в случае необходимости обновить на последнюю версию.
Следующий шаг на пути к созданию
Второй этап в поиске ответа на вопрос о том, как создать приложение для «Андроид», заключается в создании приложения, которое поможет осуществить программирование. На этом этапе потребуется выполнить несколько условий.
Как можно проверить работу своего приложения?
Вы поняли, как создать приложение для «Андроид» и добились этой цели? Теперь проверяем его. Для того чтобы протестировать созданное приложение, стоит воспользоваться виртуальным смартфоном под названием Android Virtual Device. Он поможет отобразить работу своего приложения в наглядной форме на разнообразных моделях мобильного устройства.
Использование программных средств для создания приложения
Какими приложениями можно воспользоваться еще, чтобы создать приложение для «Андроид» с нуля? На сегодняшний день существует огромное количество самых разных утилит, которые помогут добиться поставленной цели. Многие из них обладают простым, интуитивно понятным интерфейсом. Следует более подробно рассмотреть основные программы, которые пользуются наибольшей популярностью у пользователей, занимающихся разработкой приложений для своей операционной системы.
Просто надо обладать фантазией
Вас привлекает создание приложения для «Андроид», но вы думаете, что для этого необходимо хорошо знать языки программирования? Все не так страшно, как может показаться на первый взгляд.
Главное, что вам потребуется - умение собирать виртуальные конструкторы. За счет использования специализированных сервисов, которые будут описаны ниже, вы сможете самостоятельно пройти такой процесс, как создание приложения для «Андроид». При этом знание языков программирования не понадобится. Вам потребуется всего лишь его собрать, руководствуясь своей фантазией, потребностями и талантом.
Бесплатная программа, позволяющая спроектировать приложение
Программа Ibuildapp по праву считается отличным инструментом, который поможет создать интересные приложения для «Андроид». Для того чтобы начать работать в данной программе, не надо изучать языки программирования или читать специальную литературу в поисках каких-либо знаний. Сервис обладает русскоязычной версией, что значительно упрощает работу с подобным программным обеспечением. Кроме того, использовать его можно совершенно бесплатно. Для этого потребуется только выбрать соответствующий режим эксплуатации. За счет данной утилиты есть возможность создавать разнообразные интересные приложения для «Андроид» и публиковать их на соответствующем ресурсе под названием Google Play. Стоит отметить, что есть и платный режим, однако для начала лучше разобраться в бесплатной версии, а только потом переходить на платную.
Реализуем задуманное при помощи известной утилиты
Еще одним популярным приложением считается утилита под названием Appsgeyser. Это бесплатный инструмент, который поможет создать приложение для «Андроид» самому. Функциональная часть данного программного обеспечения заключается только в одной задаче - «зашить» какой-либо ресурс в приложение. Это своеобразный конвертер контента сетевого портала в программу, и если у пользователя имеются свои сетевые ресурсы, которые необходимо перенести в приложения для телефонов «Андроид», то этот инструмент является оптимальным выбором.
За счет созданных приложений есть возможность заработать деньги. Для этого воспользуйтесь двумя методами: продайте свою разработку или встройте в нее рекламу. Вы увлекаетесь кино и у вас есть мобильное устройство под управлением «Андроид»? Приложение для фильма при помощи такой программы можно сделать без особого труда. К тому же можно создать утилиту не только из какого-либо ресурса, но и из видеоблога.
Интуитивно понятный интерфейс - работаем с удовольствием
Инструмент под названием Thappbuilder способен помочь быстро создать приложение для операционной системы Android, не затрачивая при этом большого количества сил и времени. Как и в вышеперечисленных программах, весь функционал будет доступен в бесплатном режиме, что является хорошей новостью для многочисленных пользователей. Интерфейс утилиты ничего сложного в себе не несет, он интуитивно понятен, поэтому и работа с сервисом будет удобной и приятной для пользователей мобильных систем под управлением «Андроид».
Приложение для фильма, изображений, музыки и т. п. можно легко создать, воспользовавшись шаблонами, которые предлагаются программой. Их можно переделать под свой вкус. Следует отметить, что утилита может порадовать пользователей возможностью работы в режиме конструктора.
Русскоязычная версия упростит работу
Достаточно простым и интуитивно понятным интерфейсом обладает и программа Appsmakerstore. Она позволяет создать собственное приложение несколькими щелчками мышки. Одно из основных достоинств приложения заключается в том, что программу можно будет адаптировать для шести версий платформ. Согласитесь, впечатляет? Вы сможете легко и просто создать нужное приложение для «Андроид». Русский язык, на который переведены названия всех инструментов и вкладок, в проектировании вам только поможет. Русскоязычная версия может быть предоставлена пользователям совершенно бесплатно. В утилите можно использовать все инструменты, которые здесь встроены. Одним отличием от платной версии является отсутствие штатной технической поддержки.
Вот и все основные программы, которые помогут в создании приложения для операционной системы Android. Желаем вам удачи в их использовании!
Операционная система Android на сегодня является одной из самых востребованных мобильных платформ во всем мире. Практически каждый обладатель Android смартфона хотел бы получить уникальное приложение, которое подойдет в конкретном случае именно ему, но не всегда можно найти такое приложение. В этой статье мы поговорим с вами о том, как сделать приложение для Андроид самому с помощью бесплатных способов.
Из-за стремительного развития платформы Андроид, некоторые функции описанных программ могут меняться, поэтому для уточнения каких либо деталей пишите в комментариях. Последняя редакция — 20.01.2018.
Естественно, прогресс не стоит на месте и с развитием ОС Android появляется все больше возможностей для создания разного рода приложений, которые подходят к ней. И если еще недавно, его мог создать только специалист который обучился этому в институте, то теперь этим может заняться любой владелец телефона или планшета Андроид в онлайн режиме.
Пользователи могут создать собственное приложение для того, чтобы порадовать себя уникальной программой. А могут сделать его для того, чтобы заработать немного денег. Сегодня интернет дает для этого все возможности.
Описанные ниже инструменты, позволят создать собственное приложение в несколько этапов.
Некоторые из представленных программ позволяют не просто сделать, но и сразу монетизировать его. Также любое из созданных приложений можно будет разместить в системе Google Play.
Четыре способа как сделать приложение для Андроид самому
Ниже вы найдете четыре «инструмента», которые позволят вам создать такое приложение быстро и без особых знаний. Такие программы напоминают конструкторы, которые по блокам позволяют создать все что вам нужно, хорошая аналогия со сборкой всем знакомого конструктора LEGO.
Все программы, представленные здесь подбирались по таким критериям:
- Удобное использование . Естественно пользоваться данными предложениями будет не обученные специалисты, а обычные пользователи, такие как мы с вами. Именно поэтому, приложение должно быть очень удобным, функциональным, и простым в ознакомлении.
- Интуитивно простой интерфейс . Если говорить логически, то данный пункт как будто вытекает из предыдущего, что значит программа должна быть не просто удобной, но и интуитивно понятной.
- Большой функционал . Большое разнообразие способов создания приложения это несомненный плюс. Хотя все представленные программы, в среднем, имеют одни и те же функции, за исключением некоторых мелочей.
Ниже познакомимся с подборкой инструментов, которые помогут вам создать свое самое первое приложение.
App Builder — простой инструмент для создания приложений
Этот вариант является хорошим способом для создания собственных приложений быстро. Без сомнения, радует и то, что его можно использовать не вкладывая ни копейки, а значит бесплатно . Хотя тут, есть и минусы, как минимум в том, что он полностью на английском языке (после обновления в декабре 2017, добавили русский язык).Возможности программы
- Представлен огромный выбор шаблонов для того, чтобы создать приложение. Если у вас в задумке какое-то простое приложение, то эта программа с легкостью поможет подобрать шаблон;
- После создания приложения, можно будет следить за его статистикой;
- Если вы создадите приложение и оно пройдет проверку, то его можно просто и довольно понятно разместить в магазине Google Play.
AppsGeyser — сайт для создания качественных приложений на Андроид своими силами
Официальный сайт — https://www.appsgeyser.com
Этот инструмент более качественный чем предыдущий, ведь здесь намного больше возможностей для создания собственного приложения. Сайт дает возможность создать свою программу буквально за несколько минут. Этот редактор самый простой из всех, что нам встречались. Список приложений, которые он поможет вам сделать очень большой, начиная от обычного браузера и заканчивая собственным мессенджером .
Преимущества AppsGeyser
- Приложение пишется довольно быстро, буквально в пару кликов;
- Оно позволяет создать простые игры для Android, ведь согласитесь, что не каждый инструмент сегодня может это сделать;
- После того как приложение будет готово, его с легкостью можно будет разместить в магазине Гугл Плей;
- Кроме этого, можно монетизировать вашу программу непосредственно через сервис AppsGeyser. Это полезная функция, ведь проявив свою фантазию, вы можете еще и заработать на этом;
- Создавайте, редактируйте, публикуйте приложение в онлайн режиме в личном кабинете (чтобы сохранились результаты).
IbuildApp — мощный движок для разработки собственных проектов
Этот инструмент заслуживает действительно досконального рассмотрения. Как мы обсуждали выше, вам не нужно знать языка программирования, чтобы создавать Андроид приложения. Платформа разработки настолько проста, что создать свое собственное приложение будет очень просто. Процесс займет всего несколько минут, зато результат будет очевиден.
Сайт IbuildApp имеет как платные тарифы (разработка индивидуального приложения, с дальнейшим развитием) так и бесплатные шаблоны, которых очень много.
Русский официальный сайт — https://russia.ibuildapp.com
Давайте посмотрим, на что оно способно:
- Огромный архив тем на самые разные тематики: это могут быть рестораны, кафе, спортивные занятия, а также много других тем, позволяющих подобрать все что угодно. От вас потребуется только подобрать что-то конкретное, а далее отредактировать его под свои нужды;
- Также в нем есть встроенные способы продвижения созданного приложения. Программа не просто помогает быстро создать приложение, но и раскручивает его. В других случаях этот процесс занимает очень много времени;
- Кроме того, вы сможете подключить приложение к рекламной сети, а значит будете зарабатывать на нем деньги.
AppsMakerstore — платформа создания простых программ
Официальный сайт — https://appsmakerstore.com
Четвертая крутая платформа которая разработана для создания Android приложений. Наверно одним из самых главных преимуществ является то, что с помощью сайта AppsMakerStore можно создавать программы которые будут мультиплатформенными (к примеру, на Андроид, iOS и Windows Phone)
Давайте рассмотрим преимущества платформы:
- Работа с конструктором происходит в режиме онлайн;
- Возможность бесплатной регистрации;
- Написание приложений с помощью готовых макетов, при этом огромный выбор шаблонов по теме обеспечен каждому пользователю.
Видео инструкция по созданию приложения с помощью APK Creator
Вот и все, надеемся, что вы нашли то, что искали и остались довольны нашей подборкой. Этот набор инструментов, станет чем-то особенным для начинающего программиста и позволит разобраться с тонкостями создания простейших приложений бесплатно.