自己做一个计算器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进行拍摄呢?下面,笔者将从原理、功能和使用场景三方面进行介绍。一、原理随着智能手机的普及,自媒体
2023-06-05
自己开发线上购物app
随着互联网的普及和技术的不断创新,线上购物已经成为了人们越来越依赖的一种购物方式。而为了更好地满足用户需求,开发一款属于自己的线上购物app也成了不少人的期望。那么,自己开发线上购物app的原理或详细介绍是怎样的呢?以下我将进行介绍。一、需求分析在开发一款
2023-06-05
自己开发手机app需要多久
开发一款手机App需要多久的时间取决于多种因素,例如应用程序的功能、复杂度、设计要求以及可用的技术和资金等。在本文中,我们将详细介绍从规划到发布应用程序所需的流程和时间。第一阶段:市场调研和规划(1-2周)在开发一款手机应用程序之前,必须进行市场调研,以确
2023-06-05
自己开发app应用市场软件
APP应用市场是手机应用程序的一种分发渠道,随着移动互联网的发展,越来越多的人开始使用移动设备进行工作、学习和生活。在这个背景下,APP市场的需求也越来越大,越来越多的开发者开始开发自己的APP应用。本文将介绍一种自己开发APP应用市场软件的原理及详细步骤
2023-06-05
制作运营自己app
制作和运营自己的手机应用程序(APP)需要一些技能和知识,但是在互联网时代,即使没有过去技术方面的背景,也不算是不可能。在本文中,我将分享我了解到的一些基本原理和详细的介绍来帮助想要制作和运营自己的APP的人。1. 基本原理在制作和运营一个成功的APP之前
2023-06-05
泰安自己做app难吗
随着智能手机普及,移动互联网应用也越来越丰富多样化。现在很多人可能会想要自己做一款移动应用,在泰安自己做APP是可行的,但需要一定的技术和人力成本。以下是相关的原理和详细介绍:一、APP的基本原理:APP即移动应用程序 (Application Progr
2023-05-31
什么app可以自己制作主题
当前,各个移动平台开发的应用程序数量已经非常的庞大,用户对于应用程序使用体验和界面设计也越来越注重,这也导致了应用程序的主题化设计越来越受到用户的关注。由此,一些不同领域的开发人员纷纷推出各种应用以满足用户的需求,其中就包括了自己制作主题的应用。自己制作主
2023-05-31
社交app是自己开发还是外包
社交类APP是近年来非常火热的一种应用程序。人们利用社交APP可以简单、方便地联络朋友和家人、分享照片和视频、获得最新的消息和内容等等。但是,对于一个想要开发一个社交APP的个人或团队来说,他们需要考虑到一个关键问题:自己开发还是外包?下面我们来详细介绍自
2023-05-31
如何自己制作一个app应用
随着智能手机的普及,app应用的需求越来越高,很多人想自己制作一个app应用来实现自己的创意和想法。本文将详细介绍自己制作一个app应用的步骤和原理。制作一个app应用的核心是程序代码的编写,而程序代码的编写主要涉及以下几个方面:1.选择编程语言目前,比较
2023-05-30
可以自己动手做饭的app
随着生活水平的提高,现在越来越多的人开始注重自己的饮食健康,也越来越多的人选择自己动手做饭。而针对这一需求,开发一款可以自己动手做饭的app就成了一个非常有市场前景的项目。首先,这个app需要包含以下几个功能模块:1. 菜谱模块:这个模块包含了各种菜品的制
2023-05-30
mac自带app开发
Mac自带App开发是一种快速、简单且兼容性强的开发方式,可为Mac电脑、iPhone、iPad和Apple Watch等设备创建应用。该开发方式提供了一系列的工具和框架,使开发者可以实现各种不同类型的应用程序。开发环境在Mac电脑上,开发者可以利用Xco
2023-05-30
h5可以自己开发app上架苹果吗手机
HTML5是一种标记语言,用于网页结构和内容的编写。随着技术的进步,HTML5也可以用于开发应用程序,并在各种设备上运行,包括桌面电脑,平板电脑和移动设备。如果你想开发一个基于HTML5的应用程序用于iOS或Apple的移动设备,你需要了解几个重要的概念和
2023-05-30
©2015-2021 自建app开发平台 www.appbyme.cn 蜀ICP备17005078号-1