Котлин обучение с нуля продолжается. Сегодня мы напишем простое Android-приложение «Калькулятор». Это отличный практический проект, который поможет новичку понять, как работает весь процесс создания приложения на Kotlin.
Что мы создадим
Простой калькулятор с четырьмя действиями: сложение, вычитание, умножение и деление. Пользователь вводит два числа и нажимает кнопку операции. Результат сразу отображается на экране.
Шаг 1: Создание нового проекта
1. Откройте Android Studio.
2. Нажмите New Project.
3. Выберите Empty Activity.
4. В поле Language обязательно выберите Kotlin.
5. Назовите проект Calculator.
6. Minimum SDK оставьте API 24.
7. Нажмите Finish.
Шаг 2: Подготовка интерфейса (activity_main.xml)
Откройте файл res → layout → activity_main.xml и замените всё содержимое на следующий код:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">
<EditText
android:id="@+id/etNumber1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Первое число"
android:inputType="numberDecimal" />
<EditText
android:id="@+id/etNumber2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Второе число"
android:inputType="numberDecimal" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center">
<Button
android:id="@+id/btnPlus"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="+" />
<Button
android:id="@+id/btnMinus"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="-" />
<Button
android:id="@+id/btnMultiply"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="×" />
<Button
android:id="@+id/btnDivide"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="÷" />
</LinearLayout>
<TextView
android:id="@+id/tvResult"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="24sp"
android:text="Результат: "
android:gravity="center"
android:layout_marginTop="32dp"/>
</LinearLayout>
Шаг 3: Основной код приложения (MainActivity.kt)
Откройте файл MainActivity.kt и полностью замените его содержимое на этот код:
class MainActivity : AppCompatActivity() {
private lateinit var etNumber1: EditText
private lateinit var etNumber2: EditText
private lateinit var tvResult: TextView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
etNumber1 = findViewById(R.id.etNumber1)
etNumber2 = findViewById(R.id.etNumber2)
tvResult = findViewById(R.id.tvResult)
findViewById<Button>(R.id.btnPlus).setOnClickListener { calculate('+') }
findViewById<Button>(R.id.btnMinus).setOnClickListener { calculate('-') }
findViewById<Button>(R.id.btnMultiply).setOnClickListener { calculate('*') }
findViewById<Button>(R.id.btnDivide).setOnClickListener { calculate('/') }
}
private fun calculate(operation: Char) {
val num1Text = etNumber1.text.toString()
val num2Text = etNumber2.text.toString()
if (num1Text.isEmpty() || num2Text.isEmpty()) {
tvResult.text = "Введите оба числа"
return
}
val num1 = num1Text.toDouble()
val num2 = num2Text.toDouble()
var result = 0.0
when (operation) {
'+' -> result = num1 + num2
'-' -> result = num1 - num2
'*' -> result = num1 * num2
'/' -> {
if (num2 == 0.0) {
tvResult.text = "Деление на ноль невозможно"
return
}
result = num1 / num2
}
}
tvResult.text = "Результат: $result"
}
}
Шаг 4: Что мы сделали в коде (объяснение для новичка)
- lateinit var — мы объявили переменные, которые инициализируем позже
- findViewById — находим элементы интерфейса по их id
- setOnClickListener — назначаем действие при нажатии на кнопку
- when — удобная замена большому if-else
- Проверка на пустые поля и деление на ноль — базовая защита от ошибок
Шаг 5: Запуск приложения
Подключите телефон или запустите эмулятор. Нажмите зелёную кнопку Run. Введите два числа и нажмите любую операцию. Калькулятор должен работать.
Что дальше в котлин обучение с нуля
После этого калькулятора рекомендуем улучшить приложение:
- Добавить кнопку очистки полей
- Сделать историю вычислений
- Добавить поддержку клавиатуры
- Улучшить дизайн
Написав этот калькулятор, вы уже сделали важный шаг в котлин обучение с нуля. Вы научились создавать интерфейс, обрабатывать нажатия кнопок, работать с числами и защищать приложение от ошибок.
Продолжайте практику — каждое новое приложение будет даваться легче.