自己做一个计算器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
在当今互联网普及的时代,电脑越来越成为人们日常生活中不可或缺的一部分,而电脑App的开发也成为了一种非常热门的趋势。自建电脑App的原理主要是借助电脑软件开发工具,通过编写代码实现,下面将详细介绍。1.选择开发工具首先,你需要选择一个适合自己的电脑软件开发
2023-06-05
自己怎样做一个微信app软件
要自己开发一个微信App软件,首先需要了解微信开放平台的相关接口和开发流程。微信开放平台提供了丰富的接口,包括登录、支付、分享、推送等。开发者只需要按照要求注册开放平台账号,创建应用,获取AppID和AppSecret等信息,就可以开始开发微信App了。以
2023-06-05
自己开发一个app可以吗知乎
自己开发一个app是完全可以的。目前,移动互联网早已经成为各个行业的重要载体,而移动应用程序(app)已经成为人们生活中不可或缺的一部分。因此,对于想要开发自己的app的人来说,了解一些基本的原理和技巧非常必要。首先,要开发一个app,你需要掌握一些基本的
2023-06-05
自己开发app岂不更好
自己开发APP是一种非常有意义和有挑战性的事情,具有很多优点和好处。下面就详细介绍一下自己开发APP的原理和方法。一、原理开发APP的技术栈一般有以下几个方向:UI设计、前端开发、后端开发、数据库管理、安全防护等。开发APP的过程通常包括需求分析、UI设计
2023-06-05
自己制作漫画的app
自己制作漫画的app可以让爱好漫画的人实现自己的创作梦想,让每一个人都能够轻松创作自己的漫画作品。下面简单介绍一下自己制作漫画app的原理和流程。一、制作软件的选择制作自己的漫画作品需要一个方便、易用的工具,因此选择一个适合自己的制作软件是很重要的,目前比
2023-06-05
有什么app可以做自己的虚拟软件
在现代的软件开发领域中,虚拟化技术越来越受到关注。通过虚拟化技术,开发者可以在同一台物理机上运行多个虚拟机,并在其中运行不同的操作系统和应用程序。这种技术不仅可以提高硬件的利用率,还能够为企业和开发者带来更高的灵活性和可靠性。现在,有很多工具可以帮助开发者
2023-06-05
用拾染app做的自制书
拾染App是一款非常好用的移动应用程序,可以让用户轻松地将照片转换成可打印的手绘画作品。这个应用程序的主要功能是让你选择自己想要绘制的照片,并将其转化成一幅独特的手绘作品。在这篇文章中,我将介绍如何用拾染App制作自己的自制书。首先,我们需要准备好一些照片
2023-06-05
如果自己做一个手机app
要自己做一个手机app,需要掌握一定的编程技能和应用开发的知识。下面我们从编程语言、平台选择、开发流程等方面介绍一下制作手机app的原理和详细步骤。一、编程语言选择要制作手机app,首先需要选择一种适合的编程语言。目前市面上主流的编程语言有Java、Swi
2023-05-30
美食外卖自家做的app
美食外卖自家做的app是一个非常流行的应用程序,它帮助人们在家里做各种美食,同时提供了许多外卖菜谱和统一的点餐服务。基本原理是使用流程控制软件引擎及视觉化呈现获得各文化区域和场合的特色美食菜品,通过定制的评分和推荐算法,以提供更加个性化和精准的美食选择服务
2023-05-30
开发app的为什么自己不做
开发一个APP需要非常丰富的知识和复杂的技能组合。一个APP包含多种技术,程序和设计上的成分,这些都需要不同领域的专业知识。以下是几个原因,说明为什么自己不做APP。1. 复杂性开发一个APP是一项极其复杂的任务。即便是一个极为简单的APP,也需要经过良好
2023-05-30
方便提醒自己每天做什么的app
在当今快节奏的生活中,人们常常感到时间不够用,尤其是在日程安排方面,常常会出现错过事项的情况。为此,许多人开始使用提醒事项的app来提醒自己需要完成的工作,使得生活变得更加方便。一般来说,提醒事项app的原理是根据用户设定的时间和内容,在特定时间点向用户发
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1