Как создать простое приложение-калькулятор с помощью Android Studio?
Опубликовано: 5 Января, 2022
Предварительные условия:
- Основы разработки приложений для Android для начинающих
- Руководство по установке и настройке Android Studio
- Android | Начиная с первого проекта приложения / Android
- Android | Запуск вашего первого приложения для Android
Создайте простой калькулятор, который может выполнять основные арифметические операции, такие как сложение, вычитание, умножение или деление, в зависимости от ввода пользователя.
- Шаг 1. Открытие нового проекта
- Откройте новый проект, просто нажмите кнопку «Файл» в верхнем углу слева.
- Затем нажмите «Новый» и откройте новый проект с любым именем.
- Теперь мы будем работать над Empty Activity с языком Java. Остальные параметры оставьте нетронутыми.
- Вы можете изменить название проекта по своему усмотрению.

- По умолчанию будет два файла activity_main.xml и MainActivity.java .
- Шаг 2. Разработка пользовательского интерфейса
- Ниже приведен код XML-файла.
actibity_main.xml
<?xmlversion="1.0"encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayoutandroid:layout_width="match_parent"android:layout_height="match_parent"android:background="#8BC34A"android:backgroundTint="@android:color/darker_gray"tools:context=".MainActivity"><!-- Text View to display "gfg_myFirstApp "--><TextViewandroid:id="@+id/textView"android:layout_width="133dp"android:layout_height="28dp"android:layout_marginStart="139dp"android:layout_marginLeft="139dp"android:layout_marginTop="16dp"android:layout_marginEnd="139dp"android:layout_marginRight="139dp"android:layout_marginBottom="559dp"<!-- providing the green colour to the background -->android:background="#0F9D58"android:text="gfg_myFirstApp"android:textAppearance="@style/TextAppearance.AppCompat.Medium"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent" /><!-- Text View to display our basic heading of "calculator"--><TextViewandroid:layout_width="194dp"android:layout_height="43dp"android:layout_marginStart="114dp"android:layout_marginLeft="114dp"android:layout_marginTop="58dp"android:layout_marginEnd="103dp"android:layout_marginRight="103dp"android:layout_marginBottom="502dp"android:scrollbarSize="30dp"android:text=" Calculator"android:textAppearance="@style/TextAppearance.AppCompat.Body1"android:textSize="30dp"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"/><!-- Edit Text View to input the values --><EditTextandroid:id="@+id/num1"android:layout_width="364dp"android:layout_height="28dp"android:layout_marginStart="72dp"android:layout_marginTop="70dp"android:layout_marginEnd="71dp"android:layout_marginBottom="416dp"android:background="@android:color/white"android:ems="10"android:hint="Number1(0)"android:inputType="number"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"/><!-- Edit Text View to input 2nd value--><EditTextandroid:id="@+id/num2"android:layout_width="363dp"android:layout_height="30dp"android:layout_marginStart="72dp"android:layout_marginTop="112dp"android:layout_marginEnd="71dp"android:layout_marginBottom="374dp"android:background="@android:color/white"android:ems="10"android:hint="number2(0)"android:inputType="number"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"/><!-- Text View to display result --><TextViewandroid:id="@+id/result"android:layout_width="356dp"android:layout_height="71dp"android:layout_marginStart="41dp"android:layout_marginTop="151dp"android:layout_marginEnd="48dp"android:layout_marginBottom="287dp"android:background="@android:color/white"android:text="result"android:textColorLink="#673AB7"android:textSize="25sp"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"/><!-- A button to perform 'sum' operation --><Buttonandroid:id="@+id/sum"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="16dp"android:layout_marginTop="292dp"android:layout_marginEnd="307dp"android:layout_marginBottom="263dp"android:backgroundTint="@android:color/holo_red_light"android:onClick="doSum"android:text="+"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"/><!-- A button to perform subtraction operation. --><Buttonandroid:id="@+id/sub"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="210dp"android:layout_marginTop="292dp"android:layout_marginEnd="113dp"android:layout_marginBottom="263dp"android:backgroundTint="@android:color/holo_red_light"android:onClick="doSub"android:text="-"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"/><!-- A button to perform division. --><Buttonandroid:id="@+id/div"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="307dp"android:layout_marginTop="292dp"android:layout_marginEnd="16dp"android:layout_marginBottom="263dp"android:backgroundTint="@android:color/holo_red_light"android:onClick="doDiv"android:text="/"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintHorizontal_bias="0.0"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"/><!-- A button to perform multiplication. --><Buttonandroid:id="@+id/mul"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="16dp"android:layout_marginTop="356dp"android:layout_marginEnd="307dp"android:layout_marginBottom="199dp"android:backgroundTint="@android:color/holo_red_light"android:onClick="doMul"android:text="x"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"/><!-- A button to perform a modulus function. --><Buttonandroid:id="@+id/button"android:layout_width="92dp"android:layout_height="48dp"android:layout_marginStart="113dp"android:layout_marginTop="356dp"android:layout_marginEnd="206dp"android:layout_marginBottom="199dp"android:backgroundTint="@android:color/holo_red_light"android:onClick="doMod"android:text="%(mod)"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"/><!-- A button to perform a power function. --><Buttonandroid:id="@+id/pow"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginStart="113dp"android:layout_marginTop="292dp"android:layout_marginEnd="210dp"android:layout_marginBottom="263dp"android:backgroundTint="@android:color/holo_red_light"android:onClick="doPow"android:text="n1^n2"app:layout_constraintBottom_toBottomOf="parent"app:layout_constraintEnd_toEndOf="parent"app:layout_constraintStart_toStartOf="parent"app:layout_constraintTop_toTopOf="parent"/></androidx.constraintlayout.widget.ConstraintLayout> - После использования этого кода в файле .Xml пользовательский интерфейс будет выглядеть так:

- Ниже приведен код XML-файла.
- Шаг 3: Работа с файлом Java
- Откройте файл MainActivity.java внутри класса, создайте метод с именем doSum (View v).
- В этом методе, прежде всего, мы должны связать два поля редактирования с переменными, чтобы мы могли использовать их для нашего ввода.
- Поэтому свяжите это поле редактирования с переменными, которые мы написали
"EditText e1 = (EditText) findViewById (R.id.num1);"
здесь num1 - это идентификатор текстового поля, и мы просто даем имя переменной 'e1' текстовому полю с идентификатором 'num1'.
- Точно так же мы должны использовать тот же оператор для второго текстового поля с именем переменной «e2».
- Для третьего текстового поля мы используем
"TextView t1 = (TextView) findViewById (R.id.result);"
здесь мы использовали TextView, потому что нам нужно только отображать текст, чтобы его не мог изменить пользователь.
- Теперь нам нужно ввести число в виде строки с помощью функции getText ().
- Оператор ввода будет
«Строка s11 = e1.getText (). ToString ();»
- Здесь s11 хранит число, введенное в текстовое поле 1. Мы должны сделать то же самое с другим текстовым полем (e2). Теперь сохраните число в форме int и примените сложение. сохраните добавленную стоимость в другой переменной. Чтобы отобразить сохраненную сумму, мы должны использовать setText () следующим образом:
result.setText (final_sum.toString ())
- final_sum хранит сумму, и ее необходимо преобразовать в строку (.toString ()).
Код Java для MainActivity.java:
MainActivity.java
packagecom.example.gfg_my_first_app;importandroidx.appcompat.app.AppCompatActivity;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.Button;importandroid.widget.EditText;importandroid.widget.TextView;publicclassMainActivityextendsAppCompatActivity {EditText e1, e2;TextView t1;intnum1, num2;@OverrideprotectedvoidonCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}// a public method to get the input numberspublicbooleangetNumbers(){// defining the edit text 1 to e1e1 = (EditText)findViewById(R.id.num1);// defining the edit text 2 to e2e2 = (EditText)findViewById(R.id.num2);// defining the text view to t1t1 = (TextView)findViewById(R.id.result);// taking input from text box 1s1 = e1.getText().toString();// taking input from text box 2s2 = e2.getText().toString();// condition to check if box is not emptyif((s1.equals(null) && s2.equals(null))|| (s1.equals("") && s2.equals(""))) {String result ="Please enter a value";t1.setText(result);returnfalse;}else{// converting string to int.num1 = Integer.parseInt(e1.getText().toString());// converting string to int.num2 = Integer.parseInt(e2.getText().toString());}returntrue;}// a public method to perform additionpublicvoiddoSum(View v){// get the input numbersif(getNumbers()) {intsum = num1 + num2;t1.setText(Integer.toString(sum));}}// a public method to perform power functionpublicvoiddoPow(View v){// get the input numbersif(getNumbers()) {doublesum = Math.pow(num1, num2);t1.setText(Double.toString(sum));}}// a public method to perform subtractionpublicvoiddoSub(View v){// get the input numbersif(getNumbers()) {intsum = num1 - num2;t1.setText(Integer.toString(sum));}}// a public method to perform multiplicationpublicvoiddoMul(View v){// get the input numbersif(getNumbers()) {intsum = num1 * num2;t1.setText(Integer.toString(sum));}}// a public method to perform DivisionpublicvoiddoDiv(View v){// get the input numbersif(getNumbers()) {// displaying the text in text view assigned as t1doublesum = num1 / (num2 *1.0);t1.setText(Double.toString(sum));}}// a public method to perform modulus functionpublicvoiddoMod(View v){// get the input numbersif(getNumbers()) {doublesum = num1 % num2;t1.setText(Double.toString(sum));}}РЕКОМЕНДУЕМЫЕ СТАТЬИ