自己做一个计算器app

现代人离不开计算器,在手机App时代中,每个人都可以自己定制一个属于自己的计算器App。如果您也想自己动手制作一个计算器App,可以参考以下的内容。

首先,我们需要考虑我们的计算器要实现什么样的计算功能。例如,加、减、乘、除等基本运算是必须的,还要考虑到开方、平方、百分数以及大括号等高级运算。

接下来,我们需要确定使用的开发工具。目前最流行的安卓App开发工具是Android Studio,该工具是由Google开发的免费跨平台开发环境,提供丰富的开发库和工具。

接下来,我们可以开始创建一个新的Android Studio项目,然后选择空白Activity模板,我们可以命名为“calculator”。

然后在我们的activity_calculator.xml文件中,我们需要编写UI元素,并设置相应的属性。如下所示:

```

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical">

android:id="@+id/input_text"

android:layout_width="match_parent"

android:layout_height="0dp"

android:layout_weight="1"

android:inputType="number"

android:gravity="right"/>

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:gravity="center_horizontal">

android:id="@+id/button_1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="1"/>

android:id="@+id/button_2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="2"/>

android:id="@+id/button_3"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="3"/>

android:id="@+id/button_add"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="+"/>

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:gravity="center_horizontal">

android:id="@+id/button_4"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="4"/>

android:id="@+id/button_5"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="5"/>

android:id="@+id/button_6"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="6"/>

android:id="@+id/button_subtract"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="-"/>

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:gravity="center_horizontal">

android:id="@+id/button_7"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="7"/>

android:id="@+id/button_8"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="8"/>

android:id="@+id/button_9"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="9"/>

android:id="@+id/button_multiply"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="*"/>

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:gravity="center_horizontal">

android:id="@+id/button_clear"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="C"/>

android:id="@+id/button_0"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="0"/>

android:id="@+id/button_equals"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="="/>

android:id="@+id/button_divide"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="/"/>

```

接下来,我们需要在MainActivity.java类中编写代码,此处采用了Java语言,代码如下所示:

```

public class MainActivity extends AppCompatActivity {

TextView inputText;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_calculator);

inputText = findViewById(R.id.input_text);

}

void onNumberClick(View view) {

Button button = (Button) view;

String currentText = inputText.getText().toString();

String buttonText = button.getText().toString();

inputText.setText(currentText + buttonText);

}

void onOperatorClick(View view) {

Button button = (Button) view;

String currentText = inputText.getText().toString();

String buttonText = button.getText().toString();

if (currentText.endsWith("+") || currentText.endsWith("-") || currentText.endsWith("*") || currentText.endsWith("/")) {

inputText.setText(currentText.substring(0, currentText.length() - 1) + buttonText);

} else {

inputText.setText(currentText + buttonText);

}

}

void onClearClick(View view) {

inputText.setText("");

}

void onEqualsClick(View view) {

String currentText = inputText.getText().toString();

ScriptEngine engine = new ScriptEngineManager().getEngineByName("rhino");

try {

Double result = (Double) engine.eval(currentText);

inputText.setText(result.toString());

} catch (ScriptException e) {

Toast.makeText(this, "Invalid expression", Toast.LENGTH_SHORT).show();

}

}

}

```

在代码中,我们使用了Java语言的ScriptEngine来计算输入表达式的结果,并将结果显示在TextView中。同时,我们还定义了用户在UI中的交互方法,以实现用户的操作。

最后,我们可以进行测试运行。将代码编译、构建、运行在安卓设备上,就可以自己动手制作一个简单的计算器App。如果想要更加完善和优化该App,需要深入学习安卓开发知识和相关技术。


相关知识:
自己做饭的软件app
饮食是人们日常生活中非常重要的部分,随着人们对于饮食要求的提高,吃得健康、方便、美味也就变得尤为重要。在这个背景下,自己做饭的软件app应运而生。自己做饭的软件app实际上是一种提供美食食谱、菜品制作方法和食物搭配建议的手机软件,其核心功能在于为用户提供便
2023-06-05
自己做神仙app
要做一个神仙app,首先要了解这个app的功能和原理。在这里,我们将以一个“神仙养成”app为例来进行介绍。功能介绍:该app的主要功能是让用户创建自己的“神仙”,使“神仙”在游戏中逐渐成长,提升战斗能力,并在游戏中完成各种任务。具体功能如下:1. 创建账
2023-06-05
自己做一个购物app多少钱一个月
自己做一个购物App,需要考虑多个方面的因素,比如技术选型、团队成员、服务商、市场推广等等。下面对这些因素依次做详细介绍。技术选型想要开发一款购物App,最基本的技术层面,需要考虑的是开发平台和前端、后端技术。现在移动应用开发平台比较流行的有Android
2023-06-05
自己做一个app要多长时间完成
要自己做一个app,需要考虑多个因素,包括设计、开发时间、测试、发布等等。下面将逐一介绍每个步骤需要考虑的内容和时间。1. 需求分析和设计在着手开发app之前,必须对需求进行分析并进行设计。这包括对目标受众、功能和界面进行考虑和规划。需要考虑的因素包括:-
2023-06-05
自如app开发费用
自如app是一款提供房屋租赁服务的移动应用程序,与传统的房屋租赁中介不同,自如主打“一站式”服务,即除了提供房源信息外,还提供家具家电等配套服务,并对房屋整体进行装修和管理,旨在满足年轻人的居住体验需求。自如app的开发费用是涉及多个方面的,下面来具体介绍
2023-06-05
自己开发app相关企业信息
随着移动互联网的发展,移动应用逐渐成为人们日常生活与工作的必需品。自己开发一款手机应用成为越来越多开发者和创业者的选择。下面我将介绍一些开发app时需要了解的企业信息。一、公司性质和注册类型作为开发者或创业者,首先要考虑公司的性质和注册类型。公司的性质可以
2023-06-05
有什么记录自己做菜的app
近年来,随着健康生活理念的深入人心,越来越多的人开始尝试自己动手做饭。然而,做菜不是一件容易的事情,需要不断的尝试和经验积累。因此,很多人都会选择记录自己的做菜过程,以便日后参考、总结和改进。今天,我们就来介绍几款记录自己做菜的app。1. Cookpad
2023-06-05
什么app可以自己做网站推广
在当今互联网高度发达的时代,网站推广是网站运营过程中不可或缺的一部分。虽然有很多推广方式可以选择,如SEO、SEM、广告投放等,但是也可以通过一些App来进行网站推广。接下来,本篇文章将为大家介绍一些可以自己做网站推广的App及其原理和详细介绍。一、微信公
2023-05-31
可以自己制作动画的手机app
近年来,随着智能手机的普及,越来越多的人选择使用手机来进行创作。其中一个受到欢迎的领域就是动画制作。手机app作为一种投资少、使用方便的创作方式,已逐渐成为许多人选择的方向之一。下面我们来介绍一些可以自己制作动画的手机app。1. 蘑菇制片蘑菇制片是一款专
2023-05-30
管理员自营app商城开发
管理员自营app商城,是一种由管理员自主开发并运营的手机应用软件商城。其目的是为了提供更好的用户体验以及更高的交易效率,解决了传统App商城存在的一些问题。下面将详细介绍管理员自营app商城的原理和开发步骤。一、管理员自营app商城的原理1.平台自主开发:
2023-05-30
不用编程可以自己制作app吗
是的,可以通过某些在线应用平台或者自己搭建的应用构建工具来制作APP,而不需要编写代码。下面我将对这两种方法进行详细的介绍。1. 在线应用平台如今,市场上出现了很多在线应用平台,例如Appy Pie、AppMakr和BuildFire等,它们提供了非常便捷
2023-05-30
背单词app 支持自建单词书
背单词是学习外语中必不可少的一环,而现在,随着智能手机的普及,背单词应用也成为了很多人学习的必备工具。许多背单词应用都支持用户自建单词书,下面我们来介绍一下其原理和详细步骤。背单词应用通常会将用户所需要背诵的单词存储在数据库里,用户可以通过应用的界面展示这
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1