Android studio怎么制作简易计算器功能

发布时间:2022-05-20 14:34:26 作者:iii
来源:亿速云 阅读:146

Android Studio 怎么制作简易计算器功能

在 Android Studio 中制作一个简易的计算器应用是一个很好的入门项目,可以帮助你熟悉 Android 开发的基本流程和组件。本文将详细介绍如何使用 Android Studio 创建一个简单的计算器应用。

1. 创建新项目

首先,打开 Android Studio 并创建一个新的项目:

  1. 选择 File -> New -> New Project
  2. 选择 Empty Activity 模板,然后点击 Next
  3. 输入项目名称(例如 SimpleCalculator),选择保存位置,并设置其他选项(如包名、语言等)。
  4. 点击 Finish 完成项目创建。

2. 设计用户界面

接下来,我们需要设计计算器的用户界面。打开 res/layout/activity_main.xml 文件,使用 LinearLayoutConstraintLayout 来布局计算器的按钮和显示区域。

<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/display"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="number"
        android:focusable="false"
        android:clickable="false"
        android:textSize="24sp"
        android:gravity="end"
        android:padding="8dp"
        android:background="@android:color/transparent"
        android:text="0" />

    <GridLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:columnCount="4"
        android:rowCount="5">

        <Button
            android:id="@+id/btn_7"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:text="7" />

        <Button
            android:id="@+id/btn_8"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:text="8" />

        <Button
            android:id="@+id/btn_9"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:text="9" />

        <Button
            android:id="@+id/btn_divide"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:text="/" />

        <Button
            android:id="@+id/btn_4"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:text="4" />

        <Button
            android:id="@+id/btn_5"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:text="5" />

        <Button
            android:id="@+id/btn_6"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:text="6" />

        <Button
            android:id="@+id/btn_multiply"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:text="*" />

        <Button
            android:id="@+id/btn_1"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:text="1" />

        <Button
            android:id="@+id/btn_2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:text="2" />

        <Button
            android:id="@+id/btn_3"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:text="3" />

        <Button
            android:id="@+id/btn_subtract"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:text="-" />

        <Button
            android:id="@+id/btn_0"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:text="0" />

        <Button
            android:id="@+id/btn_clear"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:text="C" />

        <Button
            android:id="@+id/btn_equals"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:text="=" />

        <Button
            android:id="@+id/btn_add"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_columnWeight="1"
            android:text="+" />
    </GridLayout>
</LinearLayout>

3. 实现逻辑功能

MainActivity.java 文件中,我们需要实现计算器的逻辑功能。首先,定义一些变量来存储用户输入和计算结果。

package com.example.simplecalculator;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    private EditText display;
    private String currentNumber = "";
    private String operation = "";
    private double firstNumber = 0;
    private double secondNumber = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        display = findViewById(R.id.display);

        // 设置数字按钮的点击事件
        setNumberButtonClickListener(R.id.btn_0, "0");
        setNumberButtonClickListener(R.id.btn_1, "1");
        setNumberButtonClickListener(R.id.btn_2, "2");
        setNumberButtonClickListener(R.id.btn_3, "3");
        setNumberButtonClickListener(R.id.btn_4, "4");
        setNumberButtonClickListener(R.id.btn_5, "5");
        setNumberButtonClickListener(R.id.btn_6, "6");
        setNumberButtonClickListener(R.id.btn_7, "7");
        setNumberButtonClickListener(R.id.btn_8, "8");
        setNumberButtonClickListener(R.id.btn_9, "9");

        // 设置操作符按钮的点击事件
        setOperationButtonClickListener(R.id.btn_add, "+");
        setOperationButtonClickListener(R.id.btn_subtract, "-");
        setOperationButtonClickListener(R.id.btn_multiply, "*");
        setOperationButtonClickListener(R.id.btn_divide, "/");

        // 设置清除按钮的点击事件
        findViewById(R.id.btn_clear).setOnClickListener(v -> {
            currentNumber = "";
            operation = "";
            firstNumber = 0;
            secondNumber = 0;
            display.setText("0");
        });

        // 设置等于按钮的点击事件
        findViewById(R.id.btn_equals).setOnClickListener(v -> {
            if (!currentNumber.isEmpty()) {
                secondNumber = Double.parseDouble(currentNumber);
                double result = calculate(firstNumber, secondNumber, operation);
                display.setText(String.valueOf(result));
                currentNumber = "";
                operation = "";
                firstNumber = result;
            }
        });
    }

    private void setNumberButtonClickListener(int buttonId, String number) {
        findViewById(buttonId).setOnClickListener(v -> {
            currentNumber += number;
            display.setText(currentNumber);
        });
    }

    private void setOperationButtonClickListener(int buttonId, String op) {
        findViewById(buttonId).setOnClickListener(v -> {
            if (!currentNumber.isEmpty()) {
                firstNumber = Double.parseDouble(currentNumber);
                operation = op;
                currentNumber = "";
            }
        });
    }

    private double calculate(double num1, double num2, String op) {
        switch (op) {
            case "+":
                return num1 + num2;
            case "-":
                return num1 - num2;
            case "*":
                return num1 * num2;
            case "/":
                if (num2 != 0) {
                    return num1 / num2;
                } else {
                    return 0;
                }
            default:
                return 0;
        }
    }
}

4. 运行应用

完成上述步骤后,你可以运行应用并在模拟器或实际设备上测试计算器功能。点击数字按钮输入数字,点击操作符按钮选择操作,最后点击等于按钮查看计算结果。

5. 总结

通过这个简单的计算器项目,你已经学会了如何在 Android Studio 中创建基本的用户界面并实现简单的逻辑功能。这个项目可以作为你进一步学习 Android 开发的基础,你可以在此基础上添加更多功能,如支持小数、历史记录等。

希望这篇文章对你有所帮助,祝你在 Android 开发的道路上越走越远!

推荐阅读:
  1. JavaScript简易计算器制作
  2. Android Studio如何实现简易计算器

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

android studio

上一篇:baselines程序train_cartpole.py的ImportError怎么用

下一篇:Centos7怎么安装与卸载docker应用容器引擎

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》