自己做一个计算器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进行贷款申请和审批,大大方便了用户的操作。有些时候,在选择贷款APP时,发现自己需要的功能没有或者不够完善,这时候自己动手开发一款贷款APP岂不是更好?下面就为大家介绍一下自己做贷款APP的原理和详细步
2023-06-05
自己做个app成本
自己做一个APP成本,包括技术和资源方面的消耗,以下是相应的详细介绍。首先,需要先确定你要开发的APP类型和功能模块。不同的APP类型和功能模块的开发工作量是不一样的,因此对成本也有一定影响。接着考虑技术方面的成本:1. 开发平台和工具这部分成本包括开发环
2023-06-05
自己开发的app怎么上软件商店
当你成功开发一个app之后,如果想让更多人知道并使用它,将它上架到软件商店是最有效的办法之一。但是如何上架一个app呢?下面详细介绍一下。1.选择合适的平台:首先要选择一个合适的平台,最大的两个平台分别是苹果的App Store和谷歌的Google Pla
2023-06-05
自己开发制作麻将app
制作麻将app需要一定的编程技术,需要使用适当的工具和语言来构建应用程序。下面是该过程的基本原理和步骤。1.项目规划和设计对于麻将应用程序,您需要先确定应用程序的基本功能和设计。确定应用程序的功能,包括游戏规则,玩家数量,可供选择的麻将牌,游戏胜利条件等。
2023-06-05
自己开发app赚钱
随着智能手机应用程序变得越来越多,更多的人对如何开发自己的应用程序并赚钱感到好奇。在这篇文章中,我们将探讨开发一款应用程序的基本原理以及如何利用这个应用程序赚钱。**步骤一:确定应用程序类型和目标用户**首先,你需要确定你想开发什么类型的应用程序,并为你的
2023-06-05
自己如何开发app软件手机版
开发一个手机应用程序需要开发者具备专业的技术知识和相关工具,这是一个复杂的过程。本文将介绍开发手机应用程序的原理和基本步骤。一、开发环境准备为了开发一个手机应用程序,我们需要一些基本的工具和环境来支持。首先,需要在电脑上安装一个开发工具,比如Xcode或A
2023-06-05
自己编程做个app
随着移动互联网的飞速发展,APP已经成为人们日常生活不可或缺的一部分。但是,对于很多人来说,自己编写一个APP似乎是一件非常困难的事情。事实上,只要你有一定的编程基础,就可以通过学习相关知识,自己编写一个简单的APP。首先,你需要确定你要开发的APP的类型
2023-06-05
怎么自己开发app 赚钱
随着智能手机和移动设备的普及,开发一个成功的移动应用程序可以成为赚钱的一种方式。开发和发布自己的移动应用程序需要大量投入时间和精力,但如果你能满足市场需求并获得用户的信任和忠诚,那么你可以在这里找到一个利润非常高的商业模型。以下是开发App并盈利的一些原理
2023-06-05
用自己制作的app转账
想象一下,当你在出门前或者旅游时,你需要转账付款,你可能会打开网银、手机银行等等应用程序完成这个过程。但是,如果你是一个程序员,并且对自己的安全性、隐私和数据保护有更高的期望,又或者你需要通过某些特定的付款方式来完成转账,那么自己制作一款app可能是个不错
2023-06-05
哪些app可以自己做词典
在移动互联网时代,词典APP已经成为很多人生活中必不可少的工具。不仅可以自动查询单词、汉字的翻译,还可以根据个人需求设置收藏、记单词、例句和听读等功能。虽然市面上已经有很多知名词典应用,但是如果你想自己做一个词典APP,也是完全可行的,下面介绍几款主流的词
2023-05-30
ios开发自学app
在当今移动互联网时代,iOS开发越来越受到用户和市场的关注,自学iOS开发也成为了许多人心中的目标。本文将从原理和详细介绍两个方面,为大家介绍一款iOS开发自学的App。1. 原理自学iOS开发的难度较高,尤其是对于刚开始学习的人来说,很容易感到迷茫和困惑
2023-05-30
app开发零基础自学教程知乎
移动应用开发已经成为了一个非常热门的领域,每天都有数以万计的人投身其中。这不仅是因为移动应用市场的繁荣,更是因为我们的生活和工作方式已经从桌面电脑向移动设备转变。在这个领域,有许多的知识和技能需要掌握,但是如何才能从零开始学会移动应用开发呢?本文通过知乎上
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1