可以自己制作的计算器app

自己制作一个计算器app,其实是一项非常有趣的事情。在这个过程中,你将学习到如何使用各种编程工具,如何使用不同的UI元素和如何将它们组合起来实现一个计算器app。 在这里,我将向你介绍如何制作一个简单的计算器app,并提供一些基础的知识和技巧。

首先,你需要一个编程环境来编写代码。这里推荐使用 Android Studio 进行开发。Android Studio 是 Google 开发的官方 Android 应用程序开发 IDE,可在 Windows、Mac OS 和 Linux 三种操作系统中运行。你可以从官方网站上下载并安装,然后根据提示进行设置和配置。

当你完成环境的配置后,就可以开始编写代码了。在 Android Studio 首次启动时,你会看到一个“Welcome to Android Studio” 窗口。点击“Start a new Android Studio project”进行创建新项目。

接着,进入“New Project”的窗口,开始为计算器app进行设置。你需要为你的项目指定一个名称,选择一个适当的应用程序 ID,选择最低兼容的 Android 版本以及选择一个空的 Activity 作为你的启动器。

等待项目创建完成后,它将自动打开一个代码窗口。在这里,你要打开 xml 文件夹,找到 activity_main.xml 文件。这是你的主屏幕布局文件。你将在此布局中创建计算器 UI 元素。

现在,你已经打开了计算器的UI布局文件,然后你需要在布局中添加 UI 元素。首先要添加的UI元素是 TextView 元素。TextView是用于显示当前计算器中的输入和输出结果的UI元素。在 activity_main.xml 布局文件中,添加以下代码:

android:id="@+id/textView"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:textSize="30sp"

android:text="0"

android:textAlignment="textEnd"/>

其中,android:id是唯一的 ID,用于在代码中引用该元素。android:textSize属性用于设置textview的字体大小。

接下来,添加 Button 元素来实现计算器的按键。在 activity_main.xml 布局文件中,添加以下代码:

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/button7"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="7"

android:textSize="30sp"/>

android:id="@+id/button8"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="8"

android:textSize="30sp"/>

android:id="@+id/button9"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="9"

android:textSize="30sp"/>

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/button4"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="4"

android:textSize="30sp"/>

android:id="@+id/button5"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="5"

android:textSize="30sp"/>

android:id="@+id/button6"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="6"

android:textSize="30sp"/>

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/button1"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="1"

android:textSize="30sp"/>

android:id="@+id/button2"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="2"

android:textSize="30sp"/>

android:id="@+id/button3"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="3"

android:textSize="30sp"/>

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/buttonadd"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="+"

android:textSize="30sp"/>

android:id="@+id/button0"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="0"

android:textSize="30sp"/>

android:id="@+id/buttonsub"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="-"

android:textSize="30sp"/>

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/buttonmul"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="x"

android:textSize="30sp"/>

android:id="@+id/buttonClear"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="C"

android:textSize="30sp"/>

android:id="@+id/buttondiv"

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="100dp"

android:text="÷"

android:textSize="30sp"/>

其中,android:layout_width和android:layout_height用于设置UI元素的宽度和高度,android:layout_weight是分配剩余空间的方式,使元素根据分配的比例分配剩余空间。您还可以为每个按键分配唯一的 ID,以便在后续的代码中引用它们。

现在,你已经为计算器的 UI 布局创建了 TextView 和 Button 元素。接下来,你需要编写 Java 代码来处理 UI 元素之间的交互。

在 MainActivity.java 文件中,先定义每个 UI 元素及其 ID:

private TextView mtextView;

private Button mbutton0, mbutton1, mbutton2, mbutton3, mbutton4, mbutton5, mbutton6, mbutton7, mbutton8, mbutton9;

private Button mbuttonadd, mbuttonsub, mbuttonmul, mbuttondiv, mbuttonClear;

使用 findViewById() 方法获取每个 UI 元素的引用:

mtextView = (TextView) findViewById(R.id.textView);

mbutton0 = (Button) findViewById(R.id.button0);

mbutton1 = (Button) findViewById(R.id.button1);

mbutton2 = (Button) findViewById(R.id.button2);

mbutton3 = (Button) findViewById(R.id.button3);

mbutton4 = (Button) findViewById(R.id.button4);

mbutton5 = (Button) findViewById(R.id.button5);

mbutton6 = (Button) findViewById(R.id.button6);

mbutton7 = (Button) findViewById(R.id.button7);

mbutton8 = (Button) findViewById(R.id.button8);

mbutton9 = (Button) findViewById(R.id.button9);

mbuttonadd = (Button) findViewById(R.id.buttonadd);

mbuttonsub = (Button) findViewById(R.id.buttonsub);

mbuttonmul = (Button) findViewById(R.id.buttonmul);

mbuttondiv = (Button) findViewById(R.id.buttondiv);

mbuttonClear = (Button) findViewById(R.id.buttonClear);

接下来,使用这些 UI 元素的OnClickListener 方法来编写代码来实现计算器的按键交互操作。例如,当按下数字键时,将 digit 追加到当前值文本视图的末尾:

private void appendDigit(String digit) {

String text = mtextView.getText().toString();

if (text.equals("0")) {

text = "";

}

text += digit;

mtextView.setText(text);

}

当按下操作键时,将当前值设置为暂存值,并将操作符存储在变量中。将当前值文本视图清空,以准备下一个输入值:

private void performOperator(String operator) {

mValue = Double.parseDouble(mtextView.getText().toString());

mOperator = operator;

mtextView.setText("0");

}

最后,在 onCreate() 方法中,将 OnClickListener 分配给每个按钮:

mbutton0.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

appendDigit("0");

}

});

mbutton1.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

appendDigit("1");

}

});

mbutton2.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

appendDigit("2");

}

});

mbutton3.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

appendDigit("3");

}

});

... // and so on

如此一来,你已经完成了自己制作的计算器app,你可以在 Android Studio 中进行运行、测试和调试。最后,你可以将应用程序打包并发布到 Google Play 商店,与世界分享你的超酷计算器会是一件非常令人兴奋的事情!


相关知识:
自己做app要多少钱
自己制作一个APP的费用主要取决于几个因素:平台选择、功能需求、设计风格和开发周期。下面详细介绍这些因素的影响和如何降低APP开发成本。1. 平台选择开发APP的第一个决策是选择平台,即是原生应用程序还是跨平台开发。原生应用程序只支持您选择的一个平台,例如
2023-06-05
自己制作app软件工具
制作自己的App软件是一项非常有趣且疯狂的事情,但是对于那些不了解编程的用户来说,这可能会显得非常不可能。但是,通过使用一些工具和技巧,你仍然可以在不掌握编程知识的情况下,制作自己的App软件。本文将介绍一些用于创建自己的App软件的方法和工具。一、App
2023-06-05
怎样制作一个自己的app
随着移动互联网的快速发展,手机应用程序(App)成为人们生产、学习和生活中不可或缺的一部分。而制作一个自己的App不仅能够实现个人创造价值,也可以帮助个人或公司推广自己的产品和服务。本文将介绍制作一个App的一般流程和常用的开发工具,希望可以帮助读者实现自
2023-06-05
怎么自己制作生鲜配送app软件
随着现代化生活节奏的加速,越来越多的人选择在线购物代替线下购物,而生鲜配送则是线上购物的一个重要组成部分。随着生鲜配送市场的日益扩大,许多人也开始关注自己制作生鲜配送app软件的方法。本文将介绍自己制作生鲜配送app软件的原理和详细介绍。一、生鲜配送app
2023-06-05
怎么自己制作校园论坛app
校园论坛是许多大学生活中必不可少的一个平台,它提供了一个讨论学习、生活、兴趣爱好等多个方面的地方。如果您在学校里没有看到过校园论坛,那么就可以想象一下一个群体之间交流的空间有多么有价值。如果您也想创建自己的校园论坛应用程序,下面我们将为您提供一个简单的指南
2023-06-05
有便宜的自建app吗知乎
想要建立自己的APP,有两种选择:一种是找专业的APP开发公司,按照自己的需求开发APP,但这种方式需要一定的成本。另一种是自己手动开发,根据属于自己的项目开发出APP。下文将介绍如何使用低成本的方式创建自己的APP。原理介绍:使用平台提供的模板,轻松制作
2023-06-05
香港自己开发app英语
随着科技的不断发展,移动应用程序(App)已经成为了人类社会重要的一部分。在香港这个不断繁荣的城市里,App的需求也随之不断增加。因此,越来越多的企业和人员开始试图自己开发App。本文将介绍在香港自己开发应用程序的基本原理和详细步骤。一、基本原理开发应用程
2023-05-31
如何自己制作抽奖app
制作一个抽奖App可能听起来很困难,但实际上,这并不需要太高深的编程知识。本文将向您介绍如何自己制作一个基本的抽奖App,无需编写太多的代码。App的原理制作一个抽奖App需要的只是基本的编程知识,以及了解应用程序的轻量级数据存储功能、随机算法和基本的用户
2023-05-30
免费自己app制作
随着移动互联网技术的飞速发展和普及,APP已成为人们生活、工作和娱乐的一个必备工具。而如何制作一个自己的APP呢?本文将从原理和详细步骤两个方面介绍如何免费自己制作APP。一、原理APP的实现有两种方式:原生APP和Web APP。原生APP是指基于And
2023-05-30
零基础快速制作自己的app
现在,手机已经成为人们生活中必不可少的工具了。不仅可以通讯,还可以玩游戏、听音乐、看电影等等。不过,很多人可能对于自己想要一个专属的app,却不知道如何下手。本文将介绍一种零基础快速制作自己的app的方法,供大家参考。这种方法是利用app制作平台来制作自己
2023-05-30
simdroid自主仿真app开发
随着移动互联网的普及,越来越多的人开始关注和热衷于使用各种移动设备。这也推动了移动应用程序开发的快速发展。然而,对于很多初学者,开发一款跨平台模拟应用程序对于他们来说是一项非常困难的任务,幸运的是,现在有一些工具可以使这项任务变得更容易,其中一个就是Sim
2023-05-30
app如何制作属于自己的签名密钥文件
签名密钥文件是制作Android应用程序时必备的一种文件,它用于标识应用程序的发布者和确保应用程序的安全性。在开发Android应用程序时,我们需要使用Android Studio来创建签名密钥文件,下面介绍一下制作属于自己的签名密钥文件的详细步骤和原理。
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1