自己做一个计算器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,这篇文章就会为你介绍其原理和详细步骤。一、原理介绍区域性购物ap
2023-06-05
自建app团队需要几个人
自建app团队在现在这个移动互联网时代已经成为越来越多企业、个人或团队的选择。但是在组建自建app团队之前,需要仔细思考团队的人数和成员的构成,确定一个合适的小团队规模,才能取得事半功倍的效果。一、团队组成在组建自建app团队的时候,需要根据项目的不同需要
2023-06-05
自己做网购app
随着互联网技术的不断发展,网购已经成为了人们的一种生活方式。为了更好地满足人们的购物需求,很多企业开发了网购app。如果你对此感兴趣,想自己做一个网购app,可以参考以下步骤。第一步,确定需求在开始设计网购app之前,你需要确定它的基本功能、目标用户和优势
2023-06-05
自己做书的app有哪些
现在随着数字化时代的到来,自己制作和出版书籍越来越方便。在移动端,自己制作书籍的app也应运而生,为用户提供便捷的自助出版服务。下面就为大家介绍几款自己做书的app。1. 有道云笔记有道云笔记是一款非常不错的自助出版软件,不仅支持在电脑端编辑和制作电子书,
2023-06-05
自己做主题的app有哪些免费
在技术飞速发展的今天,制作自己的APP已经成为了许多开发者或爱好者的追求,下面介绍几个可以免费使用的制作APP的平台。1. Appy PieAppy Pie 是一个完全免费建立应用程序的自助服务平台。它通过简单的拖放方式,可以自定义建立应用程序,包括图形界
2023-06-05
自己做一个通信app
要做一个通信App,首先需要了解一些基本原理和技术。在通信领域,最常见的技术就是Socket和TCP/IP协议。这两个技术是相互依存的,本身并没有冲突。但是在应用上,通常使用Socket来搭建网络连接,再通过TCP/IP协议来传输数据。Socket的原理是
2023-06-05
自己制作题库app
自己制作题库App,可以提高自己的编程能力,让自己更快速、更好的实现自己的想法。制作一个题库App的方式可以很多,以下是一种基本的思路:第一步,选定开发语言和平台:在开发语言上,最常用的就是Java、Objective-C、Swift和C++等。而平台方面
2023-06-05
自贡直销app开发技术
自贡直销业务是指直接将产品或服务销售给最终用户的业务模式,主要通过个人销售代表或团队来进行推广和销售,从而实现销售提成和奖励。为了更好地扩展销售渠道和提高销售业绩,自贡许多直销企业已经开始投资开发直销app。直销app开发的核心是建立一个全方位的移动端销售
2023-06-05
让普通人自己也能开发app
在现代科技发展的时代,我们使用各种APP已经成为生活中不可或缺的一部分。但是,创造一个APP对于普通人来说可能是一件颇具挑战的事情,毕竟涉及到的知识领域比较广泛,例如编程语言、UI/UX设计、数据库操作等等。不过,随着社区和各种在线资源的发展,普通人也可以
2023-05-30
如何自己开发app手机网站
随着智能手机的普及,手机网站和移动应用已成为现代人生活中不可或缺的一部分。越来越多的人开始考虑开发自己的手机网站或应用,这不仅可以提升自己的技能水平,还可以实现自己的需求。下面,我将从原理和详细介绍两个方面,教大家如何开发自己的手机网站或应用。一、原理要了
2023-05-30
零费用零基础自建app
自建app已经不是什么新鲜事了,自建app是指自己在没有编程知识的情况下,利用一些app制作平台,做出自己的应用程序。本文将介绍一些零基础、零费用的自建app的原理以及详细过程。首先,我们需要选一个好的自建app平台。当然可以找一些收费的app平台,但本文
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1