自己做一个计算器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上的词汇太过广泛,无法具体满足自己的需求;而一些app上的词汇又过于简单,无法满足高级英语学习者的
2023-06-05
自己做一个单机app要多少钱
要开发一个单机应用不一定需要花费很多钱,不过具体费用与应用的复杂程度、功能需求、设计等因素有关。以下是一些步骤和费用的详细说明。1.需求分析:首先,我们需要分析所需的应用程序应该实现哪些功能,这个步骤非常重要,因为这会影响应用的开发成本和时间。如果需求分析
2023-06-05
自己如何开发自己用的app
要开发自己用的app,需要掌握一些基本的知识和技能。第一步:确定需求和功能在开发一个app之前,首先需要明确自己需要开发的app的功能和需求。这些需求可以是自己的实际需求,也可以是市场上缺失的需求。只有明确了需求,才能有针对性地开发。第二步:选择开发平台和
2023-06-05
自己可以开发淘宝客app
淘宝客App是指基于淘宝客平台开发的移动端应用程序。与PC网站或手机浏览器相比,淘宝客App不仅可以更好地呈现商品信息和交易服务,还可以提供更加便捷、智能、个性化的消费体验,比如商品推荐、客户端专享优惠等。对于网站博主或电商从业者而言,开发淘宝客App的好
2023-06-05
有没有可以自己制作单词本的app
现在很多人在学习语言时,都会需要一个自己的单词本。这个单词本需要错综复杂的功能,例如添加单词、背诵单词、测试单词认知度等等。而如今,我们有许多应用程序可以提供这些功能。在本文中,我将向您介绍如何使用现有的应用程序制作自己的单词本。首先,我们需要明确的是,我
2023-06-05
外包app还是自己开发
外包APP与自研APP一直是业界经常讨论的一个话题。选择外包APP还是自己开发APP很大程度上取决于企业的资源和需求。下面我们将从原理和详细介绍两个方面来探讨外包APP和自研APP的不同之处。1. 原理外包APP是由外部团队或个人(通常是第三方公司)进行开
2023-05-31
手机怎么自己制作app软件
自制APP软件是现在越来越多人想要尝试的事情,因为它可以让你将自己的创意变成现实,让你的生活更加方便,也可以通过销售自己的软件获得一定的经济收益。下面是手机自己制作APP软件的详细介绍。一、 确定你的应用想法自制APP软件的第一步是明确你要做的应用想法。你
2023-05-31
哪个股票app能自建公式
在股票投资中,自建公式是一项非常重要的工作。通过自建公式,投资者可以快速获取并分析需要的数据,更好地理解股票市场的运行。目前市面上有很多股票应用程序(App),其中有一些可以实现自建公式的功能。下面我们就来介绍一下其中的几款。1. 雪球股票雪球股票是一款十
2023-05-30
鸿蒙系统的app是自己开发的吗
鸿蒙系统(HarmonyOS)是华为自主研发的分布式操作系统。华为提出了“全场景智慧化战略”后,开始加大对鸿蒙系统的研发投入,旨在将其打造成一款全球领先、智能化的操作系统。在鸿蒙系统中,应用程序(App)使用的是HarmoyOS的全新应用框架,该框架包括了
2023-05-30
公司做个app自己用需要多少钱一个月
要评估开发一个企业应用程序所需的成本,需要考虑多个因素,包括应用程序的功能,用户量,应用程序的类型,平台,添加和维护功能的时间和频率等。开发应用程序的成本首先,企业需要考虑开发应用程序的成本。这涉及到开发人员的薪水,租赁或购买软件和硬件,以及任何额外的支出
2023-05-30
安卓手机多开app能自己制作吗
安卓手机多开app是一种常见的需求,它可以让用户在同一台手机上同时使用多个同款app,避免因为账号不同或其他原因无法同时登录多个账号的问题。尤其是在社交软件、游戏等应用中,多开app可以大大提高使用效率和便利性。虽然市场上也有很多可以实现多开的软件,但是你
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1