自己做一个计算器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的几个步骤和相关工具。第一步,明确需要实现的功能在开始开发之前,我们需要明确需要实现的功能,比如朗读文本、支持音频播放、支持调节朗
2023-06-05
最近想自己开发一款app
随着智能手机的普及和移动互联网的快速发展,移动应用成为了人们日常生活中不可或缺的一部分。在这个大趋势下,越来越多的人开始尝试开发自己的移动应用,以满足个性化的需求或者在商业领域中寻找突破口。开发一款移动应用的原理其实很简单,主要分为以下几个步骤:一、确定开
2023-06-05
自己怎么开发一个app
开发app是现代软件工程的一项重要内容,对于想要在移动互联网领域有所创新的开发者和企业而言,学会如何开发一款app非常重要。本篇文章将介绍如何开发一个app,涉及到的主要步骤包括需求分析、UI设计、编程与测试,通过这些步骤将您的创意变成一个实用的软件产品。
2023-06-05
自己可以开发app小程序吗知乎
开发APP或小程序需要掌握编程技术和相关平台的开发环境。如果您已经具备编程基础,就可以开始探索开发自己的APP或小程序。APP开发一般是基于移动端开发,需要掌握Java、Swift等编程语言和Android、IOS等操作系统的开发环境。而小程序则是基于微信
2023-06-05
自贡app定制开发程序是什么
自贡app定制开发程序,简单来说就是根据客户的需求,由专业的开发团队对客户的APP进行个性化设计和开发。下面将从程序原理和详细介绍两个方面对自贡app定制开发程序进行解析。一、程序原理1.需求分析首先,定制APP的开发过程从需求分析开始。在这个阶段内,分析
2023-06-05
自定义制作红包封面app
现今社会,红包已经成为了一种重要的社交礼俗,无论是过年拜访亲朋好友还是生日聚餐,红包的出现都能增加气氛。而随着科技的发展,现在已经可以通过手机来发送和接收红包。不少人在使用红包软件时,都想要自定义自己的红包封面,以增加与友人的互动感。本文将介绍如何制作红包
2023-06-05
怎么自己做一本书app
要自己做一本书APP,需要了解基础的应用开发知识和基本的编程语言。首先要明确,做一本书APP需要满足两个条件:一是需要有一定的技术基础,具备编程能力;二是需要有一定的图书资源,有有效的版权保障。下面将分步骤介绍如何自己做一本书APP:第一步:确定需求和功能
2023-06-05
想要自己开发一款app应该学习什么
要开发一款App,需要掌握以下几个方面的知识:1. 编程语言App开发离不开编程语言,常用的有Java、Swift、Objective-c、Kotlin、C#等,其中Java为安卓系统的主流语言,Swift和Objective-c为iOS系统的主流语言,K
2023-05-31
然后自己做该app
如果你想要自己做一个类似的APP,你需要做以下几个步骤:1.确定APP的目标用户和功能首先,你需要确定APP的目标用户和所要实现的功能。例如,如果你想要做一个学习英语的APP,目标用户可能是学生或者想要提高英语水平的人群,所要实现的功能可能包括单词书、语法
2023-05-30
可以自建服务器的app
自建服务器是现在互联网领域非常流行的一个趋势,使用自己的服务器可以提高系统的灵活性以及安全性,也可以实现更多的自定义需求。而现在,通过一些开源的软件和应用程序,大家可以非常容易地搭建出自己的服务器。下面,本文将为大家详细介绍如何在手机或电脑上自建服务器的a
2023-05-30
ios开发 app自动升级
在目前的移动互联网时代,应用程序自动升级已成为不可或缺的功能之一。用户可以保持他们的应用程序处于最新状态,而开发者可以快速实现功能和修复错误。在本文中,我们将介绍 iOS 开发的自动升级原理和实现方式。自动升级原理iOS 平台的应用程序是通过 App St
2023-05-30
app开发能实现自动返现吗
自动返现是指APP系统在消费者完成一笔订单后,将一定比例的佣金直接返还到消费者的账户中。这种方式可以让消费者感到实惠,同时也提高了APP的用户粘性。实现自动返现需要以下三个要素:商家或供应商、消费者和APP平台。这三个要素之间的交互,需要通过复杂的技术实现
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1