Как написать приложение для Android

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

Мы пойдем более сложным, но эффективным путем. Для написания приложения мы будем использовать программу Eclipse. Это будет короткий урок, задача которого — сделать конвертер м/с в км/ч с нуля.

Что потребуется:

  1. Базовое знание XML, Java и Eclipse.
  2. Программное обеспечение.
  3. Два часа личного времени.

Необходимые программы:

Создаем виртуальную машину

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

Запустите файл AVD Manager.exe

Создайте Новое виртуальное устройство, кликнув по кнопке New:

Не забудьте поставить галочку «Use Host GPU«. Это позволит виртуальной машине использовать видеокарту вашего компьютера, ускоряя работу эмулятора.

Запускаем AVD:

Создаем новый проект

  • Кликните по пункту File
  • Выберите New
  • Android Application Project

Введите имя проекта, параметры SDK можете не трогать.

Настройте еще несколько деталей.

Добавьте иконку:

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

Создайте экран (Activity).

Отредактируйте экран.

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

Редактируем вид

  • В списке пакетов (Package Explorer) перейдите к /res/layout/ и откройте файл activity_main.xml
  • Кликните правой кнопкой мыши по пункту «Hello World» и удалите его

Создаем статические атрибуты

  • Выберите /res/values/strings.xml
  • Кликните по кнопке Add
  • Выберите пункт Color Entry, нажмите ОК и установите такие параметры:

Добавьте еще несколько параметров «String»:

Name/value: “miles” / “to Miles“
Name/value: “kmh” / “to km/h“
Name/value: “calc” / “Calculate“

Добавляем элементы

  • Перейдите к /res/layout/activity_main.xml
  • Откройте редактор, дважды кликнув по файлу

У вас есть два варианта. Можно размещать элементы в окне, перетаскивая их или редактируя в XML коде. В этом уроке мы пойдем простым путем, перетаскивая элементы. 🙂

Давайте начнем. Для начала добавим элемент «Text Field».

Перетяните его в окно приложения.

Затем в разделе «Form Widget» найдите «Radio Group» и дважды перетяните этот элемент в окно приложения. Добавьте еще и кнопку.

Редактируем параметры элементов

Вы можете редактировать элементы при помощи графического вида или XML.

  • Перейдите к папке /res/layout/activity_main.xml и откройте вкладку Graphical Layout
  • Кликните правой кнопкой мыши по первой радио кнопке и выберите «Edit Text». Установите для нее параметр «kmh«
  • Аналогично назначьте параметр «miles» для второй радио кнопки
  • Установите параметр «Checked» для первой радио кнопки (Other Properties -> inherited from compoundbutton -> checked -> true)
  • Установите «Input Type» текстового поля на “numberSigned” и “numberDecimal
  • Назначьте параметр «calc» для кнопки, а для параметра «onClick» установите «calculate» (Other Properties -> inherited from view -> onClick)
  • Установите цвет (Color) фона (для этого кликните по пустому месту окна и выберите Application -> Edit Background

После этого фон станет светло серым!

Внедряем логику

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

Перейдите к src/com.example.[название_вашего_приложения]/

package com.example.[название_вашего_приложения];

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Toast;

public class MainActivity extends Activity {

// public var
private EditText text;

// default func
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// findViewById = Finds a view that was identified by the id attribute
// from the XML that was processed in onCreate(Bundle).
// (EditText) = typecast
text = (EditText) findViewById(R.id.editText1);
}

// default func
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

/*
* Will be executed by clicking on the calculate button because we assigned
* "calculate" to the "onClick" Property!
*/
public void calculate(View view) {

RadioButton mileButton = (RadioButton) findViewById(R.id.radio0);
RadioButton kmhButton = (RadioButton) findViewById(R.id.radio1);
// if the text field is empty show the message "enter a valid number"
if (text.getText().length() == 0) {
// Toast = focused floating view that will be shown over the main
// application
Toast.makeText(this, "enter a valid number", Toast.LENGTH_LONG)
.show();
} else {
//parse input Value from Text Field
double inputValue = Double.parseDouble(text.getText().toString());
// convert to...
if (mileButton.isChecked()) {
text.setText(String.valueOf(convertToMiles(inputValue)));
// uncheck "to miles" Button
mileButton.setChecked(false);
// check "to km/h" Button
kmhButton.setChecked(true);
} else { /* if kmhButton isChecked() */
text.setText(String.valueOf(convertToKmh(inputValue)));
// uncheck "to km/h" Button
kmhButton.setChecked(false);
// check "to miles" Button
mileButton.setChecked(true);
}
}
}

private double convertToMiles(double inputValue) {
// convert km/h to miles
return (inputValue * 1.609344);
}

private double convertToKmh(double inputValue) {
// convert miles to km/h
return (inputValue * 0.621372);
}
}

Вот и все!

Это только короткий урок, демонстрирующий простоту создания приложений для Android! Если здесь есть ошибки, сообщите о них в комментариях!

Загрузка...

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *