自己做一个计算器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,需要有一定的编程基础和了解一些移动应用开发的知识。以下是一些详细的介绍和原理:1. 确定需要实现的功能在设计和开发一个App之前,首先需要明确的是需要实现的功能。考虑到是讲故事的App,需要实现的功能包括:- 用户注册、登录和个
2023-06-05
自己开发的app想接广告
在互联网时代,广告已成为许多公司获利的重要途径,同时也为广告主提供了更有效的营销和推广手段。而对于应用程序开发者而言,广告也成为了另一种收益来源。那么,如何将广告接入自己开发的应用程序中呢?一、广告接入原理广告接入的原理是将广告资源与应用程序进行整合,使得
2023-06-05
怎么安装自己开发的app
如果你是一位开发者,你一定会为自己的应用程序进行测试和调试。而安装自己开发的应用程序,也是必不可少的一部分。在本文中,我们将会介绍安装自己开发的Android应用程序的三种方法:通过USB连接电脑、通过应用商店和通过APK文件进行安装。下面来了解一下它们的
2023-06-05
云货优选自购返利模式app开发
云货优选是一款基于自购返利模式的电商平台,通过向用户提供商品优惠和返利的方式,吸引更多用户进行购买和分享推广。其原理可以概括为以下几点:一、用户注册用户需要在云货优选注册账号,并填写个人信息,例如姓名、联系方式、支付宝账号等。完成注册后,用户即可进入云货优
2023-06-05
有没有自己制作题的app
自己制作题的App,可以让用户自由设计、储存和分享自己的试题,同时增强用户的学习兴趣。下面将介绍一些制作题目App的原理和详细介绍。制作题目App一般分为两个方面:1. 题目编写和储存的后台设计2. 前端设计首先,后台设计是制作题目App的重中之重。后台应
2023-06-05
提醒自己做到目标的app
目标是一种主导人生方向的力量,然而,众所周知,目标往往是一种不稳定的存在,常常容易被人们的小欲望、情感波动和将来的不确定性所淹没。因此,如何有效地为自己设定目标、制定计划、监督实施和达成成果,成为了近年来多款APP竞相开发并不断优化改进的重要方向之一。在本
2023-05-31
桐梓工业自动化手机app开发
桐梓工业自动化手机app是一款针对工业自动化领域而开发的应用软件。通过该应用软件,用户可以方便地管理和监控工业自动化系统的运行状态,实现远程控制和数据分析等功能。该应用软件的开发需要结合工业自动化的原理和技术,同时也需要运用大量的现代化技术手段,下面将详细
2023-05-31
上传自己做的app
我最近开发了一款名为“Task Tracker”的任务跟踪app,用于帮助用户更好地管理日常任务、提高工作效率。以下是该app的基本介绍和原理。首先,用户需要在app中创建账户,并登录,然后就可以开始添加任务了。在添加任务页面,用户可以为每个任务设置标题和
2023-05-30
教你傻瓜式自建淘宝客app
淘宝客是一种通过推广淘宝商品获取佣金的方式,拥有着非常广阔的市场。现在随着移动互联网的普及,很多淘宝客开始考虑自建淘宝客app,以带来更多 的流量和收益。本文将介绍一个傻瓜式的自建淘宝客app的方法。首先,我们要明确一个概念:淘宝客app并不是再造一个淘宝
2023-05-30
给自己的物品做目录的app
随着人们物品的增多,管理起来也变得越来越困难。如果有一个能够记录物品的目录的应用程序,将会非常有用。在本文中,我将介绍一种开发给自己的物品做目录的app的方法。首先,我们需要确定应用程序的目标用户。这个应用程序适合那些拥有大量物品的人,比如收集家庭手工艺品
2023-05-30
app也是他自己做的
在现代社会,随着移动设备的普及,应用程序(APP)已经成为人们日常生活的必需品。许多互联网企业在此领域取得了巨大的成功,比如微信、支付宝、抖音等等。而在这些成功的企业背后,有如何制作一个成功的APP背后的故事。一个成功的APP需要多方面的知识和技能,如设计
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1